Tatooine
|
General Matrix EigenvaluesGEEV computes for an \(n\times n\) real nonsymmetric matrix \(\mA\), the eigenvalues and, optionally, the left and/or right eigenvectors. More...
Functions | |
template<std::floating_point Float> | |
auto | tatooine::lapack::geev (job JOBVL, job JOBVR, int N, Float *A, int LDA, Float *WR, Float *WI, Float *VL, int LDVL, Float *VR, int LDVR, Float *WORK, int LWORK) -> int |
template<std::floating_point Float> | |
auto | tatooine::lapack::geev (job const JOBVL, job const JOBVR, int N, Float *A, int LDA, Float *WR, Float *WI, Float *VL, int LDVL, Float *VR, int LDVR) -> int |
template<std::floating_point Float> | |
auto | tatooine::lapack::geev (job JOBVL, job JOBVR, int N, Float *A, int LDA, std::complex< Float > *W, Float *VL, int LDVL, Float *VR, int LDVR, Float *WORK, int LWORK) -> int |
template<std::floating_point Float> | |
auto | tatooine::lapack::geev (job const JOBVL, job const JOBVR, int N, Float *A, int LDA, std::complex< Float > *W, Float *VL, int LDVL, Float *VR, int LDVR) -> int |
template<std::floating_point Float, size_t N> | |
auto | tatooine::lapack::geev (tensor< Float, N, N > &A, tensor< std::complex< Float >, N > &W) |
template<std::floating_point Float, size_t N> | |
auto | tatooine::lapack::geev_left (tensor< Float, N, N > &A, tensor< std::complex< Float >, N > &W, tensor< Float, N, N > &VL) |
template<std::floating_point Float, size_t N> | |
auto | tatooine::lapack::geev_right (tensor< Float, N, N > &A, tensor< std::complex< Float >, N > &W, tensor< Float, N, N > &VR) |
template<std::floating_point Float, size_t N> | |
auto | tatooine::lapack::geev (tensor< Float, N, N > &A, tensor< std::complex< Float >, N > &W, tensor< Float, N, N > &VL, tensor< Float, N, N > &VR) |
General Matrix Eigenvalues
GEEV computes for an \(n\times n\) real nonsymmetric matrix \(\mA\), the eigenvalues and, optionally, the left and/or right eigenvectors.
The right eigenvector v(j) of \(\mA\) satisfies
\(\mA\cdot \vv(j) = \lambda(j) \cdot \vv(j)\)
where \(\lambda(j)\) is its eigenvalue. The left eigenvector \(\vu(j)\) of \(\mA\) satisfies
\(\vu(j)^\dagger \cdot \mA = \lambda(j) \cdot \vu(j)^\dagger\)
where \(\vu(j)^\dagger\) denotes the conjugate-transpose of \(\vu(j)\).
The computed eigenvectors are normalized to have Euclidean norm equal to \(1\) and largest component real.
auto tatooine::lapack::geev | ( | job const | JOBVL, |
job const | JOBVR, | ||
int | N, | ||
Float * | A, | ||
int | LDA, | ||
Float * | WR, | ||
Float * | WI, | ||
Float * | VL, | ||
int | LDVL, | ||
Float * | VR, | ||
int | LDVR | ||
) | -> int |
auto tatooine::lapack::geev | ( | job const | JOBVL, |
job const | JOBVR, | ||
int | N, | ||
Float * | A, | ||
int | LDA, | ||
std::complex< Float > * | W, | ||
Float * | VL, | ||
int | LDVL, | ||
Float * | VR, | ||
int | LDVR | ||
) | -> int |
auto tatooine::lapack::geev | ( | job | JOBVL, |
job | JOBVR, | ||
int | N, | ||
Float * | A, | ||
int | LDA, | ||
Float * | WR, | ||
Float * | WI, | ||
Float * | VL, | ||
int | LDVL, | ||
Float * | VR, | ||
int | LDVR, | ||
Float * | WORK, | ||
int | LWORK | ||
) | -> int |
auto tatooine::lapack::geev | ( | job | JOBVL, |
job | JOBVR, | ||
int | N, | ||
Float * | A, | ||
int | LDA, | ||
std::complex< Float > * | W, | ||
Float * | VL, | ||
int | LDVL, | ||
Float * | VR, | ||
int | LDVR, | ||
Float * | WORK, | ||
int | LWORK | ||
) | -> int |
auto tatooine::lapack::geev | ( | tensor< Float, N, N > & | A, |
tensor< std::complex< Float >, N > & | W | ||
) |
auto tatooine::lapack::geev | ( | tensor< Float, N, N > & | A, |
tensor< std::complex< Float >, N > & | W, | ||
tensor< Float, N, N > & | VL, | ||
tensor< Float, N, N > & | VR | ||
) |
auto tatooine::lapack::geev_left | ( | tensor< Float, N, N > & | A, |
tensor< std::complex< Float >, N > & | W, | ||
tensor< Float, N, N > & | VL | ||
) |