HCL_IRArnoldi_d implements the implicitly restarted Arnoldi algorithm for solving the (generalized) eigenvalue problem
![]() | Write (ostream &) const Prints description of the object |
![]() | Methods
| ||||||||||||||||
![]() | Input Parameters | ||||||||||||||||
![]() | Output Parameters
|
HCL_IRArnoldi_d implements the implicitly restarted Arnoldi algorithm for solving the (generalized) eigenvalue problem. The algorithm computes approximations to a few eigenpairs of of a linear operator. Optionally, this can be done with respect to the semi-inner product defined by a positive semi-definite linear operator B. This is an adaptation of the algorithm inplemented in ARPACK.
References:
R.B. Lehoucq, D.C. Sorensen \& C. Yang, "ARPACK Users Guide"
int Solve( int &nev, HCL_LinearOp_d &A, HCL_Vector_d &x )
A - Linear operator.
x - Vector to start Arnoldi iteration. This is changed by
the function, and does not have a meaningful value on return.
int Solve( int &nev, HCL_LinearOp_d &OP, double sigmar, HCL_Vector_d &resid )
OP - Linear operator Inv[A-sigmar*I].
sigmar - Real shift to apply.
x - Vector to start Arnoldi iteration. This is changed by
the function, and does not have a meaningful value on return.
int Solve( int &nev, HCL_LinearOp_d &OP, HCL_LinearOp_d &M, HCL_Vector_d &x )
OP - Linear operator Inv[M]*A.
x - Vector to start Arnoldi iteration. This is changed by
the function, and does not have a meaningful value on return.
virtual int Eigenvalue( int i, double &eigr, double &eigi )
eigr - Returns the real part of the ith eigenvalue.
eigi - Returns the imaginary part of the ith eigenvalue.
virtual int Eigenvalue( int i, double &eigr )
eigr - Returns the real part of the ith eigenvalue.
int EigPair(int i, double &eigr, double &eigi, HCL_Vector_d *vr, HCL_Vector_d *vi)
eigr - Returns the real part of the ith eigenvalue.
eigi - Returns the imaginary part of the ith eigenvalue.
vr - Returns the real part of the ith eigenvector.
vi - Returns the imaginary part of the ith eigenvector.
int EigPair(int i, double &eigr, HCL_Vector_d *vr )
eigr - Returns the real part of the ith eigenvalue.
vr - Returns the real part of the ith eigenvector.
Default = 0
0 - Success Input Parameters
int SubspaceDim
Default = 2*nev + 2
char Which[2]
"SM" - Smallest magnitude
"LM" - Largest magnitude
"SR" - Smallest real part
"LR" - Largest real part
"SI" - Smallest imaginary part
"LI" - Largest imaginary part
Default = "LM"
double Tol
Default = machine-epsilon
int MaxItn
Default = 100
int EigVectors
Default = 1
int SchurVectors
Default = 1
int DispFlag
0 - No output
1 - One-line summary output
2 - Detailed header and footer with timing information
3 - Per-iteration statistics Output Parameters
int TermCode
1 - Too many restart iterations taken
2 - Initial vector is zero
3 - LAPACK Eig failed (shouldn't happen)
4 - Algorithm stalled-out with an invariant subspace
6 - No shifts available for shifted QR algorithm (shouldn't happen)
7 - Computing the Schur vectors failed
8 - Computing the eigenvectors failed
alphabetic index hierarchy of classes
this page has been generated automatically by doc++
(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de