How do I recursively calculate this equation and generate a list of iteration?
You were correct. NestList
is exactly the function you want to use.
NestList[Dot[A, #]&, x0, 5]
(* {{2, 0}, {1., 1.5}, {-0.4, 2.4}, {-1.64, 2.34}, {-2.224,
1.344}, {-1.9184, -0.1896}} *)
Note that the first argument of NestList
must be a function.
Your can use MatrixPower
for this example:
f[n_] := MatrixPower[{{.5, -.6}, {.75, 1.1}}, n].{2, 0}
f /@ Range[0, 5]
yields:
{{2., 0.}, {1., 1.5}, {-0.4, 2.4}, {-1.64, 2.34}, {-2.224,
1.344}, {-1.9184, -0.1896}}
You can also do this recursively, very nearly as you wrote it:
a[k_] := a[k] = A.a[k - 1];
a[1] = x0;
Now you can calculate any desired iterate by asking for a[5] or a[10]. Or calculate a range of values:
a[#] & /@ Range[5]
{{2, 0}, {1., 1.5}, {-0.4, 2.4}, {-1.64, 2.34}, {-2.224, 1.344}}