WolframLang: Recursion
recursion of function with 1 arg
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
-
Like
Nest
, but with a condition when to stop. NestWhileList
-
Like
NestWhile
but return a list of all steps. FixedPoint
-
Recursion of a function until result no longer changes.
FixedPointList
-
Like
FixedPoint
but return a list of all steps.
recursion of function with 2 args
Fold
-
Similar to reduce in Python and JS: Array.prototype.reduce .
Fold[f, x, {a,b,c}] === f[f[f[x, a], b], c]
FoldList
-
Like
Fold
but return a list of all steps.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. FoldWhileList
-
Like
FoldWhile
but return a list of all steps.