|
| bool | EigenM2::SVD (const LMatrixRR *A, LMatrixRR *Sigma, LMatrixRR *U, LMatrixRR *VT) |
| bool | EigenM2::SVD (const LMatrixCC *A, LMatrixRR *Sigma, LMatrixCC *U, LMatrixCC *VT) |
| bool | EigenM2::SVD_divide_conquer (const LMatrixRR *A, LMatrixRR *Sigma, LMatrixRR *U, LMatrixRR *VT) |
| bool | EigenM2::SVD_divide_conquer (const LMatrixCC *A, LMatrixRR *Sigma, LMatrixCC *U, LMatrixCC *VT) |
| bool | EigenM2::eigenvalues (const LMatrixRR *A, LMatrixCC *eigenvals) |
| bool | EigenM2::eigenvalues (const LMatrixCC *A, LMatrixCC *eigenvals) |
| bool | EigenM2::eigenvalues_hermitian (const LMatrixRR *A, LMatrixRR *eigenvals) |
| bool | EigenM2::eigenvalues_hermitian (const LMatrixCC *A, LMatrixRR *eigenvals) |
| bool | EigenM2::eigenvectors (const LMatrixRR *A, LMatrixCC *eigenvals, LMatrixCC *eigenvecs) |
| bool | EigenM2::eigenvectors (const LMatrixCC *A, LMatrixCC *eigenvals, LMatrixCC *eigenvecs) |
| bool | EigenM2::eigenvectors_hermitian (const LMatrixRR *A, LMatrixRR *eigenvals, LMatrixRR *eigenvecs) |
| bool | EigenM2::eigenvectors_hermitian (const LMatrixCC *A, LMatrixRR *eigenvals, LMatrixCC *eigenvecs) |
| bool | EigenM2::least_squares (const LMatrixRR *A, const LMatrixRR *B, LMatrixRR *X) |
| bool | EigenM2::least_squares (const LMatrixCC *A, const LMatrixCC *B, LMatrixCC *X) |
| bool | EigenM2::SVD (const LMatrixRRR *A, LMatrixRRR *Sigma, LMatrixRRR *U, LMatrixRRR *VT) |
| bool | EigenM2::SVD (const LMatrixCCC *A, LMatrixRRR *Sigma, LMatrixCCC *U, LMatrixCCC *VT) |
| bool | EigenM2::SVD_divide_conquer (const LMatrixRRR *A, LMatrixRRR *Sigma, LMatrixRRR *U, LMatrixRRR *VT) |
| bool | EigenM2::SVD_divide_conquer (const LMatrixCCC *A, LMatrixRRR *Sigma, LMatrixCCC *U, LMatrixCCC *VT) |
| bool | EigenM2::eigenvalues (const LMatrixRRR *A, LMatrixCCC *eigenvals) |
| bool | EigenM2::eigenvalues (const LMatrixCCC *A, LMatrixCCC *eigenvals) |
| bool | EigenM2::eigenvalues_hermitian (const LMatrixRRR *A, LMatrixRRR *eigenvals) |
| bool | EigenM2::eigenvalues_hermitian (const LMatrixCCC *A, LMatrixRRR *eigenvals) |
| bool | EigenM2::eigenvectors (const LMatrixRRR *A, LMatrixCCC *eigenvals, LMatrixCCC *eigenvecs) |
| bool | EigenM2::eigenvectors (const LMatrixCCC *A, LMatrixCCC *eigenvals, LMatrixCCC *eigenvecs) |
| bool | EigenM2::eigenvectors_hermitian (const LMatrixRRR *A, LMatrixRRR *eigenvals, LMatrixRRR *eigenvecs) |
| bool | EigenM2::eigenvectors_hermitian (const LMatrixCCC *A, LMatrixRRR *eigenvals, LMatrixCCC *eigenvecs) |
| bool | EigenM2::least_squares (const LMatrixRRR *A, const LMatrixRRR *B, LMatrixRRR *X) |
| bool | EigenM2::least_squares (const LMatrixCCC *A, const LMatrixCCC *B, LMatrixCCC *X) |
EigenM2 namespace — Eigen3-backed SVD / eigenvalues / eigenvectors / least-squares for DMat<R> over RR, CC, RRR, CCC.
- Note
- AI-generated documentation. Verify against the source before relying on it.
Declares aliases LMatrixRR, LMatrixCC, LMatrixRRR, LMatrixCCC over the four DMat<R> instantiations the engine cares about for numerical linear algebra, then a namespace EigenM2 of free-function wrappers — SVD, SVD_divide_conquer, eigenvalues, eigenvalues_hermitian, eigenvectors, eigenvectors_hermitian, least_squares — that operate on those DMat pointers. Each routine returns bool so the engine can surface convergence failures to the M2 user.
All implementations live in eigen.cpp and call into the Eigen3 template library (Eigen's JacobiSVD / BDCSVD / EigenSolver / SelfAdjointEigenSolver, plus mpreal-backed scalars from <unsupported/Eigen/MPRealSupport> for the MPFR-precision RRR / CCC cases). The RR / CC implementations are guarded by #ifdef NO_LAPACK: by default mat-linalg.hpp skips this header and routes hardware-precision SVD / eigen queries to Lapack:: directly; the RRR / CCC overloads are always built. Interval rings RRi / CCi are not yet plumbed through here.
- See also
- lapack.hpp
-
dmat.hpp
-
mat-linalg.hpp
Definition in file eigen.hpp.