//! 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);
}
}