ARTS
2.4.0(git:4fb77825)
|
Functions | |
void | dgetrf_ (int *m, int *n, double *A, int *lda, int *ipiv, int *info) |
LU decomposition. More... | |
void | zgetrf_ (int *m, int *n, std::complex< double > *A, int *lda, int *ipiv, 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. More... | |
void | dgetri_ (int *n, double *A, int *lda, int *ipiv, double *work, int *lwork, int *info) |
Matrix inversion. More... | |
void | zgetri_ (int *n, std::complex< double > *A, int *lda, int *ipiv, std::complex< double > *work, int *lwork, int *info) |
void | ilaenv_ (int *ispec, char *name, char *opts, int *n1, int *n2, int *n3, int *n4) |
Optimal parameters for computation. More... | |
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. More... | |
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 | 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 lapack::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 | ||
) |
Referenced by diagonalize().
void lapack::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.
Solves the linear system A*X = B using LAPACK's dgesv function. The use of the expert function is necessary since we need to solve the system for the inverse matrix due to the different memory layouts in arts and BLAS. Since most of the parameters are unused they are not fully documented. See LAPACK documentation.
[in] | fact | Specifies whether or not the factored form of the matrix A is provided and whether the matrix A should be equilibrated. |
[in] | trans | Specifies the form of the linear system = 'N': A * x = B = 'N': A^T * x = B = 'N': A^H * x = B |
[in] | n | Dimensionality of the system. |
[in] | nrhs | Number of right-hand side columns. |
[in] | A | The double array (column-major order) representing the matrix a A that describes the linear system. |
[in] | lda | The leading dimension of A. |
[in,out] | AF | If a is given in factored form AF must contain the factored form of A on input. On output contains the factored form of A. |
[in] | ldaf | The leading dimension of AF. |
[in,out] | ipiv | The pivot vector from the LU decomposition. |
[in] | equed | Specifies the form of equilibration that was done. |
[in] | R | The low scale factors for A. |
[in] | C | The column scale factors for A. |
[in] | B | The right hand-side matrix of the system. |
[in] | ldb | The leading dimension of B. |
[out] | X | The solution matrix. |
[in] | ldx | The leading dimension of x. |
[out] | RCOND | The estimate of the reciprocal condition number of the matrix A after equilibration (if done). |
[out] | FERR | The estimates error bound for each solution. |
[out] | BERR | The componentwise relative backward error. |
[out] | WORK | |
[out] | IWORK | |
[out] | info |
void lapack::dgetrf_ | ( | int * | m, |
int * | n, | ||
double * | A, | ||
int * | lda, | ||
int * | ipiv, | ||
int * | info | ||
) |
LU decomposition.
Performs an LU decomposition of a genereal m-by-n matrix using partial pivoting with row interchanges. See LAPACK reference.
[in] | m | The number of rows of the matrix A. |
[in] | n | The number of column of the matrix A. |
[out] | A | The matrix A. |
[in] | lda | The leading dimension of the matrix A. |
[out] | ipiv | Integer array to hold the pivoting indices. |
[out] | info | Integer indicating if operation was successful: 0 if success, otherwise failure. |
void lapack::dgetri_ | ( | int * | n, |
double * | A, | ||
int * | lda, | ||
int * | ipiv, | ||
double * | work, | ||
int * | lwork, | ||
int * | info | ||
) |
Matrix inversion.
Inverts a given matrix using LU decompositions. See LAPACK reference.
[in] | n | The number of rows and columns of the matrix A. |
[in,out] | A | The matrix to be inverted. |
[in] | lda | The leading dimension of A. |
[in] | ipiv | The vector containing the pivoting indices returned from dgetrf_. |
[in] | work | Work array for improved performance. |
[in] | lwork | Size of the work array. |
[out] | info | Integer indicating if operation was successful: 0 if success, otherwise failure. |
Referenced by inv().
void lapack::dgetrs_ | ( | char * | trans, |
int * | n, | ||
int * | nrhs, | ||
double * | A, | ||
int * | lda, | ||
int * | ipiv, | ||
double * | b, | ||
int * | ldb, | ||
int * | info | ||
) |
Solve linear system of equations.
Solves a linear system of equations of the form
trans(A) * x = b
using the QR decomposition obtained using dgetrf_.
[in] | trans | Specifies the form of the system of equations: |
trans = 'N' : trans(A) = A trans = 'T' : trans(A) = A^T trans = 'C' : trans(A) = conj( A^T )
[in] | n | The size of the system. |
[in] | nrhs | The number of right-hand sides. |
[in] | A | The matrix describing the system. |
[in] | lda | The leading dimension of A. |
[in] | ipiv | The pivot vector as returned by dgetrf_. |
[in,out] | b | The matrix containing the right-hand side vectors. |
[in] | ldb | The leading dimension of b. |
[out] | info | Integer indicating succes of the operation. |
Referenced by lubacksub().
void lapack::ilaenv_ | ( | int * | ispec, |
char * | name, | ||
char * | opts, | ||
int * | n1, | ||
int * | n2, | ||
int * | n3, | ||
int * | n4 | ||
) |
Optimal parameters for computation.
This function returns problem-dependent parameters for the computing environment. See LAPACK reference.
[in,out] | ispec | On input specifies which parameter to be returned and on output contains the requested parameter. |
[in] | name | Name of the functions to be called. |
[in] | opts | Character options to the function "Name" |
[in] | n1 | Problem dimension 1 of "Name". |
[in] | n2 | Problem dimension 2 of "Name". |
[in] | n3 | Problem dimension 3 of "Name". |
[in] | n4 | Problem dimension 4 of "Name". |
void lapack::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 | ||
) |
Referenced by diagonalize().
void lapack::zgetrf_ | ( | int * | m, |
int * | n, | ||
std::complex< double > * | A, | ||
int * | lda, | ||
int * | ipiv, | ||
int * | info | ||
) |
Referenced by inv(), and ComplexMatrix::inv().
void lapack::zgetri_ | ( | int * | n, |
std::complex< double > * | A, | ||
int * | lda, | ||
int * | ipiv, | ||
std::complex< double > * | work, | ||
int * | lwork, | ||
int * | info | ||
) |
Referenced by inv(), and ComplexMatrix::inv().