generalized eigenvalue problem using matlab

조회 수: 25 (최근 30일)
Zhao
Zhao 2013년 12월 1일
댓글: Youssef Khmou 2013년 12월 1일
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