![]() |
CUSP
|
Iterative methods for computing eigenpairs of hermitian and non-hermitian linear systems. More...
Functions | |
| template<typename Matrix , typename Array2d > | |
| void | cusp::eigen::arnoldi (const Matrix &A, Array2d &H, size_t k=10) |
| Approximate spectral radius of A using Arnoldi. | |
| template<typename LinearOperator , typename Array1d , typename Array2d , typename LanczosOptions > | |
| void | cusp::eigen::lanczos (const LinearOperator &A, Array1d &eigVals, Array2d &eigVecs, LanczosOptions &options) |
| Lanczos method. | |
| template<typename LinearOperator , typename Array1d , typename Array2d , typename Monitor , typename Preconditioner > | |
| void | cusp::eigen::lobpcg (LinearOperator &A, Array1d &S, Array2d &X, Monitor &monitor, Preconditioner &M, bool largest=true) |
| LOBPCG method. | |
| template<typename MatrixType > | |
| double | cusp::eigen::disks_spectral_radius (const MatrixType &A) |
| Uses Gershgorin disks to approximate spectral radius. | |
| template<typename MatrixType > | |
| double | cusp::eigen::estimate_rho_Dinv_A (const MatrixType &A) |
| Approximate spectral radius of (D^-1)A. | |
| template<typename MatrixType > | |
| double | cusp::eigen::estimate_spectral_radius (const MatrixType &A, size_t k=20) |
| Approximate spectral radius of A using Lanczos. | |
| template<typename MatrixType > | |
| double | cusp::eigen::ritz_spectral_radius (const MatrixType &A, size_t k=10, bool symmetric=false) |
| Approximate spectral radius of A using Lanczos or Arnoldi. | |
Iterative methods for computing eigenpairs of hermitian and non-hermitian linear systems.
| void cusp::eigen::arnoldi | ( | const Matrix & | A, |
| Array2d & | H, | ||
| size_t | k = 10 |
||
| ) |
Approximate spectral radius of A using Arnoldi.
| Matrix | type of a sparse or dense matrix |
| Array2d | type of dense matrix of partials |
| A | matrix of the linear system |
| H | dense matrix of ritz values |
| k | maximum number of outer Arnoldi iterations |
arnoldi to compute the spectral radius of a 16x16 Laplacian matrix.| double cusp::eigen::disks_spectral_radius | ( | const MatrixType & | A | ) |
Uses Gershgorin disks to approximate spectral radius.
| MatrixType | type of a sparse or dense matrix |
| A | matrix of the linear system |
disks_spectral_radius to compute the spectral radius of a 16x16 Laplacian matrix.| double cusp::eigen::estimate_rho_Dinv_A | ( | const MatrixType & | A | ) |
Approximate spectral radius of (D^-1)A.
| MatrixType | type of a sparse or dense matrix |
| A | matrix of the linear system |
estimate_rho_Dinv_A to compute the spectral radius of a 16x16 Laplacian matrix.| double cusp::eigen::estimate_spectral_radius | ( | const MatrixType & | A, |
| size_t | k = 20 |
||
| ) |
Approximate spectral radius of A using Lanczos.
| MatrixType | type of a sparse or dense matrix |
| A | matrix of the linear system |
| k | number of Lanczos iterations |
estimate_spectral_radius to compute the spectral radius of a 16x16 Laplacian matrix.| void cusp::eigen::lanczos | ( | const LinearOperator & | A, |
| Array1d & | eigVals, | ||
| Array2d & | eigVecs, | ||
| LanczosOptions & | options | ||
| ) |
Lanczos method.
| LinearOperator | is a matrix or subclass of linear_operator |
| Array1d | array of eigenvalues |
| Array2d | matrix of eigenvectors |
| A | matrix of the linear system |
| eigVals | eigenvalues |
| eigVecs | eigenvectors |
| options | Lanczos solver options |
A must be symmetric.lanczos to compute the eigenpairs of a 10x10 Laplacian matrix.| void cusp::eigen::lobpcg | ( | LinearOperator & | A, |
| Array1d & | S, | ||
| Array2d & | X, | ||
| Monitor & | monitor, | ||
| Preconditioner & | M, | ||
| bool | largest = true |
||
| ) |
LOBPCG method.
| LinearOperator | is a matrix or subtypename of linear_operator |
| Vector | vector |
| Monitor | is a monitor |
| Preconditioner | is a matrix or subtypename of linear_operator |
| A | matrix of the linear system |
| S | eigenvalues |
| X | eigenvectors |
| monitor | monitors iteration and determines stopping conditions |
| M | preconditioner for A |
| largest | If true compute the eigenpair corresponding to the largest eigenvalue otherwise compute the smallest. |
A and M must be symmetric.lobpcg to solve a 10x10 Poisson problem.monitor | double cusp::eigen::ritz_spectral_radius | ( | const MatrixType & | A, |
| size_t | k = 10, |
||
| bool | symmetric = false |
||
| ) |
Approximate spectral radius of A using Lanczos or Arnoldi.
| MatrixType | type of a sparse or dense matrix |
| A | matrix of the linear system |
| k | number of iterations |
| symmetric | if true use Lanczos, otherwise use Arnoldi |
ritz_spectral_radius to compute the spectral radius of a 16x16 Laplacian matrix.