WolframLang: Recursion

By Xah Lee. Date: .

recursion of function with 1 arg

Nest
Recursion of a function n times.

Nest

Nest[f, x, 3] === f[f[f[x]]]
NestList
Like Nest but return a list of all steps.

NestList

NestList[f, x, 3] === {x, f[x], f[f[x]], f[f[f[x]]]}
NestWhile
Like Nest, but with a condition when to stop.

NestWhile

NestWhileList
Like NestWhile but return a list of all steps.

NestWhileList

FixedPoint
Recursion of a function until result no longer changes.

FixedPoint

FixedPointList
Like FixedPoint but return a list of all steps.

FixedPointList

recursion of function with 2 args

Fold
Similar to reduce in Python and JavaScript: Array.prototype.reduce .

Fold

Fold[f, x, {a,b,c}] === f[f[f[x, a], b], c]
FoldList
Like Fold but return a list of all steps.

FoldList

FoldList[f, x, {a,b,c}] === {x, f[x, a], f[f[x, a], b], f[f[f[x, a], b], c]}
FoldWhile
Like Fold but with a condition test to stop.

FoldWhile

FoldWhileList
Like FoldWhile but return a list of all steps.

WolframLang Loop, Iteration, Recursion