Class for the LAPACK eigensolver. More...
#include <eigen_solver.h>
Inheritance diagram for oomph::LAPACK_QZ:Public Member Functions | |
| LAPACK_QZ () | |
| Empty constructor. More... | |
| LAPACK_QZ (const LAPACK_QZ &) | |
| Empty copy constructor. More... | |
| virtual | ~LAPACK_QZ () |
| Empty desctructor. 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 | find_eigenvalues (const ComplexMatrixBase &A, const ComplexMatrixBase &M, Vector< std::complex< double > > &eigenvalue, Vector< Vector< std::complex< double > > > &eigenvector) |
| void | get_eigenvalues_right_of_shift () |
Public Member Functions inherited from oomph::EigenSolver | |
| 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... | |
Public Member Functions inherited from oomph::DistributableLinearAlgebraObject | |
| 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... | |
Additional Inherited Members | |
Protected Member Functions inherited from oomph::DistributableLinearAlgebraObject | |
| void | clear_distribution () |
| clear the distribution of this distributable linear algebra object More... | |
Protected Attributes inherited from oomph::EigenSolver | |
| double | Sigma_real |
| Double value that represents the real part of the shift in shifted eigensolvers. More... | |
Class for the LAPACK eigensolver.
Definition at line 193 of file eigen_solver.h.
|
inline |
Empty constructor.
Definition at line 198 of file eigen_solver.h.
|
inline |
Empty copy constructor.
Definition at line 201 of file eigen_solver.h.
|
inlinevirtual |
Empty desctructor.
Definition at line 204 of file eigen_solver.h.
References oomph::EigenSolver::solve_eigenproblem().
| void oomph::LAPACK_QZ::find_eigenvalues | ( | const ComplexMatrixBase & | A, |
| const ComplexMatrixBase & | M, | ||
| Vector< std::complex< double > > & | eigenvalue, | ||
| Vector< Vector< std::complex< double > > > & | eigenvector | ||
| ) |
Find the eigenvalues of a generalised eigenvalue problem specified by 
Use LAPACK to solve a complex eigen problem specified by the given matrices.
Definition at line 598 of file eigen_solver.cc.
References i, and oomph::ComplexMatrixBase::nrow().
|
inline |
Set the desired eigenvalues to be right of the shift Dummy at the moment
Definition at line 221 of file eigen_solver.h.
|
virtual |
Solve the eigen problem.
Use LAPACK to solve an eigen problem that is assembled by elements in a mesh in a Problem object.
Implements oomph::EigenSolver.
Definition at line 462 of file eigen_solver.cc.
References oomph::DistributableLinearAlgebraObject::build_distribution(), oomph::Problem::communicator_pt(), oomph::DistributableLinearAlgebraObject::distribution_pt(), oomph::Problem::get_eigenproblem_matrices(), i, oomph::Problem::ndof(), and oomph::EigenSolver::Sigma_real.