Spectral Integral Suite in C++
|
This class represents a block matrix operator. It is a matrix of operators. More...
#include <sis.hpp>
Public Member Functions | |
LinopMat () | |
Null constructor. More... | |
LinopMat (int r_, int c_) | |
Initializes a Linop Matrix of r_ rows and c_ columns. More... | |
LinopMat (const LinopMat< std::complex< T > > &in) | |
Copy constructor. More... | |
LinopMat (const LinopMat< T > &in) | |
Copy constructor. More... | |
void | operator= (const LinopMat< std::complex< T > > &in) |
Assignment operator. More... | |
void | operator= (const LinopMat< T > &in) |
Assignment operator. More... | |
LinopMat< std::complex< T > > & | operator<< (std::complex< T > b) |
Use this to input multiple Linops to the LinopMat using comma separators. Input type of constant. More... | |
LinopMat< std::complex< T > > & | operator<< (T b) |
Use this to input multiple Linops to the LinopMat using comma separators. Input type of constant. More... | |
Linop< std::complex< T > > & | operator[] (int i) |
Use this to to refer to Linops. For 1D Matrices, we use the Row major format when refering to [i]. See wiki for row-major format. More... | |
Linop< std::complex< T > > & | operator() (int i, int j) |
Use this to to refer to Linop. For 2D Matrices, refer to matrix element Linop by (i,j) with the row and column index. Indices start from 0. More... | |
ChebfunMat< std::complex< T > > | operator() (ChebfunMat< std::complex< T > > in) |
Use this to apply a LinopMat on a ChebfunMat. More... | |
LinopMat< std::complex< T > > & | operator<< (Eigen::Array< std::complex< T >, Eigen::Dynamic, 1 > b) |
Use this to input multiple Linops to the LinopMat using comma separators. Input type Eigen array. More... | |
LinopMat< std::complex< T > > & | operator<< (std::valarray< std::complex< T > > b) |
Use this to input multiple Linops to the LinopMat using comma separators. Input type valarray. More... | |
LinopMat< std::complex< T > > & | operator<< (std::valarray< T > b) |
Use this to input multiple Linops to the LinopMat using comma separators. Input type valarray. More... | |
LinopMat< std::complex< T > > & | operator<< (Linop< std::complex< T > > b) |
Use this to input multiple Linops to the LinopMat using comma. More... | |
LinopMat< std::complex< T > > & | operator<< (Linop< T > b) |
Use this to input multiple Linops to the LinopMat using comma. More... | |
void | resize (int r_, int c_) |
This clears all contents in the LinopMat, and then creates a fresh LinopMat of size r_ x c_. More... | |
LinopMat< std::complex< T > > & | operator, (std::complex< T > b) |
Overloads comma separator to input Chebfuns into a ChebfunMat. Input type constant. More... | |
LinopMat< std::complex< T > > & | operator, (T b) |
Overloads comma separator to input Chebfuns into a ChebfunMat. Input type constant. More... | |
LinopMat< std::complex< T > > & | operator, (Eigen::Array< std::complex< T >, Eigen::Dynamic, 1 > b) |
Overloads comma separator to input Chebfuns into a ChebfunMat. Input type Eigen array. More... | |
LinopMat< std::complex< T > > & | operator, (std::valarray< std::complex< T > > b) |
Overloads comma separator to input Chebfuns into a ChebfunMat. Input type valarray. More... | |
LinopMat< std::complex< T > > & | operator, (std::valarray< T > b) |
Overloads comma separator to input Chebfuns into a ChebfunMat. Input type valarray. More... | |
LinopMat< std::complex< T > > & | operator, (Linop< std::complex< T > > b) |
Overloads comma separator to input Chebfuns into a ChebfunMat. Input type Chebfun. More... | |
LinopMat< std::complex< T > > & | operator, (Linop< T > b) |
Overloads comma separator to input Chebfuns into a ChebfunMat. Input type Chebfun. More... | |
void | setConstant (T in) |
Sets every member in LinopMat to constant. More... | |
void | setConstant (std::complex< T > in) |
Sets every member in LinopMat to complex constant. More... | |
void | setIdentity () |
Sets LinopMat to identity. More... | |
LinopMat< std::complex< T > > & | operator<< (LinopMat< std::complex< T > > b) |
Use this to input multiple LinopMats to the LinopMat using comma separators. Call at after initializing a LinopMat, or after calling resize, , similar to Eigen's << operator. CAREFUL: If dimensions are not compatible, it will not throw an error, and could end up in segv. More... | |
LinopMat< std::complex< T > > & | operator, (LinopMat< std::complex< T > > b) |
LinopMat< std::complex< T > > & | operator<< (LinopMat< T > b) |
LinopMat< std::complex< T > > & | operator, (LinopMat< T > b) |
LinopMat< std::complex< T > > | cTranspose () |
Public Attributes | |
int | r |
Number of rows. More... | |
int | c |
Number of columns. More... | |
std::valarray< Linop< std::complex< T > > > | LinopVec |
This 1D vector of Linops holds all Linops of the LinopMat in the row-major format. More... | |
int | countc |
int | countr |
bool | go_to_next_row |
This class represents a block matrix operator. It is a matrix of operators.
|
inline |
|
inline |
Initializes a Linop Matrix of r_ rows and c_ columns.
Definition at line 8398 of file sis.hpp.
References sis::LinopMat< T >::c, sis::LinopMat< T >::LinopVec, and sis::LinopMat< T >::r.
|
inline |
Copy constructor.
Definition at line 8406 of file sis.hpp.
References sis::LinopMat< T >::c, sis::LinopMat< T >::LinopVec, sis::LinopMat< T >::r, and sis::LinopMat< T >::resize().
|
inline |
Copy constructor.
Definition at line 8417 of file sis.hpp.
References sis::LinopMat< T >::c, sis::LinopMat< T >::LinopVec, sis::LinopMat< T >::r, and sis::LinopMat< T >::resize().
|
inline |
Definition at line 8790 of file sis.hpp.
References sis::LinopMat< T >::c, sis::conj(), and sis::LinopMat< T >::r.
|
inline |
Use this to to refer to Linop. For 2D Matrices, refer to matrix element Linop by (i,j) with the row and column index. Indices start from 0.
Definition at line 8471 of file sis.hpp.
References sis::LinopMat< T >::c, and sis::LinopMat< T >::LinopVec.
|
inline |
Use this to apply a LinopMat on a ChebfunMat.
Definition at line 8477 of file sis.hpp.
References sis::ChebfunMat< T >::c, sis::LinopMat< T >::c, sis::LinopMat< T >::operator()(), sis::ChebfunMat< T >::r, and sis::LinopMat< T >::r.
|
inline |
Overloads comma separator to input Chebfuns into a ChebfunMat. Input type constant.
Definition at line 8553 of file sis.hpp.
References sis::LinopMat< T >::LinopVec.
|
inline |
Overloads comma separator to input Chebfuns into a ChebfunMat. Input type constant.
Definition at line 8561 of file sis.hpp.
References sis::LinopMat< T >::LinopVec.
|
inline |
Overloads comma separator to input Chebfuns into a ChebfunMat. Input type Eigen array.
Definition at line 8569 of file sis.hpp.
References sis::LinopMat< T >::LinopVec.
|
inline |
Overloads comma separator to input Chebfuns into a ChebfunMat. Input type valarray.
Definition at line 8578 of file sis.hpp.
References sis::LinopMat< T >::LinopVec.
|
inline |
Overloads comma separator to input Chebfuns into a ChebfunMat. Input type valarray.
Definition at line 8585 of file sis.hpp.
References sis::LinopMat< T >::LinopVec.
|
inline |
Overloads comma separator to input Chebfuns into a ChebfunMat. Input type Chebfun.
Definition at line 8593 of file sis.hpp.
References sis::LinopMat< T >::LinopVec.
|
inline |
Overloads comma separator to input Chebfuns into a ChebfunMat. Input type Chebfun.
Definition at line 8601 of file sis.hpp.
References sis::LinopMat< T >::LinopVec.
|
inline |
Definition at line 8672 of file sis.hpp.
References sis::LinopMat< T >::c, sis::LinopMat< T >::countc, sis::LinopMat< T >::countr, sis::LinopMat< T >::go_to_next_row, and sis::LinopMat< T >::operator()().
|
inline |
Definition at line 8747 of file sis.hpp.
References sis::LinopMat< T >::c, sis::LinopMat< T >::countc, sis::LinopMat< T >::countr, sis::LinopMat< T >::go_to_next_row, and sis::LinopMat< T >::operator()().
|
inline |
Use this to input multiple Linops to the LinopMat using comma separators. Input type of constant.
Definition at line 8457 of file sis.hpp.
References sis::LinopMat< T >::LinopVec.
|
inline |
Use this to input multiple Linops to the LinopMat using comma separators. Input type of constant.
Definition at line 8449 of file sis.hpp.
References sis::LinopMat< T >::LinopVec.
|
inline |
Use this to input multiple Linops to the LinopMat using comma separators. Input type Eigen array.
Definition at line 8502 of file sis.hpp.
References sis::LinopMat< T >::LinopVec.
|
inline |
Use this to input multiple Linops to the LinopMat using comma separators. Input type valarray.
Definition at line 8511 of file sis.hpp.
References sis::LinopMat< T >::LinopVec.
|
inline |
Use this to input multiple Linops to the LinopMat using comma separators. Input type valarray.
Definition at line 8519 of file sis.hpp.
References sis::LinopMat< T >::LinopVec.
|
inline |
Use this to input multiple Linops to the LinopMat using comma.
Definition at line 8527 of file sis.hpp.
References sis::LinopMat< T >::LinopVec.
|
inline |
Use this to input multiple Linops to the LinopMat using comma.
Definition at line 8535 of file sis.hpp.
References sis::LinopMat< T >::LinopVec.
|
inline |
Use this to input multiple LinopMats to the LinopMat using comma separators. Call at after initializing a LinopMat, or after calling resize, , similar to Eigen's << operator. CAREFUL: If dimensions are not compatible, it will not throw an error, and could end up in segv.
Definition at line 8640 of file sis.hpp.
References sis::LinopMat< T >::c, sis::LinopMat< T >::countc, sis::LinopMat< T >::countr, sis::LinopMat< T >::go_to_next_row, sis::LinopMat< T >::operator()(), sis::LinopMat< T >::r, and sis::LinopMat< T >::setConstant().
|
inline |
Definition at line 8716 of file sis.hpp.
References sis::LinopMat< T >::c, sis::LinopMat< T >::countc, sis::LinopMat< T >::countr, sis::LinopMat< T >::go_to_next_row, sis::LinopMat< T >::operator()(), sis::LinopMat< T >::r, and sis::LinopMat< T >::setConstant().
|
inline |
Assignment operator.
Definition at line 8427 of file sis.hpp.
References sis::LinopMat< T >::c, sis::LinopMat< T >::LinopVec, sis::LinopMat< T >::r, and sis::LinopMat< T >::resize().
|
inline |
Assignment operator.
Definition at line 8438 of file sis.hpp.
References sis::LinopMat< T >::c, sis::LinopMat< T >::LinopVec, sis::LinopMat< T >::r, and sis::LinopMat< T >::resize().
|
inline |
Use this to to refer to Linops. For 1D Matrices, we use the Row major format when refering to [i]. See wiki for row-major format.
Definition at line 8466 of file sis.hpp.
References sis::LinopMat< T >::LinopVec.
|
inline |
This clears all contents in the LinopMat, and then creates a fresh LinopMat of size r_ x c_.
Definition at line 8544 of file sis.hpp.
References sis::LinopMat< T >::c, sis::LinopMat< T >::LinopVec, and sis::LinopMat< T >::r.
|
inline |
Sets every member in LinopMat to constant.
Definition at line 8608 of file sis.hpp.
References sis::LinopMat< T >::c, sis::LinopMat< T >::operator()(), and sis::LinopMat< T >::r.
|
inline |
Sets every member in LinopMat to complex constant.
Definition at line 8617 of file sis.hpp.
References sis::LinopMat< T >::c, sis::LinopMat< T >::operator()(), and sis::LinopMat< T >::r.
|
inline |
Sets LinopMat to identity.
Definition at line 8626 of file sis.hpp.
References sis::LinopMat< T >::c, sis::LinopMat< T >::operator()(), sis::LinopMat< T >::r, and sis::LinopMat< T >::setConstant().
int sis::LinopMat< std::complex< T > >::c |
int sis::LinopMat< std::complex< T > >::countc |
int sis::LinopMat< std::complex< T > >::countr |
bool sis::LinopMat< std::complex< T > >::go_to_next_row |
std::valarray<Linop<std::complex<T> > > sis::LinopMat< std::complex< T > >::LinopVec |
int sis::LinopMat< std::complex< T > >::r |