//! More...
Functions | |
void | lapack::sgetrf_ (int *m, int *n, float *a, int *lda, int *ipiv, int *info) |
void | lapack::dgetrf_ (int *m, int *n, double *a, int *lda, int *ipiv, int *info) |
void | lapack::cgetrf_ (int *m, int *n, void *a, int *lda, int *ipiv, int *info) |
void | lapack::zgetrf_ (int *m, int *n, void *a, int *lda, int *ipiv, int *info) |
void | lapack::sgetri_ (int *n, float *a, int *lda, int *ipiv, float *work, int *lwork, int *info) |
void | lapack::dgetri_ (int *n, double *a, int *lda, int *ipiv, double *work, int *lwork, int *info) |
void | lapack::cgetri_ (int *n, void *a, int *lda, int *ipiv, void *work, int *lwork, int *info) |
void | lapack::zgetri_ (int *n, void *a, int *lda, int *ipiv, void *work, int *lwork, int *info) |
void | lapack::ssyev_ (char *jobz, char *uplo, int *n, float *a, int *lda, float *w, float *work, int *lwork, int *info) |
void | lapack::dsyev_ (char *jobz, char *uplo, int *n, double *a, int *lda, double *w, double *work, int *lwork, int *info) |
void | lapack::cheev_ (char *jobz, char *uplo, int *n, void *a, int *lda, float *w, void *work, int *lwork, float *rwork, int *info) |
void | lapack::zheev_ (char *jobz, char *uplo, int *n, void *a, int *lda, double *w, void *work, int *lwork, double *rwork, int *info) |
void | lapack::sgeev_ (char *jobvl, char *jobvr, int *n, float *a, int *lda, float *wr, float *wi, float *vl, int *ldvl, float *vr, int *ldvr, float *work, int *lwork, int *info) |
void | lapack::dgeev_ (char *jobvl, char *jobvr, int *n, double *a, int *lda, double *wr, double *wi, double *vl, int *ldvl, double *vr, int *ldvr, double *work, int *lwork, int *info) |
void | lapack::cgeev_ (char *jobvr, char *jobvl, int *n, void *a, int *lda, void *w, void *vl, int *ldvl, void *vr, int *ldvr, void *work, int *lwork, float *rwork, int *info) |
void | lapack::zgeev_ (char *jobvl, char *jobvr, int *n, void *a, int *lda, void *w, void *vl, int *ldvl, void *vr, int *ldvr, void *work, int *lwork, double *rwork, int *info) |
void | lapack::spotrf_ (char *uplo, int *n, float *a, int *lda, int *info) |
void | lapack::dpotrf_ (char *uplo, int *n, double *a, int *lda, int *info) |
void | lapack::cpotrf_ (char *uplo, int *n, void *a, int *lda, int *info) |
void | lapack::zpotrf_ (char *uplo, int *n, void *a, int *lda, int *info) |
void | lapack::sgeqrf_ (int *m, int *n, float *a, int *lda, float *tau, float *work, int *lwork, int *info) |
void | lapack::dgeqrf_ (int *m, int *n, double *a, int *lda, double *tau, double *work, int *lwork, int *info) |
void | lapack::cgeqrf_ (int *m, int *n, void *a, int *lda, void *tau, void *work, int *lwork, int *info) |
void | lapack::zgeqrf_ (int *m, int *n, void *a, int *lda, void *tau, void *work, int *lwork, int *info) |
void | lapack::sorgqr_ (int *m, int *n, int *k, float *a, int *lda, float *tau, float *work, int *lwork, int *info) |
void | lapack::dorgqr_ (int *m, int *n, int *k, double *a, int *lda, double *tau, double *work, int *lwork, int *info) |
void | lapack::cungqr_ (int *m, int *n, int *k, void *a, int *lda, void *tau, void *work, int *lwork, int *info) |
void | lapack::zungqr_ (int *m, int *n, int *k, void *a, int *lda, void *tau, void *work, int *lwork, int *info) |
void | lapack::sgesvd_ (char *jobu, char *jobvt, int *m, int *n, float *a, int *lda, float *s, float *u, int *ldu, float *vt, int *ldvt, float *work, int *lwork, int *info) |
void | lapack::dgesvd_ (char *jobu, char *jobvt, int *m, int *n, double *a, int *lda, double *s, double *u, int *ldu, double *vt, int *ldvt, double *work, int *lwork, int *info) |
void | lapack::cgesvd_ (char *jobu, char *jobvt, int *m, int *n, void *a, int *lda, float *s, void *u, int *ldu, void *vt, int *ldvt, void *work, int *lwork, float *rwork, int *info) |
void | lapack::zgesvd_ (char *jobu, char *jobvt, int *m, int *n, void *a, int *lda, double *s, void *u, int *ldu, void *vt, int *ldvt, void *work, int *lwork, double *rwork, int *info) |
void | lapack::sgesv_ (int *n, int *nrhs, float *a, int *lda, int *ipiv, float *b, int *ldb, int *info) |
void | lapack::dgesv_ (int *n, int *nrhs, double *a, int *lda, int *ipiv, double *b, int *ldb, int *info) |
void | lapack::cgesv_ (int *n, int *nrhs, void *a, int *lda, int *ipiv, void *b, int *ldb, int *info) |
void | lapack::zgesv_ (int *n, int *nrhs, void *a, int *lda, int *ipiv, void *b, int *ldb, int *info) |
void | lapack::sgels_ (char *trans, int *m, int *n, int *nrhs, float *a, int *lda, float *b, int *ldb, float *work, int *lwork, int *info) |
void | lapack::dgels_ (char *trans, int *m, int *n, int *nrhs, double *a, int *lda, double *b, int *ldb, double *work, int *lwork, int *info) |
void | lapack::cgels_ (char *trans, int *m, int *n, int *nrhs, void *a, int *lda, void *b, int *ldb, void *work, int *lwork, int *info) |
void | lapack::zgels_ (char *trans, int *m, int *n, int *nrhs, void *a, int *lda, void *b, int *ldb, void *work, int *lwork, int *info) |
template<typename eT > | |
void | lapack::getrf_ (int *m, int *n, eT *a, int *lda, int *ipiv, int *info) |
template<typename eT > | |
void | lapack::getri_ (int *n, eT *a, int *lda, int *ipiv, eT *work, int *lwork, int *info) |
template<typename eT > | |
void | lapack::syev_ (char *jobz, char *uplo, int *n, eT *a, int *lda, eT *w, eT *work, int *lwork, int *info) |
template<typename eT > | |
void | lapack::heev_ (char *jobz, char *uplo, int *n, eT *a, int *lda, typename eT::value_type *w, eT *work, int *lwork, typename eT::value_type *rwork, int *info) |
template<typename eT > | |
void | lapack::geev_ (char *jobvl, char *jobvr, int *n, eT *a, int *lda, eT *wr, eT *wi, eT *vl, int *ldvl, eT *vr, int *ldvr, eT *work, int *lwork, int *info) |
template<typename eT > | |
void | lapack::cx_geev_ (char *jobvl, char *jobvr, int *n, eT *a, int *lda, eT *w, eT *vl, int *ldvl, eT *vr, int *ldvr, eT *work, int *lwork, typename eT::value_type *rwork, int *info) |
template<typename eT > | |
void | lapack::potrf_ (char *uplo, int *n, eT *a, int *lda, int *info) |
template<typename eT > | |
void | lapack::geqrf_ (int *m, int *n, eT *a, int *lda, eT *tau, eT *work, int *lwork, int *info) |
template<typename eT > | |
void | lapack::orgqr_ (int *m, int *n, int *k, eT *a, int *lda, eT *tau, eT *work, int *lwork, int *info) |
template<typename eT > | |
void | lapack::ungqr_ (int *m, int *n, int *k, eT *a, int *lda, eT *tau, eT *work, int *lwork, int *info) |
template<typename eT > | |
void | lapack::gesvd_ (char *jobu, char *jobvt, int *m, int *n, eT *a, int *lda, eT *s, eT *u, int *ldu, eT *vt, int *ldvt, eT *work, int *lwork, int *info) |
template<typename T > | |
void | lapack::cx_gesvd_ (char *jobu, char *jobvt, int *m, int *n, std::complex< T > *a, int *lda, T *s, std::complex< T > *u, int *ldu, std::complex< T > *vt, int *ldvt, std::complex< T > *work, int *lwork, T *rwork, int *info) |
template<typename eT > | |
void | lapack::gesv_ (int *n, int *nrhs, eT *a, int *lda, int *ipiv, eT *b, int *ldb, int *info) |
template<typename eT > | |
void | lapack::gels_ (char *trans, int *m, int *n, int *nrhs, eT *a, int *lda, eT *b, int *ldb, eT *work, int *lwork, int *info) |
//!
void lapack::sgetrf_ | ( | int * | m, | |
int * | n, | |||
float * | a, | |||
int * | lda, | |||
int * | ipiv, | |||
int * | info | |||
) |
Referenced by lapack::getrf_().
void lapack::dgetrf_ | ( | int * | m, | |
int * | n, | |||
double * | a, | |||
int * | lda, | |||
int * | ipiv, | |||
int * | info | |||
) |
Referenced by lapack::getrf_().
void lapack::cgetrf_ | ( | int * | m, | |
int * | n, | |||
void * | a, | |||
int * | lda, | |||
int * | ipiv, | |||
int * | info | |||
) |
Referenced by lapack::getrf_().
void lapack::zgetrf_ | ( | int * | m, | |
int * | n, | |||
void * | a, | |||
int * | lda, | |||
int * | ipiv, | |||
int * | info | |||
) |
Referenced by lapack::getrf_().
void lapack::sgetri_ | ( | int * | n, | |
float * | a, | |||
int * | lda, | |||
int * | ipiv, | |||
float * | work, | |||
int * | lwork, | |||
int * | info | |||
) |
Referenced by lapack::getri_().
void lapack::dgetri_ | ( | int * | n, | |
double * | a, | |||
int * | lda, | |||
int * | ipiv, | |||
double * | work, | |||
int * | lwork, | |||
int * | info | |||
) |
Referenced by lapack::getri_().
void lapack::cgetri_ | ( | int * | n, | |
void * | a, | |||
int * | lda, | |||
int * | ipiv, | |||
void * | work, | |||
int * | lwork, | |||
int * | info | |||
) |
Referenced by lapack::getri_().
void lapack::zgetri_ | ( | int * | n, | |
void * | a, | |||
int * | lda, | |||
int * | ipiv, | |||
void * | work, | |||
int * | lwork, | |||
int * | info | |||
) |
Referenced by lapack::getri_().
void lapack::ssyev_ | ( | char * | jobz, | |
char * | uplo, | |||
int * | n, | |||
float * | a, | |||
int * | lda, | |||
float * | w, | |||
float * | work, | |||
int * | lwork, | |||
int * | info | |||
) |
Referenced by lapack::syev_().
void lapack::dsyev_ | ( | char * | jobz, | |
char * | uplo, | |||
int * | n, | |||
double * | a, | |||
int * | lda, | |||
double * | w, | |||
double * | work, | |||
int * | lwork, | |||
int * | info | |||
) |
Referenced by lapack::syev_().
void lapack::cheev_ | ( | char * | jobz, | |
char * | uplo, | |||
int * | n, | |||
void * | a, | |||
int * | lda, | |||
float * | w, | |||
void * | work, | |||
int * | lwork, | |||
float * | rwork, | |||
int * | info | |||
) |
Referenced by lapack::heev_().
void lapack::zheev_ | ( | char * | jobz, | |
char * | uplo, | |||
int * | n, | |||
void * | a, | |||
int * | lda, | |||
double * | w, | |||
void * | work, | |||
int * | lwork, | |||
double * | rwork, | |||
int * | info | |||
) |
Referenced by lapack::heev_().
void lapack::sgeev_ | ( | char * | jobvl, | |
char * | jobvr, | |||
int * | n, | |||
float * | a, | |||
int * | lda, | |||
float * | wr, | |||
float * | wi, | |||
float * | vl, | |||
int * | ldvl, | |||
float * | vr, | |||
int * | ldvr, | |||
float * | work, | |||
int * | lwork, | |||
int * | info | |||
) |
Referenced by lapack::geev_().
void lapack::dgeev_ | ( | char * | jobvl, | |
char * | jobvr, | |||
int * | n, | |||
double * | a, | |||
int * | lda, | |||
double * | wr, | |||
double * | wi, | |||
double * | vl, | |||
int * | ldvl, | |||
double * | vr, | |||
int * | ldvr, | |||
double * | work, | |||
int * | lwork, | |||
int * | info | |||
) |
Referenced by lapack::geev_().
void lapack::cgeev_ | ( | char * | jobvr, | |
char * | jobvl, | |||
int * | n, | |||
void * | a, | |||
int * | lda, | |||
void * | w, | |||
void * | vl, | |||
int * | ldvl, | |||
void * | vr, | |||
int * | ldvr, | |||
void * | work, | |||
int * | lwork, | |||
float * | rwork, | |||
int * | info | |||
) |
Referenced by lapack::cx_geev_().
void lapack::zgeev_ | ( | char * | jobvl, | |
char * | jobvr, | |||
int * | n, | |||
void * | a, | |||
int * | lda, | |||
void * | w, | |||
void * | vl, | |||
int * | ldvl, | |||
void * | vr, | |||
int * | ldvr, | |||
void * | work, | |||
int * | lwork, | |||
double * | rwork, | |||
int * | info | |||
) |
Referenced by lapack::cx_geev_().
void lapack::spotrf_ | ( | char * | uplo, | |
int * | n, | |||
float * | a, | |||
int * | lda, | |||
int * | info | |||
) |
Referenced by lapack::potrf_().
void lapack::dpotrf_ | ( | char * | uplo, | |
int * | n, | |||
double * | a, | |||
int * | lda, | |||
int * | info | |||
) |
Referenced by lapack::potrf_().
void lapack::cpotrf_ | ( | char * | uplo, | |
int * | n, | |||
void * | a, | |||
int * | lda, | |||
int * | info | |||
) |
Referenced by lapack::potrf_().
void lapack::zpotrf_ | ( | char * | uplo, | |
int * | n, | |||
void * | a, | |||
int * | lda, | |||
int * | info | |||
) |
Referenced by lapack::potrf_().
void lapack::sgeqrf_ | ( | int * | m, | |
int * | n, | |||
float * | a, | |||
int * | lda, | |||
float * | tau, | |||
float * | work, | |||
int * | lwork, | |||
int * | info | |||
) |
Referenced by lapack::geqrf_().
void lapack::dgeqrf_ | ( | int * | m, | |
int * | n, | |||
double * | a, | |||
int * | lda, | |||
double * | tau, | |||
double * | work, | |||
int * | lwork, | |||
int * | info | |||
) |
Referenced by lapack::geqrf_().
void lapack::cgeqrf_ | ( | int * | m, | |
int * | n, | |||
void * | a, | |||
int * | lda, | |||
void * | tau, | |||
void * | work, | |||
int * | lwork, | |||
int * | info | |||
) |
Referenced by lapack::geqrf_().
void lapack::zgeqrf_ | ( | int * | m, | |
int * | n, | |||
void * | a, | |||
int * | lda, | |||
void * | tau, | |||
void * | work, | |||
int * | lwork, | |||
int * | info | |||
) |
Referenced by lapack::geqrf_().
void lapack::sorgqr_ | ( | int * | m, | |
int * | n, | |||
int * | k, | |||
float * | a, | |||
int * | lda, | |||
float * | tau, | |||
float * | work, | |||
int * | lwork, | |||
int * | info | |||
) |
Referenced by lapack::orgqr_().
void lapack::dorgqr_ | ( | int * | m, | |
int * | n, | |||
int * | k, | |||
double * | a, | |||
int * | lda, | |||
double * | tau, | |||
double * | work, | |||
int * | lwork, | |||
int * | info | |||
) |
Referenced by lapack::orgqr_().
void lapack::cungqr_ | ( | int * | m, | |
int * | n, | |||
int * | k, | |||
void * | a, | |||
int * | lda, | |||
void * | tau, | |||
void * | work, | |||
int * | lwork, | |||
int * | info | |||
) |
Referenced by lapack::ungqr_().
void lapack::zungqr_ | ( | int * | m, | |
int * | n, | |||
int * | k, | |||
void * | a, | |||
int * | lda, | |||
void * | tau, | |||
void * | work, | |||
int * | lwork, | |||
int * | info | |||
) |
Referenced by lapack::ungqr_().
void lapack::sgesvd_ | ( | char * | jobu, | |
char * | jobvt, | |||
int * | m, | |||
int * | n, | |||
float * | a, | |||
int * | lda, | |||
float * | s, | |||
float * | u, | |||
int * | ldu, | |||
float * | vt, | |||
int * | ldvt, | |||
float * | work, | |||
int * | lwork, | |||
int * | info | |||
) |
Referenced by lapack::gesvd_().
void lapack::dgesvd_ | ( | char * | jobu, | |
char * | jobvt, | |||
int * | m, | |||
int * | n, | |||
double * | a, | |||
int * | lda, | |||
double * | s, | |||
double * | u, | |||
int * | ldu, | |||
double * | vt, | |||
int * | ldvt, | |||
double * | work, | |||
int * | lwork, | |||
int * | info | |||
) |
Referenced by lapack::gesvd_().
void lapack::cgesvd_ | ( | char * | jobu, | |
char * | jobvt, | |||
int * | m, | |||
int * | n, | |||
void * | a, | |||
int * | lda, | |||
float * | s, | |||
void * | u, | |||
int * | ldu, | |||
void * | vt, | |||
int * | ldvt, | |||
void * | work, | |||
int * | lwork, | |||
float * | rwork, | |||
int * | info | |||
) |
Referenced by lapack::cx_gesvd_().
void lapack::zgesvd_ | ( | char * | jobu, | |
char * | jobvt, | |||
int * | m, | |||
int * | n, | |||
void * | a, | |||
int * | lda, | |||
double * | s, | |||
void * | u, | |||
int * | ldu, | |||
void * | vt, | |||
int * | ldvt, | |||
void * | work, | |||
int * | lwork, | |||
double * | rwork, | |||
int * | info | |||
) |
Referenced by lapack::cx_gesvd_().
void lapack::sgesv_ | ( | int * | n, | |
int * | nrhs, | |||
float * | a, | |||
int * | lda, | |||
int * | ipiv, | |||
float * | b, | |||
int * | ldb, | |||
int * | info | |||
) |
Referenced by lapack::gesv_().
void lapack::dgesv_ | ( | int * | n, | |
int * | nrhs, | |||
double * | a, | |||
int * | lda, | |||
int * | ipiv, | |||
double * | b, | |||
int * | ldb, | |||
int * | info | |||
) |
Referenced by lapack::gesv_().
void lapack::cgesv_ | ( | int * | n, | |
int * | nrhs, | |||
void * | a, | |||
int * | lda, | |||
int * | ipiv, | |||
void * | b, | |||
int * | ldb, | |||
int * | info | |||
) |
Referenced by lapack::gesv_().
void lapack::zgesv_ | ( | int * | n, | |
int * | nrhs, | |||
void * | a, | |||
int * | lda, | |||
int * | ipiv, | |||
void * | b, | |||
int * | ldb, | |||
int * | info | |||
) |
Referenced by lapack::gesv_().
void lapack::sgels_ | ( | char * | trans, | |
int * | m, | |||
int * | n, | |||
int * | nrhs, | |||
float * | a, | |||
int * | lda, | |||
float * | b, | |||
int * | ldb, | |||
float * | work, | |||
int * | lwork, | |||
int * | info | |||
) |
Referenced by lapack::gels_().
void lapack::dgels_ | ( | char * | trans, | |
int * | m, | |||
int * | n, | |||
int * | nrhs, | |||
double * | a, | |||
int * | lda, | |||
double * | b, | |||
int * | ldb, | |||
double * | work, | |||
int * | lwork, | |||
int * | info | |||
) |
Referenced by lapack::gels_().
void lapack::cgels_ | ( | char * | trans, | |
int * | m, | |||
int * | n, | |||
int * | nrhs, | |||
void * | a, | |||
int * | lda, | |||
void * | b, | |||
int * | ldb, | |||
void * | work, | |||
int * | lwork, | |||
int * | info | |||
) |
Referenced by lapack::gels_().
void lapack::zgels_ | ( | char * | trans, | |
int * | m, | |||
int * | n, | |||
int * | nrhs, | |||
void * | a, | |||
int * | lda, | |||
void * | b, | |||
int * | ldb, | |||
void * | work, | |||
int * | lwork, | |||
int * | info | |||
) |
Referenced by lapack::gels_().
void lapack::getrf_ | ( | int * | m, | |
int * | n, | |||
eT * | a, | |||
int * | lda, | |||
int * | ipiv, | |||
int * | info | |||
) | [inline] |
Definition at line 107 of file lapack_proto.hpp.
References lapack::cgetrf_(), lapack::dgetrf_(), lapack::sgetrf_(), and lapack::zgetrf_().
Referenced by auxlib::det(), auxlib::inv_inplace(), auxlib::inv_noalias(), auxlib::log_det(), and auxlib::lu().
{ arma_type_check<is_supported_blas_type<eT>::value == false>::apply(); if(is_float<eT>::value == true) { typedef float T; sgetrf_(m, n, (T*)a, lda, ipiv, info); } else if(is_double<eT>::value == true) { typedef double T; dgetrf_(m, n, (T*)a, lda, ipiv, info); } else if(is_supported_complex_float<eT>::value == true) { typedef std::complex<float> T; cgetrf_(m, n, (T*)a, lda, ipiv, info); } else if(is_supported_complex_double<eT>::value == true) { typedef std::complex<double> T; zgetrf_(m, n, (T*)a, lda, ipiv, info); } }
void lapack::getri_ | ( | int * | n, | |
eT * | a, | |||
int * | lda, | |||
int * | ipiv, | |||
eT * | work, | |||
int * | lwork, | |||
int * | info | |||
) | [inline] |
Definition at line 141 of file lapack_proto.hpp.
References lapack::cgetri_(), lapack::dgetri_(), lapack::sgetri_(), and lapack::zgetri_().
Referenced by auxlib::inv_inplace(), and auxlib::inv_noalias().
{ arma_type_check<is_supported_blas_type<eT>::value == false>::apply(); if(is_float<eT>::value == true) { typedef float T; sgetri_(n, (T*)a, lda, ipiv, (T*)work, lwork, info); } else if(is_double<eT>::value == true) { typedef double T; dgetri_(n, (T*)a, lda, ipiv, (T*)work, lwork, info); } else if(is_supported_complex_float<eT>::value == true) { typedef std::complex<float> T; cgetri_(n, (T*)a, lda, ipiv, (T*)work, lwork, info); } else if(is_supported_complex_double<eT>::value == true) { typedef std::complex<double> T; zgetri_(n, (T*)a, lda, ipiv, (T*)work, lwork, info); } }
void lapack::syev_ | ( | char * | jobz, | |
char * | uplo, | |||
int * | n, | |||
eT * | a, | |||
int * | lda, | |||
eT * | w, | |||
eT * | work, | |||
int * | lwork, | |||
int * | info | |||
) | [inline] |
Definition at line 175 of file lapack_proto.hpp.
References lapack::dsyev_(), and lapack::ssyev_().
Referenced by auxlib::eig_sym().
{ arma_type_check<is_supported_blas_type<eT>::value == false>::apply(); if(is_float<eT>::value == true) { typedef float T; ssyev_(jobz, uplo, n, (T*)a, lda, (T*)w, (T*)work, lwork, info); } else if(is_double<eT>::value == true) { typedef double T; dsyev_(jobz, uplo, n, (T*)a, lda, (T*)w, (T*)work, lwork, info); } }
void lapack::heev_ | ( | char * | jobz, | |
char * | uplo, | |||
int * | n, | |||
eT * | a, | |||
int * | lda, | |||
typename eT::value_type * | w, | |||
eT * | work, | |||
int * | lwork, | |||
typename eT::value_type * | rwork, | |||
int * | info | |||
) | [inline] |
Definition at line 198 of file lapack_proto.hpp.
References lapack::cheev_(), and lapack::zheev_().
Referenced by auxlib::eig_sym().
{ arma_type_check<is_supported_blas_type<eT>::value == false>::apply(); if(is_supported_complex_float<eT>::value == true) { typedef float T; typedef typename std::complex<T> cx_T; cheev_(jobz, uplo, n, (cx_T*)a, lda, (T*)w, (cx_T*)work, lwork, (T*)rwork, info); } else if(is_supported_complex_double<eT>::value == true) { typedef double T; typedef typename std::complex<T> cx_T; zheev_(jobz, uplo, n, (cx_T*)a, lda, (T*)w, (cx_T*)work, lwork, (T*)rwork, info); } }
void lapack::geev_ | ( | char * | jobvl, | |
char * | jobvr, | |||
int * | n, | |||
eT * | a, | |||
int * | lda, | |||
eT * | wr, | |||
eT * | wi, | |||
eT * | vl, | |||
int * | ldvl, | |||
eT * | vr, | |||
int * | ldvr, | |||
eT * | work, | |||
int * | lwork, | |||
int * | info | |||
) | [inline] |
Definition at line 227 of file lapack_proto.hpp.
References lapack::dgeev_(), and lapack::sgeev_().
Referenced by auxlib::eig_gen().
{ arma_type_check<is_supported_blas_type<eT>::value == false>::apply(); if(is_float<eT>::value == true) { typedef float T; sgeev_(jobvl, jobvr, n, (T*)a, lda, (T*)wr, (T*)wi, (T*)vl, ldvl, (T*)vr, ldvr, (T*)work, lwork, info); } else if(is_double<eT>::value == true) { typedef double T; dgeev_(jobvl, jobvr, n, (T*)a, lda, (T*)wr, (T*)wi, (T*)vl, ldvl, (T*)vr, ldvr, (T*)work, lwork, info); } }
void lapack::cx_geev_ | ( | char * | jobvl, | |
char * | jobvr, | |||
int * | n, | |||
eT * | a, | |||
int * | lda, | |||
eT * | w, | |||
eT * | vl, | |||
int * | ldvl, | |||
eT * | vr, | |||
int * | ldvr, | |||
eT * | work, | |||
int * | lwork, | |||
typename eT::value_type * | rwork, | |||
int * | info | |||
) | [inline] |
Definition at line 255 of file lapack_proto.hpp.
References lapack::cgeev_(), and lapack::zgeev_().
Referenced by auxlib::eig_gen().
{ arma_type_check<is_supported_blas_type<eT>::value == false>::apply(); if(is_supported_complex_float<eT>::value == true) { typedef float T; typedef typename std::complex<T> cx_T; cgeev_(jobvl, jobvr, n, (cx_T*)a, lda, (cx_T*)w, (cx_T*)vl, ldvl, (cx_T*)vr, ldvr, (cx_T*)work, lwork, (T*)rwork, info); } else if(is_supported_complex_double<eT>::value == true) { typedef double T; typedef typename std::complex<T> cx_T; zgeev_(jobvl, jobvr, n, (cx_T*)a, lda, (cx_T*)w, (cx_T*)vl, ldvl, (cx_T*)vr, ldvr, (cx_T*)work, lwork, (T*)rwork, info); } }
void lapack::potrf_ | ( | char * | uplo, | |
int * | n, | |||
eT * | a, | |||
int * | lda, | |||
int * | info | |||
) | [inline] |
Definition at line 287 of file lapack_proto.hpp.
References lapack::cpotrf_(), lapack::dpotrf_(), lapack::spotrf_(), and lapack::zpotrf_().
Referenced by auxlib::chol().
{ arma_type_check<is_supported_blas_type<eT>::value == false>::apply(); if(is_float<eT>::value == true) { typedef float T; spotrf_(uplo, n, (T*)a, lda, info); } else if(is_double<eT>::value == true) { typedef double T; dpotrf_(uplo, n, (T*)a, lda, info); } else if(is_supported_complex_float<eT>::value == true) { typedef std::complex<float> T; cpotrf_(uplo, n, (T*)a, lda, info); } else if(is_supported_complex_double<eT>::value == true) { typedef std::complex<double> T; zpotrf_(uplo, n, (T*)a, lda, info); } }
void lapack::geqrf_ | ( | int * | m, | |
int * | n, | |||
eT * | a, | |||
int * | lda, | |||
eT * | tau, | |||
eT * | work, | |||
int * | lwork, | |||
int * | info | |||
) | [inline] |
Definition at line 322 of file lapack_proto.hpp.
References lapack::cgeqrf_(), lapack::dgeqrf_(), lapack::sgeqrf_(), and lapack::zgeqrf_().
Referenced by auxlib::qr().
{ arma_type_check<is_supported_blas_type<eT>::value == false>::apply(); if(is_float<eT>::value == true) { typedef float T; sgeqrf_(m, n, (T*)a, lda, (T*)tau, (T*)work, lwork, info); } else if(is_double<eT>::value == true) { typedef double T; dgeqrf_(m, n, (T*)a, lda, (T*)tau, (T*)work, lwork, info); } else if(is_supported_complex_float<eT>::value == true) { typedef std::complex<float> T; cgeqrf_(m, n, (T*)a, lda, (T*)tau, (T*)work, lwork, info); } else if(is_supported_complex_double<eT>::value == true) { typedef std::complex<double> T; zgeqrf_(m, n, (T*)a, lda, (T*)tau, (T*)work, lwork, info); } }
void lapack::orgqr_ | ( | int * | m, | |
int * | n, | |||
int * | k, | |||
eT * | a, | |||
int * | lda, | |||
eT * | tau, | |||
eT * | work, | |||
int * | lwork, | |||
int * | info | |||
) | [inline] |
Definition at line 357 of file lapack_proto.hpp.
References lapack::dorgqr_(), and lapack::sorgqr_().
Referenced by auxlib::qr().
{ arma_type_check<is_supported_blas_type<eT>::value == false>::apply(); if(is_float<eT>::value == true) { typedef float T; sorgqr_(m, n, k, (T*)a, lda, (T*)tau, (T*)work, lwork, info); } else if(is_double<eT>::value == true) { typedef double T; dorgqr_(m, n, k, (T*)a, lda, (T*)tau, (T*)work, lwork, info); } }
void lapack::ungqr_ | ( | int * | m, | |
int * | n, | |||
int * | k, | |||
eT * | a, | |||
int * | lda, | |||
eT * | tau, | |||
eT * | work, | |||
int * | lwork, | |||
int * | info | |||
) | [inline] |
Definition at line 379 of file lapack_proto.hpp.
References lapack::cungqr_(), and lapack::zungqr_().
Referenced by auxlib::qr().
{ arma_type_check<is_supported_blas_type<eT>::value == false>::apply(); if(is_supported_complex_float<eT>::value == true) { typedef float T; cungqr_(m, n, k, (T*)a, lda, (T*)tau, (T*)work, lwork, info); } else if(is_supported_complex_double<eT>::value == true) { typedef double T; zungqr_(m, n, k, (T*)a, lda, (T*)tau, (T*)work, lwork, info); } }
void lapack::gesvd_ | ( | char * | jobu, | |
char * | jobvt, | |||
int * | m, | |||
int * | n, | |||
eT * | a, | |||
int * | lda, | |||
eT * | s, | |||
eT * | u, | |||
int * | ldu, | |||
eT * | vt, | |||
int * | ldvt, | |||
eT * | work, | |||
int * | lwork, | |||
int * | info | |||
) | [inline] |
Definition at line 401 of file lapack_proto.hpp.
References lapack::dgesvd_(), and lapack::sgesvd_().
{ arma_type_check<is_supported_blas_type<eT>::value == false>::apply(); if(is_float<eT>::value == true) { typedef float T; sgesvd_(jobu, jobvt, m, n, (T*)a, lda, (T*)s, (T*)u, ldu, (T*)vt, ldvt, (T*)work, lwork, info); } else if(is_double<eT>::value == true) { typedef double T; dgesvd_(jobu, jobvt, m, n, (T*)a, lda, (T*)s, (T*)u, ldu, (T*)vt, ldvt, (T*)work, lwork, info); } }
void lapack::cx_gesvd_ | ( | char * | jobu, | |
char * | jobvt, | |||
int * | m, | |||
int * | n, | |||
std::complex< T > * | a, | |||
int * | lda, | |||
T * | s, | |||
std::complex< T > * | u, | |||
int * | ldu, | |||
std::complex< T > * | vt, | |||
int * | ldvt, | |||
std::complex< T > * | work, | |||
int * | lwork, | |||
T * | rwork, | |||
int * | info | |||
) | [inline] |
Definition at line 428 of file lapack_proto.hpp.
References lapack::cgesvd_(), and lapack::zgesvd_().
{ arma_type_check<is_supported_blas_type<T>::value == false>::apply(); arma_type_check<is_supported_blas_type< std::complex<T> >::value == false>::apply(); if(is_float<T>::value == true) { typedef float bT; cgesvd_ ( jobu, jobvt, m, n, (std::complex<bT>*)a, lda, (bT*)s, (std::complex<bT>*)u, ldu, (std::complex<bT>*)vt, ldvt, (std::complex<bT>*)work, lwork, (bT*)rwork, info ); } else if(is_double<T>::value == true) { typedef double bT; zgesvd_ ( jobu, jobvt, m, n, (std::complex<bT>*)a, lda, (bT*)s, (std::complex<bT>*)u, ldu, (std::complex<bT>*)vt, ldvt, (std::complex<bT>*)work, lwork, (bT*)rwork, info ); } }
void lapack::gesv_ | ( | int * | n, | |
int * | nrhs, | |||
eT * | a, | |||
int * | lda, | |||
int * | ipiv, | |||
eT * | b, | |||
int * | ldb, | |||
int * | info | |||
) | [inline] |
Definition at line 465 of file lapack_proto.hpp.
References lapack::cgesv_(), lapack::dgesv_(), lapack::sgesv_(), and lapack::zgesv_().
{ arma_type_check<is_supported_blas_type<eT>::value == false>::apply(); if(is_float<eT>::value == true) { typedef float T; sgesv_(n, nrhs, (T*)a, lda, ipiv, (T*)b, ldb, info); } else if(is_double<eT>::value == true) { typedef double T; dgesv_(n, nrhs, (T*)a, lda, ipiv, (T*)b, ldb, info); } else if(is_supported_complex_float<eT>::value == true) { typedef std::complex<float> T; cgesv_(n, nrhs, (T*)a, lda, ipiv, (T*)b, ldb, info); } else if(is_supported_complex_double<eT>::value == true) { typedef std::complex<double> T; zgesv_(n, nrhs, (T*)a, lda, ipiv, (T*)b, ldb, info); } }
void lapack::gels_ | ( | char * | trans, | |
int * | m, | |||
int * | n, | |||
int * | nrhs, | |||
eT * | a, | |||
int * | lda, | |||
eT * | b, | |||
int * | ldb, | |||
eT * | work, | |||
int * | lwork, | |||
int * | info | |||
) | [inline] |
Definition at line 500 of file lapack_proto.hpp.
References lapack::cgels_(), lapack::dgels_(), lapack::sgels_(), and lapack::zgels_().
{ arma_type_check<is_supported_blas_type<eT>::value == false>::apply(); if(is_float<eT>::value == true) { typedef float T; sgels_(trans, m, n, nrhs, (T*)a, lda, (T*)b, ldb, (T*)work, lwork, info); } else if(is_double<eT>::value == true) { typedef double T; dgels_(trans, m, n, nrhs, (T*)a, lda, (T*)b, ldb, (T*)work, lwork, info); } else if(is_supported_complex_float<eT>::value == true) { typedef std::complex<float> T; cgels_(trans, m, n, nrhs, (T*)a, lda, (T*)b, ldb, (T*)work, lwork, info); } else if(is_supported_complex_double<eT>::value == true) { typedef std::complex<double> T; zgels_(trans, m, n, nrhs, (T*)a, lda, (T*)b, ldb, (T*)work, lwork, info); } }