BELFEM 0.9.0
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
fn_posv.hpp File Reference

Solves a real symmetric or complex Hermitian positive-definite system by Cholesky factorization (LAPACK ?posv). More...

#include "lapacktools.hpp"
Include dependency graph for fn_posv.hpp:

Go to the source code of this file.

Namespaces

namespace  belfem
 USER GUIDES:
namespace  belfem::lapack

Functions

void belfem::lapack::sposv_ (char *uplo, int_t *n, int_t *nrhs, float *a, int_t *lda, float *b, int_t *ldb, int_t *info, fortran_charlen_t l)
void belfem::lapack::dposv_ (char *uplo, int_t *n, int_t *nrhs, double *a, int_t *lda, double *b, int_t *ldb, int_t *info, fortran_charlen_t l)
void belfem::lapack::cposv_ (char *uplo, int_t *n, int_t *nrhs, cplx_float_t *a, int_t *lda, cplx_float_t *b, int_t *ldb, int_t *info, fortran_charlen_t l)
void belfem::lapack::zposv_ (char *uplo, int_t *n, int_t *nrhs, cplx_double_t *a, int_t *lda, cplx_double_t *b, int_t *ldb, int_t *info, fortran_charlen_t l)
template<typename T>
void belfem::lapack::posv (const char *uplo, const int_t *n, const int_t *nrhs, T *a, const int_t *lda, T *b, const int_t *ldb, int_t *info)
template<>
void belfem::lapack::posv (const char *uplo, const int_t *n, const int_t *nrhs, float *a, const int_t *lda, float *b, const int_t *ldb, int_t *info)
template<>
void belfem::lapack::posv (const char *uplo, const int_t *n, const int_t *nrhs, double *a, const int_t *lda, double *b, const int_t *ldb, int_t *info)
template<>
void belfem::lapack::posv (const char *uplo, const int_t *n, const int_t *nrhs, std::complex< float > *a, const int_t *lda, std::complex< float > *b, const int_t *ldb, int_t *info)
template<>
void belfem::lapack::posv (const char *uplo, const int_t *n, const int_t *nrhs, std::complex< double > *a, const int_t *lda, std::complex< double > *b, const int_t *ldb, int_t *info)
template<typename T>
int_t belfem::posv (Matrix< T > &A, Vector< T > &B, const bool AbortOnError=true)
 solve A * x = b for a symmetric ( real ) or Hermitian ( complex ) positive definite matrix via LAPACK ?posv ( Cholesky factorization, no pivoting )
template<typename T>
int_t belfem::posv (Matrix< T > &A, Matrix< T > &B, const bool AbortOnError=true)
 solve A * X = B for multiple right hand sides of a symmetric ( real ) or Hermitian ( complex ) positive definite matrix, see the vector version above

Detailed Description

Solves a real symmetric or complex Hermitian positive-definite system by Cholesky factorization (LAPACK ?posv).

Thin wrapper over the Fortran routine: BELFEM containers are passed straight through after their leading dimensions are worked out. Arguments are not copied – see each parameter for what is overwritten in place.