Spectral Integral Suite in C++
|
Given a linear block matrix operator and appropriate boundary conditions, this class will produce an Eigen matrix representing the discretized version. The implementation will naturally involve column pivoting, and the pivot matrix is also stored. More...
#include <sis.hpp>
Public Member Functions | |
Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | operator() (const LinopMat< T > &Lmat_, const BcMat< T > &bc_) |
Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | operator() (const LinopMat< T > &Lmat) |
Discretization based on a previous call with Boundary conditions. Then other LinopMats can be discretized based on a previous Lbc called with operator()(const LinopMat<T> &Lmat, const BcMat<T> &bc). More... | |
Public Member Functions inherited from sis::MatGen< T > | |
MatGen () | |
Null Constructor. More... | |
MatGen (int n_) | |
Constructor. More... | |
void | compute (int n_) |
Call this to generate integration matrices for highest order n. More... | |
void | clear () |
Public Attributes | |
Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | P |
Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | subs_mat |
Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | mat_temp |
std::vector< int > | highest_each_column |
int | num_bc |
Public Attributes inherited from sis::MatGen< T > | |
std::vector< Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > > | mats |
std::vector< Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > > | mats2 |
std::vector< Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > > | con_mats |
Given a linear block matrix operator and appropriate boundary conditions, this class will produce an Eigen matrix representing the discretized version. The implementation will naturally involve column pivoting, and the pivot matrix is also stored.
|
inline |
Generates the Eigen matrix. Note that columns are pivoted according to P. Lmat is the operator, bc is the boundary condition and n_ is the highest order.
Definition at line 9665 of file sis.hpp.
References sis::MatGen< T >::compute(), sis::Discretize< T >::highest_each_column, sis::Discretize< T >::mat_temp, sis::N, sis::Discretize< T >::num_bc, sis::Discretize< T >::P, and sis::Discretize< T >::subs_mat.
|
inline |
Discretization based on a previous call with Boundary conditions. Then other LinopMats can be discretized based on a previous Lbc called with operator()(const LinopMat<T> &Lmat, const BcMat<T> &bc).
Definition at line 9802 of file sis.hpp.
References sis::Discretize< T >::highest_each_column, sis::N, sis::Discretize< T >::num_bc, sis::Discretize< T >::P, and sis::Discretize< T >::subs_mat.
std::vector<int> sis::Discretize< T >::highest_each_column |
Definition at line 9659 of file sis.hpp.
Referenced by sis::Discretize< std::complex< T > >::ChebDiff(), sis::Discretize< std::complex< T > >::MatAppend(), sis::Discretize< T >::operator()(), and sis::Discretize< std::complex< T > >::operator()().
Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> sis::Discretize< T >::mat_temp |
Definition at line 9658 of file sis.hpp.
Referenced by sis::Discretize< std::complex< T > >::MatAppend(), sis::Discretize< T >::operator()(), and sis::Discretize< std::complex< T > >::operator()().
int sis::Discretize< T >::num_bc |
Definition at line 9660 of file sis.hpp.
Referenced by sis::Discretize< std::complex< T > >::MatAppend(), sis::Discretize< T >::operator()(), and sis::Discretize< std::complex< T > >::operator()().
Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> sis::Discretize< T >::P |
Definition at line 9656 of file sis.hpp.
Referenced by sis::Discretize< T >::operator()(), and sis::Discretize< std::complex< T > >::operator()().
Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> sis::Discretize< T >::subs_mat |
Definition at line 9657 of file sis.hpp.
Referenced by sis::Discretize< std::complex< T > >::MatAppend(), sis::Discretize< T >::operator()(), and sis::Discretize< std::complex< T > >::operator()().