Lanczos Iteration function q TlanczosA b k mlengthb
Lanczos Iteration function [q, T]=lanczos(A, b, k) m=length(b); q=zeros(m, k+1); alpha=zeros(k, 1); beta=zeros(k-1, 1); T=zeros(k, k); beta 0=0; q 0=zeros(m, 1); q(: , 1)=b/norm(b); v=A*q(: , 1); alpha(1)=q(: , 1)'*v; v=v-beta 0*q 0 -alpha(1)*q(: , 1); beta(1)=norm(v); q(: , 2)=v/beta(1); for n=2: k v=A*q(: , n); alpha(n)=q(: , n)'*v; v=v-beta(n-1)*q(: , n-1)alpha(n)*q(: , n); beta(n)=norm(v); q(: , n+1)=v/beta(n); end length(alpha) length(beta) T=diag(alpha)+diag(beta(1: k 1), 1)+diag(beta(1: k-1), -1); T(k+1, k)=beta(k); Lanczos Iterations
Lanczos Iteration Q= 0. 3421 0. 4211 0. 3421 -0. 3539 0. 2519 0. 4408 -0. 1795 -0. 6872 -0. 3539 -0. 0862 -0. 5003 -0. 0898 0. 4388 0. 4819 0. 2831 -0. 1017 -0. 7405 -0. 1096 0. 1862 -0. 8354 0. 3002 0. 4488 -0. 2220 0. 4819 0. 2831 -0. 1017 -0. 0224 -0. 2761 -0. 3539 -0. 0862 -0. 5003 -0. 0898 0. 4388 -0. 3539 0. 2519 0. 4408 0. 4488 -0. 0719 -0. 0190 -0. 0749 -0. 2269 0. 4208 -0. 2192 -0. 0749 -0. 8437 0. 4558 0. 0622 -0. 0694 -0. 1141 -0. 8601 0. 0622 0. 1639 H= 14. 5208 0. 8010 0 0. 8010 8. 5564 2. 6233 0 2. 6233 12. 2010 0 0 2. 7747 0 0 0 0 2. 7747 0 7. 7218 0. 0000 10. 3535 0 3. 1405 0 0 0 3. 1405 0 9. 5836 2. 6879 11. 0555 0 2. 6024 A= 10 0 3 0 0 0 3 0 10 0 3 0 10 0 0 3 0 10 b= 13 13 16 16 16 13 13
Minres EXAMPLE: A= 10 0 3 0 0 0 3 0 10 0 3 0 10 0 0 3 0 10 b= 13 13 16 16 16 13 13 Case: n=1 H 1= 14. 5208 0. 8010 y= 2. 6090 Least Square Q 1 = 0. 3421 0. 4211 0. 3421 x 1 = 0. 8926 1. 0985 0. 8926
Minres EXAMPLE: A= 10 0 3 0 0 0 3 0 10 0 3 0 10 0 0 3 0 10 b= 13 13 16 16 16 13 13 Case: n=2 Hi = 14. 5208 0. 8010 8. 5564 0 2. 6233 y= 2. 6287 -0. 2248 Least Square Q 2 = 0. 3421 0. 4211 0. 3421 -0. 3539 0. 4819 0. 1862 0. 4819 -0. 3539 x 2= 0. 9788 0. 9985 1. 0649 0. 9985 0. 9788
Minres x= 0. 8926 1. 0985 0. 8926 0. 9788 0. 9985 1. 0649 0. 9985 0. 9788 1. 0061 0. 9881 0. 9970 1. 0148 0. 9970 0. 9881 1. 0061 1. 0000 1. 0000 0. 0728 0. 0000 relres =res/res 0 1. 0000 0. 2949
Minres
- Slides: 6