solving eigenvalue problem AX=c BX
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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
0 comentarios
Respuestas (1)
Yokesh
el 9 de Mayo de 2019
Editada: Yokesh
el 9 de Mayo de 2019
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 comentario
Ver también
Categorías
Más información sobre Linear Algebra en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!