Dense nonsymmetric eigensolver, nonfunctional templated inheritance base. More...
#include <dense_eigensolver.h>
Inheritance diagram for syten::DenseEigensolver::DenseEigensolverBase< Type >:
Collaboration diagram for syten::DenseEigensolver::DenseEigensolverBase< Type >:Public Types | |
| typedef Type | Scalar |
| The scalar type to be used. More... | |
Public Attributes | |
| DenseTensor< 1, Scalar > | evalues |
| Vector of eigenvalues, unsorted! More... | |
| DenseTensor< 2, Scalar > | left_evectors |
| Matrix of left eigenvectors, each row contains one complex-conjugated vector. More... | |
| DenseTensor< 2, Scalar > | right_evectors |
| Matrix of right eigenvectors, each row contains one eigenvector. More... | |
Dense nonsymmetric eigensolver, nonfunctional templated inheritance base.
Example usage:
Note that (in the language above), lvecs·mat·rvecs is typically not diag. To achieve this, you need to scale either the rows of lvecs or the columns of rvecs by the factor diag[i,i]/(lvecs·mat·rvecs)[i,i]. This ambiguity is due to the matrix being nonsymmetric in general and hence there being no easy relation between lvecs and rvecs (or their product being orthogonal which would otherwise allow normalisation).