Registered Member
|
I am using Eigen library with Eclipse C++. I wonder if there is a method or a function that I can use to reorder the Schur factorization X = U*T*U' produced by the RealSchur function and return the reordered Schur matrix TS and the cumulative orthogonal transformation US such that X = US*TS*US'
What I want is something similar to the MATLAB function "ordschur": http://de.mathworks.com/help/matlab/ref/ordschur.html Many thanks in advance |
Moderator
|
There is no such feature yet.
For the record, in case someone is interesting in implementing such a feature, re-ordering a Schur decomposition involves Sylvester-like equations, with a start there: http://eigen.tuxfamily.org/bz/show_bug.cgi?id=840 |
Registered Member
|
After spending quite long time trying to implement the above mentioned feature in Eigen, it is very sad to see that I have to drop Eigen and redo my whole project all over again using a different C++ Linear Algebra Library. It would be very nice if someone in the future implements Schur reordering so Eigen becomes more a "a high-performance" library
|
Moderator
|
Eigen storage is compatible with Lapack, so you might also simply fallback to Lapack for this unique feature only, and keep Eigen for the rest. This essentially boils down to writing a wrapper function taking the U and T matrices and calling Lapack's dtrsen : http://www.netlib.org/lapack/double/dtrsen.f.
|
Registered Member
|
I posted a new topic regarding using LAPACK in Eigen here:
https://forum.kde.org/viewtopic.php?f=74&t=125877 I would really appreciate if anyone could have a look on it and help. Many thanks |
Registered users: Bing [Bot], Google [Bot], Yahoo [Bot]