MADNESS 0.10.1
linalg_wrappers.h File Reference

Template wrappers for LAPACK routines. More...

Include dependency graph for linalg_wrappers.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  madness::LinAlgException
 Linear algebra Exception. More...
struct  madness::detail::real_type< T >
struct  madness::detail::real_type< std::complex< T > >

Namespaces

namespace  madness
 Namespace for all elements and tools of MADNESS.
namespace  madness::detail

Macros

#define LINALG_ASSERT(condition, msg, value)
#define LINALG_EXCEPTION(msg, value)
#define LINALG_EXCEPTION_AT(F, L)
#define LINALG_STRINGIZE(X)

Functions

template<typename T>
void madness::cholesky (char uplo, integer n, T *A, integer lda)
 Compute the Cholesky Factorization via LAPACK.
template<typename T>
void madness::hereig (char jobz, char uplo, integer n, T *A, integer lda, typename detail::real_type< T >::type *W)
 Solve the EVP via LAPACK.
template<typename T>
void madness::hereig_gen (integer itype, char jobz, char uplo, integer n, T *A, integer lda, T *B, integer ldb, typename detail::real_type< T >::type *W)
 Solve the Generalized EVP via LAPACK.
template<typename T>
void madness::svd (char jobu, char jobvt, integer m, integer n, T *A, integer lda, typename detail::real_type< T >::type *S, T *U, integer ldu, T *VT, integer ldvt)
 Compute the SVD via LAPACK.

Detailed Description

Template wrappers for LAPACK routines.

Macro Definition Documentation

◆ LINALG_ASSERT

#define LINALG_ASSERT ( condition,
msg,
value )
Value:
do {if (!(condition)) \
throw ::madness::LinAlgException("LINALG ASSERTION FAILED: " LINALG_EXCEPTION_AT( __FILE__, __LINE__ ) ": " msg , \
#condition,value,__LINE__,__FUNCTION__,__FILE__); \
} while (0)
#define LINALG_EXCEPTION_AT(F, L)
Definition linalg_wrappers.h:98

Referenced by madness::cholesky(), madness::cholesky(), madness::cholesky(), madness::cholesky(), madness::hereig(), madness::hereig(), madness::hereig(), madness::hereig(), madness::hereig_gen(), madness::hereig_gen(), madness::hereig_gen(), madness::hereig_gen(), madness::svd(), madness::svd(), madness::svd(), and madness::svd().

◆ LINALG_EXCEPTION

#define LINALG_EXCEPTION ( msg,
value )
Value:
throw ::madness::LinAlgException("LINALG EXCEPTION: " LINALG_EXCEPTION_AT( __FILE__, __LINE__ ) ": " msg , \
0,value,__LINE__,__FUNCTION__,__FILE__)

◆ LINALG_EXCEPTION_AT

#define LINALG_EXCEPTION_AT ( F,
L )
Value:
simple class for testing the solver
Definition derivatives.cc:60
#define LINALG_STRINGIZE(X)
Definition linalg_wrappers.h:97
static const double L
Definition rk.cc:46

◆ LINALG_STRINGIZE

#define LINALG_STRINGIZE ( X)
Value:
#X