mxlib
c++ tools for analyzing astronomical data and other tasks by Jared R. Males. [git repo]
|
Interfaces to Lapack and BLAS for Eigen-like arrays. More...
Interfaces to Lapack and BLAS for Eigen-like arrays.
Definition in file eigenLapack.hpp.
Go to the source code of this file.
Classes | |
struct | mx::math::syevrMem< floatT > |
A struct to hold the working memory for eigenSYEVR and maintain it between calls if desired. More... | |
Namespaces | |
mx | |
The mxlib c++ namespace. | |
Functions | |
template<typename eigenT1 , typename eigenT2 > | |
void | mx::math::eigenSYRK (eigenT1 &cv, const eigenT2 &ims) |
Calculates the lower triangular part of the covariance matrix of ims. More... | |
template<typename cvT , typename calcT > | |
MXLAPACK_INT | mx::math::eigenSYEVR (Eigen::Array< calcT, Eigen::Dynamic, Eigen::Dynamic > &eigvec, Eigen::Array< calcT, Eigen::Dynamic, Eigen::Dynamic > &eigval, Eigen::Array< cvT, Eigen::Dynamic, Eigen::Dynamic > &X, int ev0=0, int ev1=-1, char UPLO='L', syevrMem< calcT > *mem=0) |
Calculate select eigenvalues and eigenvectors of an Eigen Array. More... | |
template<typename _evCalcT = double, typename eigenT , typename eigenT1 > | |
MXLAPACK_INT | mx::math::calcKLModes (eigenT &klModes, eigenT &cv, const eigenT1 &Rims, int n_modes=0, syevrMem< _evCalcT > *mem=0, double *t_eigenv=nullptr, double *t_klim=nullptr) |
Calculate the K-L modes, or principle components, given a covariance matrix. More... | |
template<typename dataT > | |
MXLAPACK_INT | mx::math::eigenGESDD (Eigen::Array< dataT,-1,-1 > &U, Eigen::Array< dataT,-1,-1 > &S, Eigen::Array< dataT,-1,-1 > &VT, Eigen::Array< dataT,-1,-1 > &A) |
Compute the SVD of an Eigen::Array using LAPACK's xgesdd. More... | |
template<typename dataT > | |
int | mx::math::eigenPseudoInverse (Eigen::Array< dataT, -1, -1 > &PInv, dataT &condition, int &nRejected, Eigen::Array< dataT, -1, -1 > &U, Eigen::Array< dataT, -1, -1 > &S, Eigen::Array< dataT, -1, -1 > &VT, Eigen::Array< dataT, -1, -1 > &A, dataT &maxCondition, dataT alpha=0, int interact=MX_PINV_NO_INTERACT) |
Calculate the pseudo-inverse of a patrix using the SVD. More... | |
template<typename dataT > | |
int | mx::math::eigenPseudoInverse (Eigen::Array< dataT, -1, -1 > &PInv, dataT &condition, int &nRejected, Eigen::Array< dataT, -1, -1 > &A, dataT &maxCondition, dataT alpha=0, int interact=MX_PINV_NO_INTERACT) |
Calculate the pseudo-inverse of a matrix using the SVD. More... | |