Class for the Anasazi eigensolver. More...
#include <trilinos_eigen_solver.h>
Public Member Functions | |
ANASAZI () | |
Constructor. More... | |
ANASAZI (const ANASAZI &) | |
Empty copy constructor. More... | |
virtual | ~ANASAZI () |
Destructor, delete the linear solver. More... | |
int & | narnoldi () |
Access function for the number of Arnoldi vectors. More... | |
const int & | narnoldi () const |
Access function for the number of Arnoldi vectors (const version) More... | |
void | enable_compute_eigenvectors () |
Set to enable the computation of the eigenvectors (default) More... | |
void | disable_compute_eigenvectors () |
Set to disable the computation of the eigenvectors. More... | |
void | solve_eigenproblem (Problem *const &problem_pt, const int &n_eval, Vector< std::complex< double > > &eigenvalue, Vector< DoubleVector > &eigenvector) |
Solve the eigen problem. More... | |
void | get_eigenvalues_left_of_shift () |
Set the desired eigenvalues to be left of the shift. More... | |
void | get_eigenvalues_right_of_shift () |
Set the desired eigenvalues to be right of the shift. More... | |
void | track_eigenvalue_real_part () |
Set the real part to be the quantity of interest (default) More... | |
void | track_eigenvalue_imaginary_part () |
Set the imaginary part fo the quantity of interest. More... | |
void | track_eigenvalue_magnitude () |
Set the magnitude to be the quantity of interest. More... | |
LinearSolver *& | linear_solver_pt () |
Return a pointer to the linear solver object. More... | |
LinearSolver *const & | linear_solver_pt () const |
Return a pointer to the linear solver object (const version) More... | |
![]() | |
EigenSolver () | |
Empty constructor. More... | |
EigenSolver (const EigenSolver &) | |
Empty copy constructor. More... | |
virtual | ~EigenSolver () |
Empty destructor. More... | |
void | set_shift (const double &shift_value) |
Set the value of the shift. More... | |
const double & | get_shift () const |
Return the value of the shift (const version) More... | |
![]() | |
DistributableLinearAlgebraObject () | |
Default constructor - create a distribution. More... | |
DistributableLinearAlgebraObject (const DistributableLinearAlgebraObject &matrix) | |
Broken copy constructor. More... | |
void | operator= (const DistributableLinearAlgebraObject &) |
Broken assignment operator. More... | |
virtual | ~DistributableLinearAlgebraObject () |
Destructor. More... | |
LinearAlgebraDistribution * | distribution_pt () const |
access to the LinearAlgebraDistribution More... | |
unsigned | nrow () const |
access function to the number of global rows. More... | |
unsigned | nrow_local () const |
access function for the num of local rows on this processor. More... | |
unsigned | nrow_local (const unsigned &p) const |
access function for the num of local rows on this processor. More... | |
unsigned | first_row () const |
access function for the first row on this processor More... | |
unsigned | first_row (const unsigned &p) const |
access function for the first row on this processor More... | |
bool | distributed () const |
distribution is serial or distributed More... | |
bool | distribution_built () const |
void | build_distribution (const LinearAlgebraDistribution *const dist_pt) |
setup the distribution of this distributable linear algebra object More... | |
void | build_distribution (const LinearAlgebraDistribution &dist) |
setup the distribution of this distributable linear algebra object More... | |
Private Types | |
typedef double | ST |
typedef Teuchos::ScalarTraits< ST > | SCT |
typedef SCT::magnitudeType | MT |
typedef Anasazi::MultiVec< ST > | MV |
typedef Anasazi::Operator< ST > | OP |
typedef Anasazi::MultiVecTraits< ST, MV > | MVT |
typedef Anasazi::OperatorTraits< ST, MV, OP > | OPT |
Private Attributes | |
Anasazi::OutputManager< ST > * | Output_manager_pt |
Pointer to output manager. More... | |
LinearSolver * | Linear_solver_pt |
Pointer to a linear solver. More... | |
LinearSolver * | Default_linear_solver_pt |
Pointer to a default linear solver. More... | |
int | Spectrum |
Integer to set whether the real, imaginary or magnitude is required to be small or large. More... | |
int | NArnoldi |
Number of Arnoldi vectors to compute. More... | |
double | Sigma |
Set the shifted value. More... | |
bool | Small |
Boolean to set which part of the spectrum left (default) or right of the shifted value. More... | |
bool | Compute_eigenvectors |
Boolean to indicate whether or not to compute the eigenvectors. More... | |
Additional Inherited Members | |
![]() | |
void | clear_distribution () |
clear the distribution of this distributable linear algebra object More... | |
![]() | |
double | Sigma_real |
Double value that represents the real part of the shift in shifted eigensolvers. More... | |
Class for the Anasazi eigensolver.
Definition at line 538 of file trilinos_eigen_solver.h.
|
private |
Definition at line 544 of file trilinos_eigen_solver.h.
|
private |
Definition at line 545 of file trilinos_eigen_solver.h.
|
private |
Definition at line 547 of file trilinos_eigen_solver.h.
|
private |
Definition at line 546 of file trilinos_eigen_solver.h.
|
private |
Definition at line 548 of file trilinos_eigen_solver.h.
|
private |
Definition at line 543 of file trilinos_eigen_solver.h.
|
private |
Definition at line 542 of file trilinos_eigen_solver.h.
|
inline |
Constructor.
Definition at line 580 of file trilinos_eigen_solver.h.
|
inline |
Empty copy constructor.
Definition at line 596 of file trilinos_eigen_solver.h.
|
inlinevirtual |
Destructor, delete the linear solver.
Definition at line 599 of file trilinos_eigen_solver.h.
|
inline |
Set to disable the computation of the eigenvectors.
Definition at line 614 of file trilinos_eigen_solver.h.
|
inline |
Set to enable the computation of the eigenvectors (default)
Definition at line 611 of file trilinos_eigen_solver.h.
|
inline |
Set the desired eigenvalues to be left of the shift.
Definition at line 719 of file trilinos_eigen_solver.h.
|
inline |
Set the desired eigenvalues to be right of the shift.
Definition at line 722 of file trilinos_eigen_solver.h.
|
inline |
Return a pointer to the linear solver object.
Definition at line 734 of file trilinos_eigen_solver.h.
|
inline |
Return a pointer to the linear solver object (const version)
Definition at line 737 of file trilinos_eigen_solver.h.
|
inline |
Access function for the number of Arnoldi vectors.
Definition at line 605 of file trilinos_eigen_solver.h.
|
inline |
Access function for the number of Arnoldi vectors (const version)
Definition at line 608 of file trilinos_eigen_solver.h.
|
inlinevirtual |
Solve the eigen problem.
Implements oomph::EigenSolver.
Definition at line 617 of file trilinos_eigen_solver.h.
References oomph::Problem::dof_distribution_pt(), i, oomph::Problem::linear_solver_pt(), and oomph::oomph_info.
|
inline |
Set the imaginary part fo the quantity of interest.
Definition at line 728 of file trilinos_eigen_solver.h.
|
inline |
Set the magnitude to be the quantity of interest.
Definition at line 731 of file trilinos_eigen_solver.h.
|
inline |
Set the real part to be the quantity of interest (default)
Definition at line 725 of file trilinos_eigen_solver.h.
|
private |
Boolean to indicate whether or not to compute the eigenvectors.
Definition at line 574 of file trilinos_eigen_solver.h.
|
private |
Pointer to a default linear solver.
Definition at line 557 of file trilinos_eigen_solver.h.
|
private |
Pointer to a linear solver.
Definition at line 554 of file trilinos_eigen_solver.h.
|
private |
Number of Arnoldi vectors to compute.
Definition at line 564 of file trilinos_eigen_solver.h.
|
private |
Pointer to output manager.
Definition at line 551 of file trilinos_eigen_solver.h.
|
private |
Set the shifted value.
Definition at line 567 of file trilinos_eigen_solver.h.
|
private |
Boolean to set which part of the spectrum left (default) or right of the shifted value.
Definition at line 571 of file trilinos_eigen_solver.h.
|
private |
Integer to set whether the real, imaginary or magnitude is required to be small or large.
Definition at line 561 of file trilinos_eigen_solver.h.