Driver for ARPARK solvers. More...
#include <ArpackSolver.hxx>
Public Member Functions | |
| ArpackSolver () | |
| Constructor. | |
| ~ArpackSolver () | |
| Destructor. | |
| void | Init (int n, int nev, int ncv, int maxit, T tol, string solver_type, int mode, string which, char bmat, char HowMny, bool with_arpack_verbose=false) |
| Initializations. More... | |
| void | CheckParameter () |
| Check parameters. | |
| void | Clear () |
| Clear memories. | |
| void | Allocate () |
| Allocates arrays. | |
| void | Deallocate () |
| Deallocates arrays. | |
| void | SetArpackVerbose () |
| tells to Arpack to display debug information | |
| void | ClearArpackVerbose () |
| No ARPACK info is to be displayed. | |
| Y * | GetFirstWorkVector () |
| Gets the address of the first vector in the ARPACK working array. | |
| Y * | GetSecondWorkVector () |
| Gets the address of the second vector in the ARPACK working array. | |
| Y * | GetEigenVector (int index) |
| Gets one eigenvector. More... | |
| Y | GetEigenValue (int index) |
| Gets one eigenvalue. More... | |
| int | GetReverseCommunicationFlag () |
| Gets the reverse communication flag. | |
| void | SetReverseCommunicationFlag (int ido) |
| Sets the reverse communication flag. More... | |
| int | GetInfoFlag () |
| Gets the info flag. | |
| void | SetInfoFlag (int info) |
| Sets the info flag. More... | |
| int | GetConvergedNumber () |
| Gets the number of "converged" Ritz values. | |
| bool | Continue () |
| Calls ARPACK computation routine. | |
| bool | Finish () |
| Post-processing. | |
Static Public Member Functions | |
| static void | SetArpackVerbose (string s) |
| tells to Arpack to display debug information | |
Protected Attributes | |
| int | n_ |
| Dimension of the problem. | |
| int | nev_ |
| Number of eigenvalues to be computed. | |
| int | ncv_ |
| Number of Arnoldi vectors generated at each iteration. | |
| int | maxit_ |
| Maximum number of Arnoldi update iterations. | |
| T | tol_ |
| Stopping criterion (relative accuracy of Ritz values). | |
| string | solver_type_ |
| Type of solver; set to "symmetric", "non-symmetric", "complex-single", or "complex-double". | |
| int | mode_ |
| Indicates the type of the eigenproblem (regular, shift and invert, etc). | |
| string | which_ |
| Specify which of the Ritz values of OP to compute. | |
| char | bmat_ |
| Standard ('I') or generalized ('G") eigenproblem? | |
| char | HowMny_ |
| Y | sigma_ |
| Shift. | |
| Y * | resid_ |
| Residual vector. | |
| int | ishfts_ |
| With shift? | |
| int | ldv_ |
| Leading dimension of the Arnoldi basis / Schur vectors (v_). | |
| int * | pselect_ |
| int | ierr_ |
| Error flag on output. | |
| bool | rvec_ |
| Eigenvectors/schur vectors to be computed? | |
| int | ido_ |
| ARPACK reverse communication flag. | |
| int | info_ |
| ARPACK error flag. | |
| int | lworkl_ |
| Dimension of array workl. | |
| int | lworkv_ |
| Dimension of array workv. | |
| int | lrwork_ |
| Dimension of array rwork. | |
| int | iparam_ [11] |
| Vector that handles original ARPACK parameters. | |
| int | ipntr_ [14] |
| Vector that handles original ARPACK pointers. | |
| T * | rwork_ |
| ARPACK internal vector. | |
| Y * | workl_ |
| ARPACK internal vector. | |
| Y * | workd_ |
| ARPACK internal vector. | |
| Y * | workev_ |
| ARPACK internal vector. | |
| Y * | v_ |
| Arnoldi basis / Schur vectors. | |
| int | nconv_ |
| Number of "converged" Ritz values. | |
| Y * | eig_val_ |
| Eigenvalues. | |
| Y * | eig_vec_ |
| Eigenvectors. | |
Driver for ARPARK solvers.
Definition at line 28 of file ArpackSolver.hxx.
| Y Seldon::ArpackSolver< T, Y >::GetEigenValue | ( | int | index | ) |
Gets one eigenvalue.
| index | index of the eigenvalue. |
Definition at line 279 of file ArpackSolver.cxx.
| Y * Seldon::ArpackSolver< T, Y >::GetEigenVector | ( | int | index | ) |
Gets one eigenvector.
| index | index of the eigenvector. |
Definition at line 268 of file ArpackSolver.cxx.
| void Seldon::ArpackSolver< T, Y >::Init | ( | int | n, |
| int | nev, | ||
| int | ncv, | ||
| int | maxit, | ||
| T | tol, | ||
| string | solver_type, | ||
| int | mode, | ||
| string | which, | ||
| char | bmat, | ||
| char | HowMny, | ||
| bool | with_arpack_verbose = false |
||
| ) |
Initializations.
| n | dimension of the problem. |
| nev | number of eigenvalues to be computed. |
| ncv | number of Arnoldi vectors generated at each iteration. |
| maxit | maximum number of Arnoldi update iterations. |
| tol | stopping criterion (relative accuracy of Ritz values). |
| solver_type | type of solver. Set to "symmetric", "non-symmetric", "complex-single", or "complex-double" |
| mode | indicates the type of the eigenproblem (regular, shift and invert, etc). |
| which | specify which of the Ritz values of OP to compute. |
| bmat | standard ('I') or generalized ('G") eigenproblem? |
| HowMny | whether eigenvectors ('A') or schur vectors ('P') to be computed. Works with 'rvec' set to false. |
| with_arpack_verbose | whether ARPACK info is displayed. |
Definition at line 65 of file ArpackSolver.cxx.
| void Seldon::ArpackSolver< T, Y >::SetInfoFlag | ( | int | info | ) |
Sets the info flag.
| info | the info flag to set. |
Definition at line 317 of file ArpackSolver.cxx.
| void Seldon::ArpackSolver< T, Y >::SetReverseCommunicationFlag | ( | int | ido | ) |
Sets the reverse communication flag.
| ido | the reverse communication flag to be set. |
Definition at line 298 of file ArpackSolver.cxx.
|
protected |
Whether eigenvectors ('A') or schur vectors ('P') to be computed. Works with 'rvec' set to false.
Definition at line 55 of file ArpackSolver.hxx.
|
protected |
Logical array with dimension equal to the number of Arnoldi vectors (ncv_).
Definition at line 69 of file ArpackSolver.hxx.