Interface to LAPACK routines. More...
Functions | |
| template<typename Array2d , typename Array1d > | |
| void | cusp::lapack::getrf (Array2d &A, Array1d &piv) | 
| Compute LU factorization of matrix.  More... | |
| template<typename Array2d > | |
| void | cusp::lapack::potrf (Array2d &A, char uplo= 'U') | 
| Computes the Cholesky factorization of a symmetric (Hermitian) positive-definite matrix.  More... | |
| template<typename Array2d , typename Array1d > | |
| void | cusp::lapack::sytrf (Array2d &A, Array1d &piv, char uplo= 'U') | 
| Computes the Bunch-Kaufman factorization of a symmetric matrix.  More... | |
| template<typename Array2d , typename Array1d > | |
| void | cusp::lapack::getrs (const Array2d &A, const Array1d &piv, Array2d &B, char trans= 'N') | 
| Solves a system of linear equations with an LU-factored square matrix, with multiple right-hand sides.  More... | |
| template<typename Array2d > | |
| void | cusp::lapack::potrs (const Array2d &A, Array2d &B, char uplo= 'U') | 
| Solves a system of linear equations with a Cholesky-factored symmetric (Hermitian) positive-definite matrix.  More... | |
| template<typename Array2d , typename Array1d > | |
| void | cusp::lapack::sytrs (const Array2d &A, const Array1d &piv, Array2d &B, char uplo= 'U') | 
| Solves a system of linear equations with a UDU- or LDL-factored symmetric matrix.  More... | |
| template<typename Array2d > | |
| void | cusp::lapack::trtrs (const Array2d &A, Array2d &B, char uplo= 'U', char trans= 'N', char diag= 'N') | 
| Solves a system of linear equations with a triangular matrix, with multiple right-hand sides.  More... | |
| template<typename Array2d > | |
| void | cusp::lapack::trtri (Array2d &A, char uplo= 'U', char diag= 'N') | 
| This routine computes the inverse of a triangular matrix.  More... | |
| template<typename Array2d , typename Array1d > | |
| void | cusp::lapack::syev (const Array2d &A, Array1d &eigvals, Array2d &eigvecs, char uplo= 'U') | 
| Computes all eigenvalues and eigenvectors of a real symmetric matrix.  More... | |
| template<typename Array1d1 , typename Array1d2 , typename Array1d3 , typename Array2d > | |
| void | cusp::lapack::stev (const Array1d1 &alphas, const Array1d2 &betas, Array1d3 &eigvals, Array2d &eigvecs, char job= 'V') | 
| Computes all eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix.  More... | |
| template<typename Array2d1 , typename Array2d2 , typename Array1d , typename Array2d3 > | |
| void | cusp::lapack::sygv (const Array2d1 &A, const Array2d2 &B, Array1d &eigvals, Array2d3 &eigvecs) | 
| Computes all eigenvalues and, optionally, eigenvectors of a real generalized symmetric definite eigenproblem.  More... | |
| template<typename Array2d , typename Array1d > | |
| void | cusp::lapack::gesv (const Array2d &A, Array2d &B, Array1d &piv) | 
| Computes the solution of a system of linear equations with a square matrix A and multiple right-hand sides.  More... | |
| void cusp::lapack::gesv | ( | const Array2d & | A, | 
| Array2d & | B, | ||
| Array1d & | piv | ||
| ) | 
Computes the solution of a system of linear equations with a square matrix A and multiple right-hand sides.
| Array2d | Type of the input matrix | 
| Array1d | Type of the input pivots array | 
| A | Contains the upper or lower triangle of a symmetric matrix | 
| B | Contains the upper or lower triangle of a symmetric positive definite matrix | 
| piv | Array containing pivots | 
An LU decomposition with partial pivoting and row interchanges is used to factor A as A = P*L*U, where P is a permutation matrix, L is unit lower triangular, and U is upper triangular. The factored form of A is then used to solve the system of equations A*X = B.
| void cusp::lapack::getrf | ( | Array2d & | A, | 
| Array1d & | piv | ||
| ) | 
Compute LU factorization of matrix.
| Array2d | Type of the input matrix to factor | 
| Array1d | Type of pivot array | 
| A | Input matrix to factor | 
| piv | Array containing pivots | 
| void cusp::lapack::getrs | ( | const Array2d & | A, | 
| const Array1d & | piv, | ||
| Array2d & | B, | ||
| char | trans = 'N'  | 
        ||
| ) | 
Solves a system of linear equations with an LU-factored square matrix, with multiple right-hand sides.
| Array2d | Type of the input matrices | 
| Array1d | Type of pivot array | 
| A | LU factored input matrix | 
| piv | Array containing pivots | 
| B | matrix containing multiple right-hand side vectors | 
| trans | If 'N', then A*X = B is solved for X. | 
| void cusp::lapack::potrf | ( | Array2d & | A, | 
| char | uplo = 'U'  | 
        ||
| ) | 
Computes the Cholesky factorization of a symmetric (Hermitian) positive-definite matrix.
| Array2d | Type of the input matrix to factor | 
| A | Input matrix to factor | 
| uplo | Indicates whether A is upper or lower triangular | 
| void cusp::lapack::potrs | ( | const Array2d & | A, | 
| Array2d & | B, | ||
| char | uplo = 'U'  | 
        ||
| ) | 
Solves a system of linear equations with a Cholesky-factored symmetric (Hermitian) positive-definite matrix.
| Array2d | Type of the input matrices | 
| A | Cholesky factored input matrix | 
| B | matrix containing multiple right-hand side vectors | 
| uplo | Indicates whether A is upper or lower triangular | 
A = UT*U for real data, A = UH*U for complex dataif UHplo='U' A = L*LT for real data, A = L*LH for complex dataif uplo='L'
where L is a lower triangular matrix and U is upper triangular. The system is solved with multiple right-hand sides stored in the columns of the matrix B.
| void cusp::lapack::stev | ( | const Array1d1 & | alphas, | 
| const Array1d2 & | betas, | ||
| Array1d3 & | eigvals, | ||
| Array2d & | eigvecs, | ||
| char | job = 'V'  | 
        ||
| ) | 
Computes all eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix.
| Array1d1 | Type of the input array | 
| Array1d2 | Type of the input array | 
| Array1d3 | Type of the input array | 
| Array2d | Type of the input array | 
| alphas | Main diagonal entries | 
| betas | First sub-diagonal entries | 
| eigvals | On return contain eigenvalues of matrix | 
| eigvecs | On return contain eigenvectors of the matrix | 
| job | If 'V', then eigenvalues and eigenvectors are computed | 
| void cusp::lapack::syev | ( | const Array2d & | A, | 
| Array1d & | eigvals, | ||
| Array2d & | eigvecs, | ||
| char | uplo = 'U'  | 
        ||
| ) | 
Computes all eigenvalues and eigenvectors of a real symmetric matrix.
| Array2d | Type of the input matrices | 
| Array1d | Type of the input array | 
| A | Symmetric input matrix | 
| eigvals | On return contain eigenvalues of matrix | 
| eigvecs | On return contain eigenvectors of the matrix | 
| uplo | Indicates whether upper or lower portion of symmetric matrix is stored. | 
| void cusp::lapack::sygv | ( | const Array2d1 & | A, | 
| const Array2d2 & | B, | ||
| Array1d & | eigvals, | ||
| Array2d3 & | eigvecs | ||
| ) | 
Computes all eigenvalues and, optionally, eigenvectors of a real generalized symmetric definite eigenproblem.
| Array2d1 | Type of the input array | 
| Array2d2 | Type of the input array | 
| Array1d | Type of the input array | 
| Array2d3 | Type of the input array | 
| A | Contains the upper or lower triangle of a symmetric matrix | 
| B | Contains the upper or lower triangle of a symmetric positive definite matrix | 
| eigvals | On return contain eigenvalues of matrix | 
| eigvecs | On return contain eigenvectors of the matrix | 
A*x = λ*B*x, A*B*x = λ*x, or B*A*x = λ*x.
Here A and B are assumed to be symmetric and B is also positive definite.
| void cusp::lapack::sytrf | ( | Array2d & | A, | 
| Array1d & | piv, | ||
| char | uplo = 'U'  | 
        ||
| ) | 
Computes the Bunch-Kaufman factorization of a symmetric matrix.
| Array2d | Type of the input matrix to factor | 
| Array1d | Type of pivot array | 
| A | Input matrix to factor | 
| piv | Array containing pivots | 
| uplo | Indicates whether A is upper or lower triangular | 
| void cusp::lapack::sytrs | ( | const Array2d & | A, | 
| const Array1d & | piv, | ||
| Array2d & | B, | ||
| char | uplo = 'U'  | 
        ||
| ) | 
Solves a system of linear equations with a UDU- or LDL-factored symmetric matrix.
| Array2d | Type of the input matrices | 
| Array1d | Type of pivot array | 
| A | Input matrix to factor | 
| piv | Array containing pivots | 
| B | matrix containing multiple right-hand side vectors | 
| uplo | Indicates whether A is upper or lower triangular | 
A = P*U*D*UT*PT, if uplo='U' A = P*L*D*LT*PT, if uplo='L'
where P is a permutation matrix, U and L are upper and lower triangular matrices with unit diagonal, and D is a symmetric block-diagonal matrix. The system is solved with multiple right-hand sides stored in the columns of the matrix B.
| void cusp::lapack::trtri | ( | Array2d & | A, | 
| char | uplo = 'U',  | 
        ||
| char | diag = 'N'  | 
        ||
| ) | 
This routine computes the inverse of a triangular matrix.
| Array2d | Type of the input matrix | 
| A | Triangular input matrix | 
| uplo | Indicates whether A is upper or lower triangular | 
| diag | If 'N', then A is not a unit triangular matrix. | 
| void cusp::lapack::trtrs | ( | const Array2d & | A, | 
| Array2d & | B, | ||
| char | uplo = 'U',  | 
        ||
| char | trans = 'N',  | 
        ||
| char | diag = 'N'  | 
        ||
| ) | 
Solves a system of linear equations with a triangular matrix, with multiple right-hand sides.
| Array2d | Type of the input matrices | 
| A | Triangular input matrix | 
| B | matrix containing multiple right-hand side vectors | 
| uplo | Indicates whether A is upper or lower triangular | 
| trans | If 'N', then A*X = B is solved for X. | 
| diag | If 'N', then A is not a unit triangular matrix. | 
 1.8.6