Wolfram: Recursion

By Xah Lee. Date: . Last updated: .

Nest (Recursion)

Nest

Recursion of a function n times.

Nest[f, x, 3]
(* f[f[f[x]]] *)
NestList

Like Nest but return a list of all steps.

NestList[f, x, 3]
(* {x, f[x], f[f[x]], f[f[f[x]]]} *)

NestWhile

NestWhile

Like Nest, but with a condition when to stop.

NestWhile has a lot options, controlling when to stop, what arguments to feed to the test function. See documentation.

NestWhile[ Function[{x}, x + 1], 1, Function[Mod[#, 5] =!= 0] ]
(* 5 *)
NestWhileList

Like NestWhile but return a list of all steps.

NestWhileList[ Function[{x}, x + 1] , 1, Function[Mod[#, 5] =!=  0] ]
(* {1, 2, 3, 4, 5} *)

FixedPoint (Stop when result is the same)

FixedPoint

Recursion of a function until result no longer changes. Optionally with a max number of steps.

see real life examples:

FixedPointList

Like FixedPoint but return a list of all steps.

Recursion of function with 2 args

Wolfram. Loop, Iteration, Recursion