26 mutable std::vector<T>
work;
27 mutable std::vector<int>
ipiv;
43 int*
size() const noexcept {
return &
n;}
45 T*
workdata() const noexcept {
return work.data();}
46 int*
ipivdata() const noexcept {
return ipiv.data();}
66 int *m,
int *n,
double *A,
int *lda,
int *ipiv,
int *info);
69 int *m,
int *n, std::complex<double> *A,
int *lda,
int *ipiv,
int *info);
94 extern "C" void dgetrs_(
char *trans,
119 extern "C" void dgetri_(
int *n,
127 extern "C" void zgetri_(
int *n,
128 std::complex<double> *A,
131 std::complex<double> *work,
150 int *ispec,
char *name,
char *opts,
int *n1,
int *n2,
int *n3,
int *n4);
190 extern "C" void dgesvx_(
char *fact,
232 extern "C" void dgeev_(
char *jobvl,
248 extern "C" void zgeev_(
char *jobvl,
251 std::complex<double> *A,
253 std::complex<double> *W,
254 std::complex<double> *VL,
256 std::complex<double> *VR,
258 std::complex<double> *work,
INDEX Index
The type to use for all integer numbers and indices.
T * workdata() const noexcept
bool resize_if_smaller(Index N) const
void zgeev_(char *jobvl, char *jobvr, int *n, std::complex< double > *A, int *lda, std::complex< double > *W, std::complex< double > *VL, int *ldvl, std::complex< double > *VR, int *ldvr, std::complex< double > *work, int *lwork, double *rwork, int *info)
void dgeev_(char *jobvl, char *jobvr, int *n, double *A, int *lda, double *WR, double *WI, double *VL, int *ldvl, double *VR, int *ldvr, double *work, int *lwork, double *rwork, int *info)
void dgetrs_(char *trans, int *n, int *nrhs, double *A, int *lda, int *ipiv, double *b, int *ldb, int *info)
Solve linear system of equations.
int * ipivdata() const noexcept
Struct cannot be const, but can be passed as const to allow defaults.
Inverse(Index N) noexcept
void zgetrf_(int *m, int *n, std::complex< double > *A, int *lda, int *ipiv, int *info)
int * lsize() const noexcept
void zgetri_(int *n, std::complex< double > *A, int *lda, int *ipiv, std::complex< double > *work, int *lwork, int *info)
int * size() const noexcept
void dgetri_(int *n, double *A, int *lda, int *ipiv, double *work, int *lwork, int *info)
Matrix inversion.
void dgesvx_(char *fact, char *trans, int *n, int *nrhs, double *A, int *lda, double *AF, int *ldaf, int *ipiv, char *equed, double *R, double *C, double *B, int *ldb, double *X, int *ldx, double *RCOND, double *FERR, double *BERR, double *WORK, int *IWORK, int *info)
Solve linear system.
void ilaenv_(int *ispec, char *name, char *opts, int *n1, int *n2, int *n3, int *n4)
Optimal parameters for computation.
void dgetrf_(int *m, int *n, double *A, int *lda, int *ipiv, int *info)
LU decomposition.