IterationList Command

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.

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).

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.

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)}.

Let f0, f1 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 f0 = f1 = 1 the result will be {1, 1, 2, 3, 5, 8}.

Only the first syntax is supported in the CAS currently

See also Iteration Command.