solving eigenvalue problem AX=c BX

6 ビュー (過去 30 日間)
ahmed kaffel
ahmed kaffel 2013 年 12 月 6 日
コメント済み: sanjlee rathi 2020 年 4 月 7 日
I was wondering to solve a general complex eigenvalue problem AX=c BX for a pencil (A, B) with A and B are complex not symmetric; B not definite positive singular and or defective. If B is singular then we have one, or more, infinite eigenvectors. From qz we can probably see one, or more, nearly zero diagonal elements (beta in the MATLAB 'help qz' notation). When using matlab commands like eig, qz etc.. to solve such ill-posed problem, roundoff error arises from rounding results of floating-point operations during the algorithm.
The complex matrices A and B have size 500x500, and formed by bloc matrices
A=[A1 A1; Zeros(N,N) eye(N)]; B=[zeros(N,N) B2; eye(N) zeros(N,N)]; with A1; A2, B2 are general complex matrices 250x250. B2 has only one row non zero and all other terms of B2 are zero.
A and B are not Hermitian, singular and/or defective with det(B)=0
I look for all the eigenvalues or the first five eigenvalues with the large value of the imaginary part to study stability problem.
when I use qz or eig I get infinite eigenvalues and spurious modes and get message that the matrices are ill conditionned I got this message when using eig or qz
Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = 3.566073e-020.
I would sincerely appreciate your help.
Best regards Ahmed

回答 (1 件)

Yokesh
Yokesh 2019 年 5 月 9 日
編集済み: Yokesh 2019 年 5 月 9 日
warning off MATLAB:nearlySingularMatrix
A = rand(500,500);
B = rand(500,500);
Eig = eigs(A,B,5,'li'); %Outputs 5 Eigenvalues with largest imaginary part
Irrespective of the nature of A and B matrices, this function works just fine. Include the warning off message incase you haven't. Also, I suggest you to take a look at the link here.
  1 件のコメント
sanjlee rathi
sanjlee rathi 2020 年 4 月 7 日
What is the syntax to find smallest real eigenvalue?

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLinear Algebra についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by