MADNESS 0.10.1
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:

Classes

class  Tensor< T >
 A tensor is a multidimensional array. More...

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 std::vector< double > madness::condition_number (const Tensor< double > &A)
template std::vector< double > madness::condition_number (const Tensor< double_complex > &A)
template<typename T>
std::vector< double > madness::condition_number (const Tensor< T > &A)
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_complex > madness::inverse (const Tensor< double_complex > &A)
template<typename T>
Tensor< T > madness::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_complex > madness::my_conj_transpose (Tensor< double_complex > a)
STATIC Tensor< float > madness::my_conj_transpose (Tensor< float > a)
STATIC Tensor< float_complex > madness::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

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_(), STATIC, 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_(), STATIC, 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

◆ 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

◆ 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, sgelss_(), and STATIC.

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_(), m, and STATIC.

◆ 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, sgeqp3_(), and STATIC.

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_(), m, and STATIC.

◆ 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, STATIC, 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_(), m, and STATIC.

◆ 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, sgeqrf_(), and STATIC.

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_(), m, and STATIC.

◆ 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 STATIC, and 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_(), and STATIC.

◆ 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_(), and STATIC.

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_(), and STATIC.

◆ 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_(), STATIC, 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, STATIC, 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_(), m, and STATIC.

◆ getrf_() [2/4]

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

References a, m, STATIC, 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, sgetrf_(), and STATIC.

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_(), m, and STATIC.

◆ 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, cgetri_(), and STATIC.

◆ 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, STATIC, 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, sgetri_(), and STATIC.

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, dgetri_(), and STATIC.

◆ 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, sggev_(), and STATIC.

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, dggev_(), and STATIC.

◆ 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, m, and STATIC.

◆ 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, STATIC, 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, sorgqr_(), and STATIC.

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, m, and STATIC.

◆ potrf_() [1/4]

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

References a, cpotrf_(), and STATIC.

◆ potrf_() [2/4]

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

References a, STATIC, 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, spotrf_(), and STATIC.

Referenced by madness::cholesky().

◆ potrf_() [4/4]

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

References a, dpotrf_(), and STATIC.

◆ 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, cpstrf_(), and STATIC.

◆ 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, STATIC, 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, spstrf_(), and STATIC.

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, dpstrf_(), and STATIC.

◆ 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_(), STATIC, 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_(), STATIC, 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_(), STATIC, 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_(), STATIC, and w().

Variable Documentation

◆ ss1

◆ tt1