|
|
1.1 ! root 1: //Eigenvalue sensitivity example. See section 8 of the Users' Guide. ! 2: B = <3 0 7; 0 2 0; 0 0 1> ! 3: L = <1 0 0; 2 1 0; -3 4 1>, M = L\L' ! 4: A = M*B/M ! 5: A = round(A) ! 6: <X,D> = eig(A) ! 7: long, diag(D), short ! 8: cond(X) ! 9: X = X/diag(X(3,:)), cond(X) ! 10: Y = inv(X'), Y'*A*X ! 11: for j = 1:3, c(j) = norm(Y(:,j))*norm(X(:,j)); ! 12: C ! 13: E = -1.e-6*Y(:,1)*X(:,1)' ! 14: eig(A + .4*E), eig(A + .5*E) ! 15: r = .4; s = .5; ! 16: while s-r > 1.e-14, t = (r+s)/2; d = eig(A+t*E); ... ! 17: if imag(d(1))=0, r = t; else, s = t; ! 18: long, t = r ! 19: A+t*e, eig(A+t*E) ! 20: <X,D> = eig(A+t*E); X = X/diag(X(3,:)) ! 21: short, cond(X)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.