generalized eigenvalue problem using matlab

25 views (last 30 days)
Zhao
Zhao on 1 Dec 2013
Commented: Youssef Khmou on 1 Dec 2013
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 Comment
Youssef  Khmou
Youssef Khmou on 1 Dec 2013
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

Sign in to comment.

Answers (2)

Walter Roberson
Walter Roberson on 1 Dec 2013
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 Comments
Roger Stafford
Roger Stafford on 1 Dec 2013
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 on 1 Dec 2013
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.

Sign in to comment.


Roger Stafford
Roger Stafford on 1 Dec 2013
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 Comment
Roger Stafford
Roger Stafford on 1 Dec 2013
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?

Sign in to comment.

Categories

Find more on Linear Algebra in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!