Solve for x in (A^k)*x=b (sequentially, LU factorization)
古いコメントを表示
Without computing A^k, solve for x in (A^k)*x=b.
A) Sequentially? (Pseudocode)
for n=1:k
x=A\b;
b=x;
end
Is the above process correct?
B) LU factorizaion?
How is this accompished?
採用された回答
その他の回答 (1 件)
Derek O'Connor
2011 年 11 月 28 日
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
Additional Information
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;
end
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).
4 件のコメント
Mark
2011 年 11 月 28 日
Derek O'Connor
2011 年 11 月 28 日
Once you have L, U, and P, then Ax = b is replaced by LUx = Pb. This equation is solved in 2 steps, where y = Ux and c = Pb:
1. Solve Ly = c for y using forward substitution, because L is lower triangular.
2. Solve Ux = y for x using back substitution, because U is upper triangular.
Note y = L^(-1)c and x = U^(-1)y are mathematical statements and are never used to numerically solve these equations.
I think you may need to do some reading and thinking about LU factorization(decomposition).
Take a look at my webpage http://www.derekroconnor.net/NA/na2col.html for a list of textbooks and Section 5 Notes on Numerical Linear Algebra, pages 12, 13, and 21-25.
Or, better still, read the relevant chapter in Cleve Moler's book which is available online at http://www.mathworks.com/moler/
Derek O'Connor
2011 年 11 月 28 日
Oh dear. It has just struck me that this may be a homework problem and I have given the game away.
Sheraline Lawles
2021 年 2 月 22 日
Just a note... sadly, the above link to Derek O'Connor's webpage is no longer active.
カテゴリ
ヘルプ センター および File Exchange で Linear Algebra についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!