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
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
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
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
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
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
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?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Linear Algebra 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by