Solve for x in (A^k)*x=b (sequentially, LU factorization)
22 views (last 30 days)
More Answers (1)
Derek O'Connor on 28 Nov 2011
Contrary to what Walter says, LU Decomposition is a great help in this problem. See my solution notes to Lab Exercise 6 --- LU Decomposition and Matrix Powers
Here is the Golub-Van Loan Algorithm for solving (A^k)*x = b
[L,U,P] = lu(A);
for m = 1:k
y = L\(P*b);
x = U\y;
b = x;
Matlab's backslash operator "\" is clever enough to figure out that y = L\(P*b) is forward substitution, while x = U\y is back substitution, each of which requires O(n^2) work.
Total amount of work is: O(n^3) + k*O(n^2) = O(n^3 + k*n^2)
If k << n then this total is effectively O(n^3).