generalized eigenvalue problem using matlab
25 次查看(过去 30 天)
显示 更早的评论
I usematlab to sovle the generalized eigenvalue problem,like A*a = l*B*a,where A is zero and B is a symmetric matrix.
This is a example.
A = zeros(3); B = [1 0.1 0.1;0.1 2 0.1 ;0.1 0.1 3],
using
[V,D] = eig(A,B)
The result is
V = [1 -0.0709 -0.0553;0 0.7089 -0.0262;0 0 0.5787]
and
D = [0 0 0;0 0 0;0 0 0]
In theory V can be any matrix why it is a fixed value in this situation.Tank you
Version :matlab R2013a OS win7 64
1 个评论
Youssef Khmou
2013-12-1
in your example, i obtained V which is upper triangular :
1.0000 -0.0709 -0.0553
0 0.7089 -0.0262
0 0 0.5787
回答(2 个)
Walter Roberson
2013-12-1
The documentation indicates,
[V,D] = eig(A) returns matrix V, whose columns are eigenvectors of A that satisfy A*V = V*D. The eigenvectors in V are scaled so that the 2-norm of each is 1.
2 个评论
Roger Stafford
2013-12-1
Walter, the 'eig' function here is being called with two arguments which means it is solving the generalized eigenvector problem, not [V,D] = eig(A), but [V,D] = eig(A,B), for which the solution has the property
A*V = B*V*D
Zhao has presented it in a highly indeterminate form and is puzzled as to why it gave a specific answer.
Walter Roberson
2013-12-1
Ah yes, I read too quickly. Not enough caffeine yet I guess. The relevant documentation is instead
[V,D] = eig(A,B) and [V,D] = eig(A,B,algorithm) return V as a matrix whose columns are generalized eigenvectors that satisfy A*V = B*V*D. The 2-norm of each eigenvector is not necessarily 1. In this case, D contains the generalized eigenvalues of the pair, (A,B), along the main diagonal.
which doesn't explain that part. But if you look down further under Algorithms, in the description of the general eigenvalue problem,
When you omit the algorithm argument, the eig function selects an algorithm based on the properties of A and B. It uses the 'chol' algorithm for symmetric (Hermitian) A and symmetric (Hermitian) positive definite B. Otherwise, it uses the 'qz' algorithm.
The all-zero matrix would be symmetric so chol is perhaps being chosen.
Roger Stafford
2013-12-1
What would you expect it to do, Zhao? Yes, V could be any 3 x 3 matrix of orthonormal column vectors, so in desperation it has generated one for you out of the infinite number possible. You will note that it gave the eigenvalues correctly. What more can you expect of the poor function under the circumstances?
1 个评论
Roger Stafford
2013-12-1
Correction: The function 'eig' does not promise to return the eigenvectors normalized in the generalized case, and for your problem they are apparently not even orthogonal. Still, what can you expect from such indeterminacy?
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!