23#ifndef BELFEM_FN_POSV_HPP
24#define BELFEM_FN_POSV_HPP
95 template<
typename T >
107 "posv not implemented for selected data type" );
124 const_cast< char *
> ( uplo ),
125 const_cast< int_t *
>( n ),
126 const_cast< int_t *
>( nrhs ),
128 const_cast< int_t *
>( lda ),
130 const_cast< int_t *
>( ldb ),
149 const_cast< char *
> ( uplo ),
150 const_cast< int_t *
>( n ),
151 const_cast< int_t *
>( nrhs ),
153 const_cast< int_t *
>( lda ),
155 const_cast< int_t *
>( ldb ),
167 std::complex< float > * a,
169 std::complex< float > * b,
174 const_cast< char *
> ( uplo ),
175 const_cast< int_t *
>( n ),
176 const_cast< int_t *
>( nrhs ),
178 const_cast< int_t *
>( lda ),
180 const_cast< int_t *
>( ldb ),
192 std::complex< double > * a,
194 std::complex< double > * b,
199 const_cast< char *
> ( uplo ),
200 const_cast< int_t *
>( n ),
201 const_cast< int_t *
>( nrhs ),
203 const_cast< int_t *
>( lda ),
205 const_cast< int_t *
>( ldb ),
225 template<
typename T >
230 "Number of rows of matrix does not match." );
232 "Number of cols of matrix does not match." );
260 "LAPACK posv has thrown an error: %i", (
int ) info );
280 template<
typename T >
285 "Number of rows of matrix does not match." );
287 "Number of cols of matrix does not match." );
314 "LAPACK posv has thrown an error: %i", (
int ) info );
#define BELFEM_ERROR(aCheck,...)
Definition assert.hpp:264
#define BELFEM_ASSERT(aCheck,...)
Definition assert.hpp:244
Dense column-major matrix.
Definition cl_BZ_Matrix.hpp:28
size_t n_rows() const
Definition cl_AR_Matrix.hpp:205
size_t n_cols() const
Definition cl_AR_Matrix.hpp:213
T * data()
Definition cl_AR_Matrix.hpp:135
Column vector.
Definition cl_BZ_Vector.hpp:41
Definition fn_gees.hpp:33
constexpr bool dependent_false
Definition lapacktools.hpp:49
float cplx_float_t
Definition lapacktools.hpp:90
int_t leading_dimension(const Vector< T > &A)
logical length of a vector operand, as passed to LAPACK as LDB; vector storage is contiguous under bo...
Definition lapacktools.hpp:143
void 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)
size_t fortran_charlen_t
Definition lapacktools.hpp:100
void 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)
double cplx_double_t
Definition lapacktools.hpp:91
void 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)
Definition fn_posv.hpp:97
void 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 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)
USER GUIDES:
Definition cl_Capacitor.cpp:16
int32_t int_t
Definition typedefs.hpp:51
int_t 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...
Definition fn_posv.hpp:227