MADNESS 0.10.1
Namespaces | Functions
tensor_lapack.h File Reference

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>
Include dependency graph for tensor_lapack.h:
This graph shows which files directly or indirectly include this file:

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< Tmadness::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!
 

Detailed Description

Prototypes for a partial interface from Tensor to LAPACK.