Spectral Integral Suite in C++
|
This class computes the eigenvalues and eigenvectors (functions) of a Linear operator Linop, overloaded to a complex Linop. More...
#include <sis.hpp>
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... | |
This class computes the eigenvalues and eigenvectors (functions) of a Linear operator Linop, overloaded to a complex Linop.