Why is jordan() much slower than eig()? Both in symbolic forms
Afficher commentaires plus anciens
I have a sparse matrix (attached), and I want to obtain its Jordan canonical form. I used [V,D]=jordan(sym(A)), and found that this matrix is diagonalizable. So I also tried [V,D]=eig(sym(A)), and found eig() is much faster than jordan(). As they are both in symbolic form, I wonder why this happens.
A further question is that, I want to use the obtained decompostion matrices to conduct stablity analysis, which of the following choices is safer? Or, they are all not safe due to numerical problems?
- [V,D]=jordan(sym(A)); V=eval(V); D=eval(D);
- [V,D]=eig(sym(A)); V=eval(V); D=eval(D);
- [V,D]=jordan(A);
- [V,D]=eig(A);
Thanks!
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Linear Algebra dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!