MADNESS 0.10.1
|
Prototypes for a partial interface from Tensor to LAPACK. More...
#include <madness/tensor/tensor.h>
#include <madness/fortran_ctypes.h>
#include <madness/tensor/elem.h>
Go to the source code of this file.
Namespaces | |
namespace | madness |
Namespace for all elements and tools of MADNESS. | |
Functions | |
template<typename T > | |
void | madness::cholesky (Tensor< T > &A) |
Compute the Cholesky factorization. | |
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. | |
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. | |
template<typename T > | |
void | madness::geqp3 (Tensor< T > &A, Tensor< T > &tau, Tensor< integer > &jpvt) |
Compute the QR factorization. | |
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. | |
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. | |
void | madness::init_tensor_lapack () |
World/MRA initialization calls this before going multithreaded due to static data in dlamch . | |
template<typename T > | |
Tensor< T > | madness::inverse (const Tensor< T > &a_in) |
invert general square matrix A | |
template<typename T > | |
void | madness::lq (Tensor< T > &A, Tensor< T > &R) |
compute the LQ decomposition of the matrix A = L Q | |
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 | |
template<typename T > | |
void | madness::orgqr (Tensor< T > &A, const Tensor< T > &tau) |
reconstruct the orthogonal matrix Q (e.g. from QR factorization) | |
template<typename T > | |
void | madness::qr (Tensor< T > &A, Tensor< T > &R) |
compute the QR decomposition of the matrix A | |
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<typename T > | |
std::tuple< Tensor< T >, Tensor< typename Tensor< T >::scalar_type >, Tensor< T > > | madness::svd (const Tensor< T > &A) |
SVD - MATLAB syntax. | |
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<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<typename T > | |
std::tuple< Tensor< typename Tensor< T >::scalar_type >, Tensor< T > > | madness::syev (const Tensor< T > &A) |
Solves symmetric or Hermitian eigenvalue problem - MATLAB syntax. | |
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. | |
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. | |
bool | madness::test_tensor_lapack () |
Test the Tensor-LAPACK interface ... currently always returns true! | |
Prototypes for a partial interface from Tensor to LAPACK.