Spectral Integral Suite in C++
sis::EigenSolver< std::complex< T > > Class Template Reference

This class computes the eigenvalues and eigenvectors (functions) of a Linear operator Linop, overloaded to a complex Linop. More...

#include <sis.hpp>

Inheritance diagram for sis::EigenSolver< std::complex< T > >:
Collaboration diagram for sis::EigenSolver< std::complex< T > >:

Additional Inherited Members

- Public Member Functions inherited from sis::GeneralizedEigenSolver< std::complex< T > >
 GeneralizedEigenSolver ()
 Null constructor. More...
 
void compute (const LinopMat< std::complex< T > > &Lmat_, int num_vals, const BcMat< std::complex< T > > &bc_)
 Call this with an input Linear operator to solve for eigenvalues and vectors. The number of Eigen values/vectors is num_vals, num_vals has to be less than N*r. More...
 
void compute (const LinopMat< std::complex< T > > &Lmat_, const BcMat< std::complex< T > > &bc_)
 Call this with an input Linear operator to solve for eigenvalues and vectors. More...
 
void compute (const LinopMat< std::complex< T > > &Lmat_, const LinopMat< std::complex< T > > &Mmat_, int num_vals, const BcMat< std::complex< T > > &Lbc_)
 The main solver for LinopMat. Read about class BcMat to see how this works, also see examples example/Ex_16.cpp and test/Visco_3D_pipe.cpp of how this is applied. This function is useful when boundary conditions are mixed between variables. Also, if you have boundary conditions that have an associated eigenvalue, see compute_with_constraints. More...
 
void computeAppend (const LinopMat< std::complex< T > > &Lmat_, const LinopMat< std::complex< T > > &Mmat_, int num_vals, const BcMat< std::complex< T > > &Lbc_)
 Another main solver for LinopMat, a minimal solver for eigenvalues only. LAPACK needs to be linked to use this, and SIS_USE_LAPACK has to be defined. More...
 
void compute_with_constraints (const LinopMat< std::complex< T > > &Lmat_, const LinopMat< std::complex< T > > &Mmat_, int num_vals, const BcMat< std::complex< T > > &Lbc_, const BcMat< std::complex< T > > &Mbc_)
 
void sortByLargestReal ()
 This function will sort the eigenvalues and vectors by the largest real part. More...
 
void keepConverged ()
 This will remove all unconverged and infinite eigenvalues from the list. More...
 
void keep (int n)
 This will keep only n and remove the rest. Use this carefully. Only first n will be kept, irrespective of convergence. More...
 
void removeInf ()
 This will remove all infinite eigenvalues. Useful when solving generalized eigenvalue problems. More...
 
void compute (const Eigen::Matrix< std::complex< T >, Eigen::Dynamic, Eigen::Dynamic > &L_, const Eigen::Matrix< std::complex< T >, Eigen::Dynamic, Eigen::Dynamic > &M_, Discretize< std::complex< T > > Dis)
 This is used to use a discretization to compute eigenvalues. More...
 
- Public Attributes inherited from sis::GeneralizedEigenSolver< std::complex< T > >
ChebfunMat< std::complex< T > > eigenvectors
 
Eigen::Matrix< std::complex< T >, Eigen::Dynamic, 1 > eigenvalues
 
Eigen::Matrix< int, Eigen::Dynamic, 1 > MPorNot
 
int converged
 Number of eigenvalues that have converged to machine precision. More...
 

Detailed Description

template<class T>
class sis::EigenSolver< std::complex< T > >

This class computes the eigenvalues and eigenvectors (functions) of a Linear operator Linop, overloaded to a complex Linop.

Definition at line 7947 of file sis.hpp.


The documentation for this class was generated from the following file: