![]() Registered Member ![]()
|
Hi,
i have only been using the Eigen 3.2 library for a few days, but i really like the library. But i have a question: Are the vectors returned using EigenVectors() after creating a ComplexEigenSolver variable, all orthogonal? I looked in the documentation: http://eigen.tuxfamily.org/dox/classEig ... olver.html but i only found the phrase: "The eigenvectors are normalized to have (Euclidean) norm equal to one" but i can't understand if the vectors with the same eigenValue will be orthogonal, or if i have to do this myself (the ones relative to different eigenvalues will obviously be already orthogonal). The question can also be rephrased as: will the matrix returned by EigenVoctors() be an orthogonal matrix? menaning transpose(T) * T = Identity thanks a lot in advance Paolo |
![]() Registered Member ![]()
|
I just found a case in which it is not true,. Is there a function in the Eigen 3.2 library that given some vectors, returns an orthogonal basis of the space generated by those vectors?
thanks again in advance Paolo |
![]() Registered Member ![]()
|
A QR or SVD factorization will do that for you.
ColPivHouseholderQR and JacobiSVD are good first attempts if you don't have any special preference for a method: http://eigen.tuxfamily.org/dox/group__TopicLinearAlgebraDecompositions.html |
![]() Moderator ![]()
|
Note that finding orthogonal eigenvectors is only possible if the matrix is symmetric/hermitian. In the general case, the eigenvectors are only linearly independent.
|
Registered users: Bing [Bot], Google [Bot], Yahoo [Bot]