# IterationList Command

##### Command Categories (All commands)

IterationList( <Function>, <Start Value>, <Number of Iterations> )
Gives you a list of length n+1 (n = number of iterations) whose elements are iterations of the function starting with the start value.
Example: After defining `f(x) = x^2` the command `IterationList(f, 3, 2)` gives you the list {3, 9, 81}.
You can also use this command to define a sequence where ak+1 depends on ak and k. If the input function f is a function of two variables and start value is a list of two numbers {s, as}, then the output list consists of numbers as,as+1,....,as+n where for k>s we have ak+1=f(k, ak).
Example: Define `f(k,a)=(k+1)*a`, which corresponds to the recursive definition of factorial. The command `IterationList(f, {3, 6}, 4)` gives you the list {6, 24, 120, 720, 5040}.

IterationList( <Expression>, <Variable Name>, ..., <Start Values>, <Number of Iterations> )
Gives you a list of length n+1 (n = number of iterations) whose elements are iterations of the expression starting with the given start value. In each iteration the variables in the expression are substituted by last elements of the list. There should be at least as many start values as there are variables, otherwise the result is undefined.
Example: Let A, B be points. The command `IterationList(Midpoint(A, C), C, {B}, 3)` internally computes values C0 = B,   C1 = Midpoint(A, C0),   C2 = Midpoint(A, C1),   C3 = Midpoint(A, C2) and yields {C0, C1, C2, C3}. Hence for A = (0,0) and B = (8,0) the result will be {(8,0), (4,0), (2,0), (1,0)}.
Example: Let f_0, f_1 be numbers. `IterationList(a + b, a, b, {f_0, f_1}, 5)` fills the first 2 values of the resulting list from the start values. Afterwards the values are computed as f2 = f0 + f1,   f3 = f1 + f2,   f4 = f2 + f3,   f5 = f3 + f4. Hence for f_0 = f_1 = 1 the result will be {1, 1, 2, 3, 5, 8}.
Note: Only the first syntax is supported in the CAS currently