compute symbolic eigen values

8 vues (au cours des 30 derniers jours)
Sudipta Sarkar
Sudipta Sarkar le 7 Nov 2020
Commenté : John D'Errico le 9 Nov 2020
I have been trying this code
clear
syms avin positive real
syms avaux positive real
syms avlatch positive real
syms lambda
A=-[1 0 avaux 0 avlatch 0 0 avin;...
avin 1 0 avaux 0 avlatch 0 0;...
0 avin 1 0 avaux 0 avlatch 0;...
0 0 avin 1 0 avaux 0 avlatch;...
avlatch 0 0 avin 1 0 avaux 0;...
0 avlatch 0 0 avin 1 0 avaux;...
avaux 0 avlatch 0 0 avin 1 0;...
0 avaux 0 avlatch 0 0 avin 1];
[V,D]=eig(A);
One of the eigen values is known to be avin/sqrt(2)+avlatch-1+1i(avin/sqrt(2)+avaux), but eig doesn't find it.
in fact if I do
lambda=avin/sqrt(2)+avlatch-1+1i(avin/sqrt(2)+avaux)
detA=det(A-lambda*eye(8,8)) it evaluates to zero, but the eig function can't find that eigen value (or can't properly simplify to that value. Using simplify on the output of eig does not help.

Réponse acceptée

John D'Errico
John D'Errico le 7 Nov 2020
Modifié(e) : John D'Errico le 7 Nov 2020
You need to understand that when you pose a symbolic eigenvalue problem, this is equivalent to finding the roots of the characteristic polynomial. What order is that polynomial? You have an 8x8 matrix. Therefore, the polynomial has degree 8.
What do we know about general polynomial problems of polynomial degree larger than 4?
To quote the very first line:
"In mathematics, the Abel–Ruffini theorem (also known as Abel's impossibility theorem) states that there is no solution in radicals to general polynomial equations of degree five or higher with arbitrary coefficients. Here, general means that the coefficients of the equation are viewed and manipulated as indeterminates."
What do you have? A polynomial of degree 8. Is
8>=5
ans = logical
1
If there were some way in general for eig to solve such a problem, then it would be possible for eig to do something impossible, since any polynomial can be trivially converted to a matrix with the same eigenvalues as the polynomial had roots.
Yes, you can construct problems that have known roots. In fact, apparently here is one, at least if we accept your claim that this matrix has a known eigenvalue. That does not mean eig can find it.
I would point out that if you know the associated eigenvector, then you CAN find the eigenvalue, and you can go the other way too.
For example, I might guess that ones(8,1) is an eigenvector. (It always is on problems like this.)
>> A*ones(8,1)
ans =
- avaux - avin - avlatch - 1
- avaux - avin - avlatch - 1
- avaux - avin - avlatch - 1
- avaux - avin - avlatch - 1
- avaux - avin - avlatch - 1
- avaux - avin - avlatch - 1
- avaux - avin - avlatch - 1
- avaux - avin - avlatch - 1
What a surprise. (Not really.) Does that tell you the associated eigenvalue? I hope so. But having found that eigenvalue, while we could deflate the problem to eleminate that root, the polynomial is still of polynomial degree 7. Still too high.
Just wanting magic to happen is not sufficient. You need a good magic wand, or so I am told. I know of no local vendors who sell them.
  3 commentaires
John D'Errico
John D'Errico le 7 Nov 2020
Modifié(e) : John D'Errico le 7 Nov 2020
Magic potions might work. Should I pour them into my computer? Or just on the keyboard? Ah, wait! I'll have my mouse drink the magic potion, then to become Mighty Mouse! Able to leap tall matrices in a single bound. Faster than a speeding for loop.
Drat. Our cat just ate the mouse. Do magic potions work on a trackpad?
John D'Errico
John D'Errico le 9 Nov 2020
@Sudipta Sarkar - Please don't add answers to your own question just to thank someone for their answer. Use a comment instead. Answer moved to a comment...
"Thank you very much. I do know the eigen vector, and hence could find out the eigen value.
Thank you very much.
Best regards
Sudipta"

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by