MADNESS 0.10.1
Namespaces | Macros | Functions | Variables
lapack.cc File Reference

Partial interface from Tensor to LAPACK. More...

#include <madness/madness_config.h>
#include <madness/tensor/tensor.h>
#include <iostream>
#include <algorithm>
#include <madness/tensor/tensor_lapack.h>
#include <madness/tensor/clapack.h>
Include dependency graph for lapack.cc:

Namespaces

namespace  madness
 Namespace for all elements and tools of MADNESS.
 

Macros

#define STATIC
 

Functions

template void madness::cholesky (Tensor< double > &A)
 
template void madness::cholesky (Tensor< double_complex > &A)
 
template<typename T >
void madness::cholesky (Tensor< T > &A)
 Compute the Cholesky factorization.
 
template void madness::geev (const Tensor< double > &A, Tensor< double > &V, Tensor< double_complex > &e)
 
template<typename T >
void madness::geev (const Tensor< T > &A, Tensor< T > &VR, Tensor< std::complex< T > > &e)
 Real non-symmetric or complex non-Hermitian eigenproblem.
 
STATIC void geev_ (const char *jobz, const char *uplo, integer *n, complex_real4 *a, integer *lda, complex_real4 *w, complex_real4 *w_imag, complex_real4 *v, integer *ldv, complex_real4 *vr, integer *ldvr, complex_real4 *work, integer *lwork, integer *info, char_len jobzlen, char_len uplo_len)
 
STATIC void geev_ (const char *jobz, const char *uplo, integer *n, complex_real8 *a, integer *lda, complex_real8 *w, complex_real8 *w_imag, complex_real8 *v, integer *ldv, complex_real8 *vr, integer *ldvr, complex_real8 *work, integer *lwork, integer *info, char_len jobzlen, char_len uplo_len)
 
STATIC void geev_ (const char *jobz, const char *uplo, integer *n, real4 *a, integer *lda, real4 *w_real, real4 *w_imag, real4 *v, integer *ldv, real4 *vr, integer *ldvr, real4 *work, integer *lwork, integer *info, char_len jobzlen, char_len uplo_len)
 
STATIC void geev_ (const char *jobz, const char *uplo, integer *n, real8 *a, integer *lda, real8 *w_real, real8 *w_imag, real8 *v, integer *ldv, real8 *vr, integer *ldvr, real8 *work, integer *lwork, integer *info, char_len jobzlen, char_len uplo_len)
 
template void madness::gelss (const Tensor< double > &a, const Tensor< double > &b, double rcond, Tensor< double > &x, Tensor< Tensor< double >::scalar_type > &s, long &rank, Tensor< Tensor< double >::scalar_type > &sumsq)
 
template void madness::gelss (const Tensor< double_complex > &a, const Tensor< double_complex > &b, double rcond, Tensor< double_complex > &x, Tensor< Tensor< double_complex >::scalar_type > &s, long &rank, Tensor< Tensor< double_complex >::scalar_type > &sumsq)
 
template<typename T >
void madness::gelss (const Tensor< T > &a, const Tensor< T > &b, double rcond, Tensor< T > &x, Tensor< typename Tensor< T >::scalar_type > &s, long &rank, Tensor< typename Tensor< T >::scalar_type > &sumsq)
 Solve Ax = b for general A using the LAPACK *gelss routines.
 
STATIC void gelss_ (integer *m, integer *n, integer *nrhs, double_complex *a, integer *lda, double_complex *b, integer *ldb, double *sOUT, double *rcondIN, integer *rankOUT, double_complex *work, integer *lwork, integer *infoOUT)
 
STATIC void gelss_ (integer *m, integer *n, integer *nrhs, float_complex *a, integer *lda, float_complex *b, integer *ldb, float *sOUT, float *rcondIN, integer *rankOUT, float_complex *work, integer *lwork, integer *infoOUT)
 
STATIC void gelss_ (integer *m, integer *n, integer *nrhs, real4 *a, integer *lda, real4 *b, integer *ldb, real4 *sOUT, real4 *rcondIN, integer *rankOUT, real4 *work, integer *lwork, integer *infoOUT)
 
STATIC void gelss_ (integer *m, integer *n, integer *nrhs, real8 *a, integer *lda, real8 *b, integer *ldb, real8 *sOUT, real8 *rcondIN, integer *rankOUT, real8 *work, integer *lwork, integer *infoOUT)
 
template void madness::geqp3 (Tensor< double > &A, Tensor< double > &tau, Tensor< integer > &jpvt)
 
template void madness::geqp3 (Tensor< double_complex > &A, Tensor< double_complex > &tau, Tensor< integer > &jpvt)
 
template<typename T >
void madness::geqp3 (Tensor< T > &A, Tensor< T > &tau, Tensor< integer > &jpvt)
 Compute the QR factorization.
 
STATIC void geqp3_ (integer *m, integer *n, complex_real4 *a, integer *lda, integer *jpvt, complex_real4 *tau, complex_real4 *work, integer *lwork, integer *infoOUT)
 
STATIC void geqp3_ (integer *m, integer *n, complex_real8 *a, integer *lda, integer *jpvt, complex_real8 *tau, complex_real8 *work, integer *lwork, integer *infoOUT)
 
STATIC void geqp3_ (integer *m, integer *n, real4 *a, integer *lda, integer *jpvt, real4 *tau, real4 *work, integer *lwork, integer *infoOUT)
 
STATIC void geqp3_ (integer *m, integer *n, real8 *a, integer *lda, integer *jpvt, real8 *tau, real8 *work, integer *lwork, integer *infoOUT)
 
template<typename T >
void madness::geqp3_result (Tensor< T > &A, Tensor< T > &tau, Tensor< integer > &jpvt, Tensor< T > &work)
 
STATIC void geqrf_ (integer *m, integer *n, double_complex *a, integer *lda, double_complex *tau, double_complex *work, integer *lwork, integer *infoOUT)
 
STATIC void geqrf_ (integer *m, integer *n, float_complex *a, integer *lda, float_complex *tau, float_complex *work, integer *lwork, integer *infoOUT)
 
STATIC void geqrf_ (integer *m, integer *n, real4 *a, integer *lda, real4 *tau, real4 *work, integer *lwork, integer *infoOUT)
 
STATIC void geqrf_ (integer *m, integer *n, real8 *a, integer *lda, real8 *tau, real8 *work, integer *lwork, integer *infoOUT)
 
template void madness::gesv (const Tensor< double > &a, const Tensor< double > &b, Tensor< double > &x)
 
template void madness::gesv (const Tensor< double_complex > &a, const Tensor< double_complex > &b, Tensor< double_complex > &x)
 
template<typename T >
void madness::gesv (const Tensor< T > &a, const Tensor< T > &b, Tensor< T > &x)
 Solve Ax = b for general A using the LAPACK *gesv routines.
 
STATIC void gesv_ (integer *n, integer *nrhs, double_complex *AT, integer *lda, integer *piv, double_complex *x, integer *ldx, integer *info)
 
STATIC void gesv_ (integer *n, integer *nrhs, float_complex *AT, integer *lda, integer *piv, float_complex *x, integer *ldx, integer *info)
 
STATIC void gesv_ (integer *n, integer *nrhs, real4 *AT, integer *lda, integer *piv, real4 *x, integer *ldx, integer *info)
 
STATIC void gesv_ (integer *n, integer *nrhs, real8 *AT, integer *lda, integer *piv, real8 *x, integer *ldx, integer *info)
 
STATIC void gesvd_ (const char *jobu, const char *jobvt, integer *m, integer *n, complex_real4 *a, integer *lda, real4 *s, complex_real4 *u, integer *ldu, complex_real4 *vt, integer *ldvt, complex_real4 *work, integer *lwork, integer *info, char_len jobulen, char_len jobvtlen)
 
STATIC void gesvd_ (const char *jobu, const char *jobvt, integer *m, integer *n, complex_real8 *a, integer *lda, real8 *s, complex_real8 *u, integer *ldu, complex_real8 *vt, integer *ldvt, complex_real8 *work, integer *lwork, integer *info, char_len jobulen, char_len jobvtlen)
 
STATIC void gesvd_ (const char *jobu, const char *jobvt, integer *m, integer *n, real4 *a, integer *lda, real4 *s, real4 *u, integer *ldu, real4 *vt, integer *ldvt, real4 *work, integer *lwork, integer *info, char_len jobulen, char_len jobvtlen)
 
STATIC void gesvd_ (const char *jobu, const char *jobvt, integer *m, integer *n, real8 *a, integer *lda, real8 *s, real8 *u, integer *ldu, real8 *vt, integer *ldvt, real8 *work, integer *lwork, integer *info, char_len jobulen, char_len jobvtlen)
 
STATIC void getrf_ (integer *m, integer *n, complex_real4 *a, integer *lda, integer *ipiv, integer *info)
 
STATIC void getrf_ (integer *m, integer *n, complex_real8 *a, integer *lda, integer *ipiv, integer *info)
 
STATIC void getrf_ (integer *m, integer *n, real4 *a, integer *lda, integer *ipiv, integer *info)
 
STATIC void getrf_ (integer *m, integer *n, real8 *a, integer *lda, integer *ipiv, integer *info)
 
STATIC void getri_ (integer *n, complex_real4 *a, integer *lda, integer *ipiv, complex_real4 *work, integer *lwork, integer *info)
 
STATIC void getri_ (integer *n, complex_real8 *a, integer *lda, integer *ipiv, complex_real8 *work, integer *lwork, integer *info)
 
STATIC void getri_ (integer *n, real4 *a, integer *lda, integer *ipiv, real4 *work, integer *lwork, integer *info)
 
STATIC void getri_ (integer *n, real8 *a, integer *lda, integer *ipiv, real8 *work, integer *lwork, integer *info)
 
template void madness::ggev (const Tensor< double > &A, Tensor< double > &B, Tensor< double > &V, Tensor< double_complex > &e)
 
template<typename T >
void madness::ggev (const Tensor< T > &A, Tensor< T > &B, Tensor< T > &VR, Tensor< std::complex< T > > &e)
 Generalized real-non-symmetric or complex-non-Hermitian eigenproblem.
 
STATIC void ggev_ (const char *jobl, const char *jobr, integer *n, complex_real4 *a, integer *lda, complex_real4 *b, integer *ldb, complex_real4 *w, complex_real4 *w_imag, complex_real4 *beta, complex_real4 *vl, integer *ldvl, complex_real4 *vr, integer *ldvr, complex_real4 *work, integer *lwork, integer *info, char_len jobzlen, char_len uplo_len)
 
STATIC void ggev_ (const char *jobl, const char *jobr, integer *n, complex_real8 *a, integer *lda, complex_real8 *b, integer *ldb, complex_real8 *w, complex_real8 *w_imag, complex_real8 *beta, complex_real8 *vl, integer *ldvl, complex_real8 *vr, integer *ldvr, complex_real8 *work, integer *lwork, integer *info, char_len jobzlen, char_len uplo_len)
 
STATIC void ggev_ (const char *jobl, const char *jobr, integer *n, real4 *a, integer *lda, real4 *b, integer *ldb, real4 *w_real, real4 *w_imag, real4 *beta, real4 *vl, integer *ldvl, real4 *vr, integer *ldvr, real4 *work, integer *lwork, integer *info, char_len jobzlen, char_len uplo_len)
 
STATIC void ggev_ (const char *jobl, const char *jobr, integer *n, real8 *a, integer *lda, real8 *b, integer *ldb, real8 *w_real, real8 *w_imag, real8 *beta, real8 *vl, integer *ldvl, real8 *vr, integer *ldvr, real8 *work, integer *lwork, integer *info, char_len jobzlen, char_len uplo_len)
 
void madness::init_tensor_lapack ()
 World/MRA initialization calls this before going multithreaded due to static data in dlamch.
 
template Tensor< double > madness::inverse (const Tensor< double > &A)
 
template Tensor< double_complexmadness::inverse (const Tensor< double_complex > &A)
 
template<typename T >
Tensor< Tmadness::inverse (const Tensor< T > &a_in)
 invert general square matrix A
 
template void madness::lq (Tensor< double > &A, Tensor< double > &L)
 
template void madness::lq (Tensor< double_complex > &A, Tensor< double_complex > &L)
 
template<typename T >
void madness::lq (Tensor< T > &A, Tensor< T > &R)
 compute the LQ decomposition of the matrix A = L Q
 
template void madness::lq_result (Tensor< double > &A, Tensor< double > &R, Tensor< double > &tau, Tensor< double > &work, bool do_qr)
 
template void madness::lq_result (Tensor< double_complex > &A, Tensor< double_complex > &R, Tensor< double_complex > &tau, Tensor< double_complex > &work, bool do_qr)
 
template<typename T >
void madness::lq_result (Tensor< T > &A, Tensor< T > &R, Tensor< T > &tau, Tensor< T > &work, bool do_qr)
 compute the LQ decomposition of the matrix A = L Q
 
static void madness::mask_info (integer &info)
 
STATIC Tensor< double > madness::my_conj_transpose (Tensor< double > a)
 
STATIC Tensor< double_complexmadness::my_conj_transpose (Tensor< double_complex > a)
 
STATIC Tensor< float > madness::my_conj_transpose (Tensor< float > a)
 
STATIC Tensor< float_complexmadness::my_conj_transpose (Tensor< float_complex > a)
 
template void madness::orgqr (Tensor< complex_real4 > &A, const Tensor< complex_real4 > &tau)
 
template void madness::orgqr (Tensor< double > &A, const Tensor< double > &tau)
 
template void madness::orgqr (Tensor< double_complex > &A, const Tensor< double_complex > &tau)
 
template void madness::orgqr (Tensor< float > &A, const Tensor< float > &tau)
 
template<typename T >
void madness::orgqr (Tensor< T > &A, const Tensor< T > &tau)
 reconstruct the orthogonal matrix Q (e.g. from QR factorization)
 
STATIC void orgqr_ (integer *m, integer *n, integer *k, complex_real4 *a, integer *lda, complex_real4 *tau, complex_real4 *work, integer *lwork, integer *info)
 
STATIC void orgqr_ (integer *m, integer *n, integer *k, complex_real8 *a, integer *lda, complex_real8 *tau, complex_real8 *work, integer *lwork, integer *info)
 
STATIC void orgqr_ (integer *m, integer *n, integer *k, real4 *a, integer *lda, real4 *tau, real4 *work, integer *lwork, integer *info)
 
STATIC void orgqr_ (integer *m, integer *n, integer *k, real8 *a, integer *lda, real8 *tau, real8 *work, integer *lwork, integer *info)
 
STATIC void potrf_ (const char *UPLO, integer *n, complex_real4 *a, integer *lda, integer *info)
 
STATIC void potrf_ (const char *UPLO, integer *n, complex_real8 *a, integer *lda, integer *info)
 
STATIC void potrf_ (const char *UPLO, integer *n, real4 *a, integer *lda, integer *info)
 
STATIC void potrf_ (const char *UPLO, integer *n, real8 *a, integer *lda, integer *info)
 
STATIC void pstrf_ (const char *UPLO, integer *n, complex_real4 *a, integer *lda, integer *piv, integer *rank, real4 *tol, complex_real4 *work, integer *info)
 
STATIC void pstrf_ (const char *UPLO, integer *n, complex_real8 *a, integer *lda, integer *piv, integer *rank, real8 *tol, complex_real8 *work, integer *info)
 
STATIC void pstrf_ (const char *UPLO, integer *n, real4 *a, integer *lda, integer *piv, integer *rank, real4 *tol, real4 *work, integer *info)
 
STATIC void pstrf_ (const char *UPLO, integer *n, real8 *a, integer *lda, integer *piv, integer *rank, real8 *tol, real8 *work, integer *info)
 
template void madness::qr (Tensor< double > &A, Tensor< double > &R)
 
template void madness::qr (Tensor< double_complex > &A, Tensor< double_complex > &R)
 
template void madness::qr (Tensor< float > &A, Tensor< float > &R)
 
template void madness::qr (Tensor< float_complex > &A, Tensor< float_complex > &R)
 
template<typename T >
void madness::qr (Tensor< T > &A, Tensor< T > &R)
 compute the QR decomposition of the matrix A
 
template void madness::rr_cholesky (Tensor< double > &A, typename Tensor< double >::scalar_type tol, Tensor< integer > &piv, int &rank)
 
template void madness::rr_cholesky (Tensor< double_complex > &A, typename Tensor< double_complex >::scalar_type tol, Tensor< integer > &piv, int &rank)
 
template<typename T >
void madness::rr_cholesky (Tensor< T > &A, typename Tensor< T >::scalar_type tol, Tensor< integer > &piv, int &rank)
 Compute the rank-revealing Cholesky factorization.
 
template void madness::svd (const Tensor< double > &a, Tensor< double > &U, Tensor< Tensor< double >::scalar_type > &s, Tensor< double > &VT)
 
template void madness::svd (const Tensor< double_complex > &a, Tensor< double_complex > &U, Tensor< Tensor< double_complex >::scalar_type > &s, Tensor< double_complex > &VT)
 
template void madness::svd (const Tensor< float > &a, Tensor< float > &U, Tensor< Tensor< float >::scalar_type > &s, Tensor< float > &VT)
 
template void madness::svd (const Tensor< float_complex > &a, Tensor< float_complex > &U, Tensor< Tensor< float_complex >::scalar_type > &s, Tensor< float_complex > &VT)
 
template<typename T >
void madness::svd (const Tensor< T > &a, Tensor< T > &U, Tensor< typename Tensor< T >::scalar_type > &s, Tensor< T > &VT)
 Compute the singluar value decomposition of an n-by-m matrix using *gesvd.
 
template void madness::svd_result (Tensor< double > &a, Tensor< double > &U, Tensor< Tensor< double >::scalar_type > &s, Tensor< double > &VT, Tensor< double > &work)
 
template void madness::svd_result (Tensor< double_complex > &a, Tensor< double_complex > &U, Tensor< Tensor< double_complex >::scalar_type > &s, Tensor< double_complex > &VT, Tensor< double_complex > &work)
 
template void madness::svd_result (Tensor< float > &a, Tensor< float > &U, Tensor< Tensor< float >::scalar_type > &s, Tensor< float > &VT, Tensor< float > &work)
 
template void madness::svd_result (Tensor< float_complex > &a, Tensor< float_complex > &U, Tensor< Tensor< float_complex >::scalar_type > &s, Tensor< float_complex > &VT, Tensor< float_complex > &work)
 
template<typename T >
void madness::svd_result (Tensor< T > &a, Tensor< T > &U, Tensor< typename Tensor< T >::scalar_type > &s, Tensor< T > &VT, Tensor< T > &work)
 same as svd, but it optimizes away the tensor construction: a = U * diag(s) * VT
 
template void madness::syev (const Tensor< double > &A, Tensor< double > &V, Tensor< Tensor< double >::scalar_type > &e)
 
template void madness::syev (const Tensor< double_complex > &A, Tensor< double_complex > &V, Tensor< Tensor< double_complex >::scalar_type > &e)
 
template<typename T >
void madness::syev (const Tensor< T > &A, Tensor< T > &V, Tensor< typename Tensor< T >::scalar_type > &e)
 Real-symmetric or complex-Hermitian eigenproblem.
 
STATIC void syev_ (const char *jobz, const char *uplo, integer *n, complex_real4 *a, integer *lda, real4 *w, complex_real4 *work, integer *lwork, integer *info, char_len jobzlen, char_len uplo_len)
 
STATIC void syev_ (const char *jobz, const char *uplo, integer *n, complex_real8 *a, integer *lda, real8 *w, complex_real8 *work, integer *lwork, integer *info, char_len jobzlen, char_len uplo_len)
 
STATIC void syev_ (const char *jobz, const char *uplo, integer *n, real4 *a, integer *lda, real4 *w, real4 *work, integer *lwork, integer *info, char_len jobzlen, char_len uplo_len)
 
STATIC void syev_ (const char *jobz, const char *uplo, integer *n, real8 *a, integer *lda, real8 *w, real8 *work, integer *lwork, integer *info, char_len jobzlen, char_len uplo_len)
 
template void madness::sygv (const Tensor< double > &A, const Tensor< double > &B, int itype, Tensor< double > &V, Tensor< Tensor< double >::scalar_type > &e)
 
template void madness::sygv (const Tensor< double_complex > &A, const Tensor< double_complex > &B, int itype, Tensor< double_complex > &V, Tensor< Tensor< double_complex >::scalar_type > &e)
 
template<typename T >
void madness::sygv (const Tensor< T > &A, const Tensor< T > &B, int itype, Tensor< T > &V, Tensor< typename Tensor< T >::scalar_type > &e)
 Generalized real-symmetric or complex-Hermitian eigenproblem.
 
STATIC void sygv_ (integer *itype, const char *jobz, const char *uplo, integer *n, complex_real4 *a, integer *lda, complex_real4 *b, integer *ldb, real4 *w, complex_real4 *work, integer *lwork, integer *info, char_len jobzlen, char_len uplo_len)
 
STATIC void sygv_ (integer *itype, const char *jobz, const char *uplo, integer *n, complex_real8 *a, integer *lda, complex_real8 *b, integer *ldb, real8 *w, complex_real8 *work, integer *lwork, integer *info, char_len jobzlen, char_len uplo_len)
 
STATIC void sygv_ (integer *itype, const char *jobz, const char *uplo, integer *n, real4 *a, integer *lda, real4 *b, integer *ldb, real4 *w, real4 *work, integer *lwork, integer *info, char_len jobzlen, char_len uplo_len)
 
STATIC void sygv_ (integer *itype, const char *jobz, const char *uplo, integer *n, real8 *a, integer *lda, real8 *b, integer *ldb, real8 *w, real8 *work, integer *lwork, integer *info, char_len jobzlen, char_len uplo_len)
 
template<typename T >
double madness::test_cholesky (int n)
 
template<typename T >
double madness::test_gelss (int n, int nrhs)
 
template<typename T >
double madness::test_gesv (int n, int nrhs)
 
template<typename T >
double madness::test_inverse (int n)
 Example and test code for interface to LAPACK SVD interfae.
 
template<typename T >
double madness::test_qr ()
 
template<typename T >
double madness::test_rr_cholesky (int n)
 
template<typename T >
double madness::test_svd (int n, int m)
 Example and test code for interface to LAPACK SVD interfae.
 
template<typename T >
double madness::test_syev (int n)
 
template<typename T >
double madness::test_sygv (int n)
 
bool madness::test_tensor_lapack ()
 Test the Tensor-LAPACK interface ... currently always returns true!
 

Variables

double ss1
 
double tt1
 

Detailed Description

Partial interface from Tensor to LAPACK.

Macro Definition Documentation

◆ STATIC

#define STATIC

Function Documentation

◆ geev_() [1/4]

STATIC void geev_ ( const char *  jobz,
const char *  uplo,
integer n,
complex_real4 a,
integer lda,
complex_real4 w,
complex_real4 w_imag,
complex_real4 v,
integer ldv,
complex_real4 vr,
integer ldvr,
complex_real4 work,
integer lwork,
integer info,
char_len  jobzlen,
char_len  uplo_len 
)
inline

◆ geev_() [2/4]

STATIC void geev_ ( const char *  jobz,
const char *  uplo,
integer n,
complex_real8 a,
integer lda,
complex_real8 w,
complex_real8 w_imag,
complex_real8 v,
integer ldv,
complex_real8 vr,
integer ldvr,
complex_real8 work,
integer lwork,
integer info,
char_len  jobzlen,
char_len  uplo_len 
)
inline

◆ geev_() [3/4]

STATIC void geev_ ( const char *  jobz,
const char *  uplo,
integer n,
real4 a,
integer lda,
real4 w_real,
real4 w_imag,
real4 v,
integer ldv,
real4 vr,
integer ldvr,
real4 work,
integer lwork,
integer info,
char_len  jobzlen,
char_len  uplo_len 
)
inline

These oddly-named wrappers enable the generic geev interface to get the correct LAPACK routine based upon the argument type. Internal use only.

References a, sgeev_(), and v.

Referenced by madness::geev().

◆ geev_() [4/4]

STATIC void geev_ ( const char *  jobz,
const char *  uplo,
integer n,
real8 a,
integer lda,
real8 w_real,
real8 w_imag,
real8 v,
integer ldv,
real8 vr,
integer ldvr,
real8 work,
integer lwork,
integer info,
char_len  jobzlen,
char_len  uplo_len 
)
inline

References a, dgeev_(), and v.

◆ gelss_() [1/4]

STATIC void gelss_ ( integer m,
integer n,
integer nrhs,
double_complex a,
integer lda,
double_complex b,
integer ldb,
double *  sOUT,
double *  rcondIN,
integer rankOUT,
double_complex work,
integer lwork,
integer infoOUT 
)
inline

References a, b, m, madness::Tensor< T >::ptr(), and zgelss_().

◆ gelss_() [2/4]

STATIC void gelss_ ( integer m,
integer n,
integer nrhs,
float_complex a,
integer lda,
float_complex b,
integer ldb,
float *  sOUT,
float *  rcondIN,
integer rankOUT,
float_complex work,
integer lwork,
integer infoOUT 
)
inline

References a, b, cgelss_(), m, and madness::Tensor< T >::ptr().

◆ gelss_() [3/4]

STATIC void gelss_ ( integer m,
integer n,
integer nrhs,
real4 a,
integer lda,
real4 b,
integer ldb,
real4 sOUT,
real4 rcondIN,
integer rankOUT,
real4 work,
integer lwork,
integer infoOUT 
)
inline

These oddly-named wrappers enable the generic gelss interface to get the correct LAPACK routine based upon the argument type. Internal use only.

References a, b, m, and sgelss_().

Referenced by madness::gelss().

◆ gelss_() [4/4]

STATIC void gelss_ ( integer m,
integer n,
integer nrhs,
real8 a,
integer lda,
real8 b,
integer ldb,
real8 sOUT,
real8 rcondIN,
integer rankOUT,
real8 work,
integer lwork,
integer infoOUT 
)
inline

References a, b, dgelss_(), and m.

◆ geqp3_() [1/4]

STATIC void geqp3_ ( integer m,
integer n,
complex_real4 a,
integer lda,
integer jpvt,
complex_real4 tau,
complex_real4 work,
integer lwork,
integer infoOUT 
)
inline

◆ geqp3_() [2/4]

STATIC void geqp3_ ( integer m,
integer n,
complex_real8 a,
integer lda,
integer jpvt,
complex_real8 tau,
complex_real8 work,
integer lwork,
integer infoOUT 
)
inline

◆ geqp3_() [3/4]

STATIC void geqp3_ ( integer m,
integer n,
real4 a,
integer lda,
integer jpvt,
real4 tau,
real4 work,
integer lwork,
integer infoOUT 
)
inline

References a, m, and sgeqp3_().

Referenced by madness::geqp3_result().

◆ geqp3_() [4/4]

STATIC void geqp3_ ( integer m,
integer n,
real8 a,
integer lda,
integer jpvt,
real8 tau,
real8 work,
integer lwork,
integer infoOUT 
)
inline

References a, dgeqp3_(), and m.

◆ geqrf_() [1/4]

STATIC void geqrf_ ( integer m,
integer n,
double_complex a,
integer lda,
double_complex tau,
double_complex work,
integer lwork,
integer infoOUT 
)
inline

References a, m, and zgeqrf_().

◆ geqrf_() [2/4]

STATIC void geqrf_ ( integer m,
integer n,
float_complex a,
integer lda,
float_complex tau,
float_complex work,
integer lwork,
integer infoOUT 
)
inline

References a, cgeqrf_(), and m.

◆ geqrf_() [3/4]

STATIC void geqrf_ ( integer m,
integer n,
real4 a,
integer lda,
real4 tau,
real4 work,
integer lwork,
integer infoOUT 
)
inline

These oddly-named wrappers enable the generic geqrf interface to get the correct LAPACK routine based upon the argument type. Internal use only.

References a, m, and sgeqrf_().

Referenced by madness::lq_result().

◆ geqrf_() [4/4]

STATIC void geqrf_ ( integer m,
integer n,
real8 a,
integer lda,
real8 tau,
real8 work,
integer lwork,
integer infoOUT 
)
inline

References a, dgeqrf_(), and m.

◆ gesv_() [1/4]

STATIC void gesv_ ( integer n,
integer nrhs,
double_complex AT,
integer lda,
integer piv,
double_complex x,
integer ldx,
integer info 
)
inline

References zgesv_().

◆ gesv_() [2/4]

STATIC void gesv_ ( integer n,
integer nrhs,
float_complex AT,
integer lda,
integer piv,
float_complex x,
integer ldx,
integer info 
)
inline

References cgesv_().

◆ gesv_() [3/4]

STATIC void gesv_ ( integer n,
integer nrhs,
real4 AT,
integer lda,
integer piv,
real4 x,
integer ldx,
integer info 
)
inline

These oddly-named wrappers enable the generic gesv interface to get the correct LAPACK routine based upon the argument type. Internal use only.

References sgesv_().

Referenced by madness::gesv().

◆ gesv_() [4/4]

STATIC void gesv_ ( integer n,
integer nrhs,
real8 AT,
integer lda,
integer piv,
real8 x,
integer ldx,
integer info 
)
inline

References dgesv_().

◆ gesvd_() [1/4]

STATIC void gesvd_ ( const char *  jobu,
const char *  jobvt,
integer m,
integer n,
complex_real4 a,
integer lda,
real4 s,
complex_real4 u,
integer ldu,
complex_real4 vt,
integer ldvt,
complex_real4 work,
integer lwork,
integer info,
char_len  jobulen,
char_len  jobvtlen 
)
inline

◆ gesvd_() [2/4]

STATIC void gesvd_ ( const char *  jobu,
const char *  jobvt,
integer m,
integer n,
complex_real8 a,
integer lda,
real8 s,
complex_real8 u,
integer ldu,
complex_real8 vt,
integer ldvt,
complex_real8 work,
integer lwork,
integer info,
char_len  jobulen,
char_len  jobvtlen 
)
inline

◆ gesvd_() [3/4]

STATIC void gesvd_ ( const char *  jobu,
const char *  jobvt,
integer m,
integer n,
real4 a,
integer lda,
real4 s,
real4 u,
integer ldu,
real4 vt,
integer ldvt,
real4 work,
integer lwork,
integer info,
char_len  jobulen,
char_len  jobvtlen 
)
inline

These oddly-named wrappers enable the generic svd interface to get the correct LAPACK routine based upon the argument type. Internal use only.

References a, m, sgesvd_(), and u().

Referenced by madness::svd(), and madness::svd_result().

◆ gesvd_() [4/4]

STATIC void gesvd_ ( const char *  jobu,
const char *  jobvt,
integer m,
integer n,
real8 a,
integer lda,
real8 s,
real8 u,
integer ldu,
real8 vt,
integer ldvt,
real8 work,
integer lwork,
integer info,
char_len  jobulen,
char_len  jobvtlen 
)
inline

References a, dgesvd_(), m, and u().

◆ getrf_() [1/4]

STATIC void getrf_ ( integer m,
integer n,
complex_real4 a,
integer lda,
integer ipiv,
integer info 
)
inline

References a, cgetrf_(), and m.

◆ getrf_() [2/4]

STATIC void getrf_ ( integer m,
integer n,
complex_real8 a,
integer lda,
integer ipiv,
integer info 
)
inline

References a, m, and zgetrf_().

◆ getrf_() [3/4]

STATIC void getrf_ ( integer m,
integer n,
real4 a,
integer lda,
integer ipiv,
integer info 
)
inline

These oddly-named wrappers enable the generic triangular factor to get the correct LAPACK routine based upon the argument type. Internal use only.

References a, m, and sgetrf_().

Referenced by madness::inverse().

◆ getrf_() [4/4]

STATIC void getrf_ ( integer m,
integer n,
real8 a,
integer lda,
integer ipiv,
integer info 
)
inline

References a, dgetrf_(), and m.

◆ getri_() [1/4]

STATIC void getri_ ( integer n,
complex_real4 a,
integer lda,
integer ipiv,
complex_real4 work,
integer lwork,
integer info 
)
inline

References a, and cgetri_().

◆ getri_() [2/4]

STATIC void getri_ ( integer n,
complex_real8 a,
integer lda,
integer ipiv,
complex_real8 work,
integer lwork,
integer info 
)
inline

References a, and zgetri_().

◆ getri_() [3/4]

STATIC void getri_ ( integer n,
real4 a,
integer lda,
integer ipiv,
real4 work,
integer lwork,
integer info 
)
inline

These oddly-named wrappers enable the generic triangular inverse to get the correct LAPACK routine based upon the argument type. Internal use only.

References a, and sgetri_().

Referenced by madness::inverse().

◆ getri_() [4/4]

STATIC void getri_ ( integer n,
real8 a,
integer lda,
integer ipiv,
real8 work,
integer lwork,
integer info 
)
inline

References a, and dgetri_().

◆ ggev_() [1/4]

STATIC void ggev_ ( const char *  jobl,
const char *  jobr,
integer n,
complex_real4 a,
integer lda,
complex_real4 b,
integer ldb,
complex_real4 w,
complex_real4 w_imag,
complex_real4 beta,
complex_real4 vl,
integer ldvl,
complex_real4 vr,
integer ldvr,
complex_real4 work,
integer lwork,
integer info,
char_len  jobzlen,
char_len  uplo_len 
)
inline

◆ ggev_() [2/4]

STATIC void ggev_ ( const char *  jobl,
const char *  jobr,
integer n,
complex_real8 a,
integer lda,
complex_real8 b,
integer ldb,
complex_real8 w,
complex_real8 w_imag,
complex_real8 beta,
complex_real8 vl,
integer ldvl,
complex_real8 vr,
integer ldvr,
complex_real8 work,
integer lwork,
integer info,
char_len  jobzlen,
char_len  uplo_len 
)
inline

◆ ggev_() [3/4]

STATIC void ggev_ ( const char *  jobl,
const char *  jobr,
integer n,
real4 a,
integer lda,
real4 b,
integer ldb,
real4 w_real,
real4 w_imag,
real4 beta,
real4 vl,
integer ldvl,
real4 vr,
integer ldvr,
real4 work,
integer lwork,
integer info,
char_len  jobzlen,
char_len  uplo_len 
)
inline

These oddly-named wrappers enable the generic ggev interface to get the correct LAPACK routine based upon the argument type. Internal use only.

References a, b, beta, and sggev_().

Referenced by madness::ggev().

◆ ggev_() [4/4]

STATIC void ggev_ ( const char *  jobl,
const char *  jobr,
integer n,
real8 a,
integer lda,
real8 b,
integer ldb,
real8 w_real,
real8 w_imag,
real8 beta,
real8 vl,
integer ldvl,
real8 vr,
integer ldvr,
real8 work,
integer lwork,
integer info,
char_len  jobzlen,
char_len  uplo_len 
)
inline

References a, b, beta, and dggev_().

◆ orgqr_() [1/4]

STATIC void orgqr_ ( integer m,
integer n,
integer k,
complex_real4 a,
integer lda,
complex_real4 tau,
complex_real4 work,
integer lwork,
integer info 
)
inline

References a, cungqr_(), k, and m.

◆ orgqr_() [2/4]

STATIC void orgqr_ ( integer m,
integer n,
integer k,
complex_real8 a,
integer lda,
complex_real8 tau,
complex_real8 work,
integer lwork,
integer info 
)
inline

References a, k, m, and zungqr_().

◆ orgqr_() [3/4]

STATIC void orgqr_ ( integer m,
integer n,
integer k,
real4 a,
integer lda,
real4 tau,
real4 work,
integer lwork,
integer info 
)
inline

These oddly-named wrappers enable the generic orgqr/unggr interface to get the correct LAPACK routine based upon the argument type. Internal use only.

References a, k, m, and sorgqr_().

Referenced by madness::lq_result(), and madness::orgqr().

◆ orgqr_() [4/4]

STATIC void orgqr_ ( integer m,
integer n,
integer k,
real8 a,
integer lda,
real8 tau,
real8 work,
integer lwork,
integer info 
)
inline

References a, dorgqr_(), k, and m.

◆ potrf_() [1/4]

STATIC void potrf_ ( const char *  UPLO,
integer n,
complex_real4 a,
integer lda,
integer info 
)
inline

References a, and cpotrf_().

◆ potrf_() [2/4]

STATIC void potrf_ ( const char *  UPLO,
integer n,
complex_real8 a,
integer lda,
integer info 
)
inline

References a, and zpotrf_().

◆ potrf_() [3/4]

STATIC void potrf_ ( const char *  UPLO,
integer n,
real4 a,
integer lda,
integer info 
)
inline

These oddly-named wrappers enable the generic cholesky interface to get the correct LAPACK routine based upon the argument type. Internal use only.

References a, and spotrf_().

Referenced by madness::cholesky().

◆ potrf_() [4/4]

STATIC void potrf_ ( const char *  UPLO,
integer n,
real8 a,
integer lda,
integer info 
)
inline

References a, and dpotrf_().

◆ pstrf_() [1/4]

STATIC void pstrf_ ( const char *  UPLO,
integer n,
complex_real4 a,
integer lda,
integer piv,
integer rank,
real4 tol,
complex_real4 work,
integer info 
)
inline

References a, and cpstrf_().

◆ pstrf_() [2/4]

STATIC void pstrf_ ( const char *  UPLO,
integer n,
complex_real8 a,
integer lda,
integer piv,
integer rank,
real8 tol,
complex_real8 work,
integer info 
)
inline

References a, and zpstrf_().

◆ pstrf_() [3/4]

STATIC void pstrf_ ( const char *  UPLO,
integer n,
real4 a,
integer lda,
integer piv,
integer rank,
real4 tol,
real4 work,
integer info 
)
inline

These oddly-named wrappers enable the generic rr_cholesky interface to get the correct LAPACK routine based upon the argument type. Internal use only.

References a, and spstrf_().

Referenced by madness::rr_cholesky().

◆ pstrf_() [4/4]

STATIC void pstrf_ ( const char *  UPLO,
integer n,
real8 a,
integer lda,
integer piv,
integer rank,
real8 tol,
real8 work,
integer info 
)
inline

References a, and dpstrf_().

◆ syev_() [1/4]

STATIC void syev_ ( const char *  jobz,
const char *  uplo,
integer n,
complex_real4 a,
integer lda,
real4 w,
complex_real4 work,
integer lwork,
integer info,
char_len  jobzlen,
char_len  uplo_len 
)
inline

◆ syev_() [2/4]

STATIC void syev_ ( const char *  jobz,
const char *  uplo,
integer n,
complex_real8 a,
integer lda,
real8 w,
complex_real8 work,
integer lwork,
integer info,
char_len  jobzlen,
char_len  uplo_len 
)
inline

◆ syev_() [3/4]

STATIC void syev_ ( const char *  jobz,
const char *  uplo,
integer n,
real4 a,
integer lda,
real4 w,
real4 work,
integer lwork,
integer info,
char_len  jobzlen,
char_len  uplo_len 
)
inline

These oddly-named wrappers enable the generic syev/heev interface to get the correct LAPACK routine based upon the argument type. Internal use only.

References a, ssyev_(), and w().

Referenced by madness::syev().

◆ syev_() [4/4]

STATIC void syev_ ( const char *  jobz,
const char *  uplo,
integer n,
real8 a,
integer lda,
real8 w,
real8 work,
integer lwork,
integer info,
char_len  jobzlen,
char_len  uplo_len 
)
inline

References a, dsyev_(), and w().

◆ sygv_() [1/4]

STATIC void sygv_ ( integer itype,
const char *  jobz,
const char *  uplo,
integer n,
complex_real4 a,
integer lda,
complex_real4 b,
integer ldb,
real4 w,
complex_real4 work,
integer lwork,
integer info,
char_len  jobzlen,
char_len  uplo_len 
)
inline

◆ sygv_() [2/4]

STATIC void sygv_ ( integer itype,
const char *  jobz,
const char *  uplo,
integer n,
complex_real8 a,
integer lda,
complex_real8 b,
integer ldb,
real8 w,
complex_real8 work,
integer lwork,
integer info,
char_len  jobzlen,
char_len  uplo_len 
)
inline

◆ sygv_() [3/4]

STATIC void sygv_ ( integer itype,
const char *  jobz,
const char *  uplo,
integer n,
real4 a,
integer lda,
real4 b,
integer ldb,
real4 w,
real4 work,
integer lwork,
integer info,
char_len  jobzlen,
char_len  uplo_len 
)
inline

These oddly-named wrappers enable the generic sygv/hegv interface to get the correct LAPACK routine based upon the argument type. Internal use only.

References a, b, ssygv_(), and w().

Referenced by madness::sygv().

◆ sygv_() [4/4]

STATIC void sygv_ ( integer itype,
const char *  jobz,
const char *  uplo,
integer n,
real8 a,
integer lda,
real8 b,
integer ldb,
real8 w,
real8 work,
integer lwork,
integer info,
char_len  jobzlen,
char_len  uplo_len 
)
inline

References a, b, dsygv_(), and w().

Variable Documentation

◆ ss1

double ss1

◆ tt1

double tt1