aglowav2::Operator00< F > Class Template Reference
Stiffness matrix compressed with the agglomerated wavelets. More...
#include <operator.hh>
Classes | |
struct | Matrix |
Structure to hold one matrix row/column. More... | |
struct | Pattern |
Structure to hold one run of the sparsity pattern. More... | |
Public Types | |
typedef Cmplxtype< concepts::Real >::type | c_type |
Real type of data type. More... | |
typedef Realtype< concepts::Real >::type | r_type |
Real type of data type. More... | |
typedef concepts::Real | type |
Type of data, e.g. matrix entries. More... | |
Public Member Functions | |
const F * | diag () const |
Returns the diagonal of the stiffness matrix (for preconditioning) More... | |
virtual const uint | dimX () const |
Returns the size of the image space of the operator (number of rows of the corresponding matrix) More... | |
virtual const uint | dimY () const |
Returns the size of the source space of the operator (number of columns of the corresponding matrix) More... | |
uint | maxMemory () const |
uint | memory () const |
Returns the memory used by the operator. More... | |
virtual void | operator() () |
Application operator without argument. More... | |
void | operator() (const concepts::Function< F > &fncY, concepts::Function< F > &fncX) |
Application operator. More... | |
void | operator() (const concepts::Vector< F > &fncY, concepts::Vector< F > &fncX) |
virtual void | operator() (const Function< c_type > &fncY, Function< c_type > &fncX) |
Application operator for complex function fncY . More... | |
virtual void | operator() (const Function< r_type > &fncY, Function< concepts::Real > &fncX) |
Application operator for real function fncY . More... | |
Operator00 (AglowavBF00< F > &bf, const Haar3d0< F > &spc, const Delta< F > &delta) | |
Constructor. More... | |
void | pattern (std::ostream &os, uint nr) const |
Writes sparsity pattern to str (Matlab format) More... | |
void | patternL (std::ostream &os, uint nr) const |
Sorts unknowns by level and writes than sparsity pattern to str (Matlab format) More... | |
virtual void | show_messages () |
const concepts::Space< F > & | spaceX () const |
Returns the image space of the operator. More... | |
const concepts::Space< F > & | spaceY () const |
Returns the source space of the operator. More... | |
void | uncompress (std::ostream &os, uint nr) const |
Writes matrix to os in the Matlab sparse matrix format. More... | |
void | uncompressL (std::ostream &os, uint nr) const |
Sorts unknowns by level and writes than the matrix to os in the Matlab sparse matrix format. More... | |
~Operator00 () | |
Destructor. More... | |
Protected Member Functions | |
std::ostream & | info (std::ostream &os) const |
Some information about the operator. More... | |
Protected Attributes | |
uint | dimX_ |
Dimension of image space and the source space. More... | |
uint | dimY_ |
Private Member Functions | |
void | compress_ (uint dim, uint idx, F valbuf[], uint nval, Pattern patbuf[], uint npat) |
Compresses matrix lines. More... | |
void | dstore_ (concepts::ElementMatrix< F > &A, uint idx, F **val, Pattern **pat) |
Stores diagonal part in val and diag_. More... | |
void | lstore_ (concepts::ElementMatrix< F > &A, uint idx, F *val, Pattern **pat) |
Stores lower part in val. More... | |
void | ustore_ (concepts::ElementMatrix< F > &A, uint idx, F **val, Pattern *pat) |
Stores upper part in val. More... | |
Private Attributes | |
F * | diag_ |
Diagonal of the matrix. More... | |
uint | maxmem_ |
Maximal memory used for the construction of the matrix (incl. More... | |
uint | mem_ |
Memory used by the operator. More... | |
Matrix * | mtx_ |
Matrix entries in sparse format. More... | |
uint | n_ |
Dimension of the space. More... | |
uint | nentry_ |
Number of entries in the compressed matrix. More... | |
const Haar3d0< F > & | spc_ |
Source and image space of the operator. More... | |
Detailed Description
template<class F = concepts::Real>
class aglowav2::Operator00< F >
Stiffness matrix compressed with the agglomerated wavelets.
- Parameters
-
F Field (Real or Cmplx)
Definition at line 91 of file operator.hh.
Member Typedef Documentation
◆ c_type
|
inherited |
Real type of data type.
Definition at line 49 of file compositions.hh.
◆ r_type
|
inherited |
Real type of data type.
Definition at line 47 of file compositions.hh.
◆ type
|
inherited |
Type of data, e.g. matrix entries.
Definition at line 45 of file compositions.hh.
Constructor & Destructor Documentation
◆ Operator00()
aglowav2::Operator00< F >::Operator00 | ( | AglowavBF00< F > & | bf, |
const Haar3d0< F > & | spc, | ||
const Delta< F > & | delta | ||
) |
Constructor.
- Parameters
-
bf Bilinear form spc Agglomerated wavelet space delta Truncation matrix
◆ ~Operator00()
aglowav2::Operator00< F >::~Operator00 | ( | ) |
Destructor.
Member Function Documentation
◆ compress_()
|
private |
Compresses matrix lines.
◆ diag()
|
inline |
Returns the diagonal of the stiffness matrix (for preconditioning)
Definition at line 117 of file operator.hh.
◆ dimX()
|
inlinevirtualinherited |
Returns the size of the image space of the operator (number of rows of the corresponding matrix)
Definition at line 93 of file compositions.hh.
◆ dimY()
|
inlinevirtualinherited |
Returns the size of the source space of the operator (number of columns of the corresponding matrix)
Definition at line 98 of file compositions.hh.
◆ dstore_()
|
private |
Stores diagonal part in val and diag_.
◆ info()
|
protectedvirtual |
Some information about the operator.
Reimplemented from concepts::Operator< concepts::Real >.
◆ lstore_()
|
private |
Stores lower part in val.
◆ maxMemory()
|
inline |
Definition at line 123 of file operator.hh.
◆ memory()
|
inline |
Returns the memory used by the operator.
Definition at line 119 of file operator.hh.
◆ operator()() [1/5]
|
virtualinherited |
Application operator without argument.
◆ operator()() [2/5]
void aglowav2::Operator00< F >::operator() | ( | const concepts::Function< F > & | fncY, |
concepts::Function< F > & | fncX | ||
) |
Application operator.
Computes fncX
= A(fncY
) where A is this operator
◆ operator()() [3/5]
void aglowav2::Operator00< F >::operator() | ( | const concepts::Vector< F > & | fncY, |
concepts::Vector< F > & | fncX | ||
) |
◆ operator()() [4/5]
|
virtualinherited |
Application operator for complex function fncY
.
Computes fncX
= A(fncY
) where A is this operator. fncX
becomes complex.
In derived classes its enough to implement the operator() for complex Operator's. If a real counterpart is not implemented, the function fncY
is splitted into real and imaginary part and the application operator for real functions is called for each. Then the result is combined.
If in a derived class the operator() for complex Operator's is not implemented, a exception is thrown from here.
◆ operator()() [5/5]
|
virtualinherited |
Application operator for real function fncY
.
Computes fncX
= A(fncY
) where A is this operator.
fncX
becomes the type of the operator, for real data it becomes real, for complex data it becomes complex.
In derived classes its enough to implement the operator() for real Operator's. If a complex counterpart is not implemented, the function fncY
is transformed to a complex function and then the application operator for complex functions is called.
If in a derived class the operator() for real Operator's is not implemented, a exception is thrown from here.
◆ pattern()
void aglowav2::Operator00< F >::pattern | ( | std::ostream & | os, |
uint | nr | ||
) | const |
Writes sparsity pattern to str (Matlab format)
◆ patternL()
void aglowav2::Operator00< F >::patternL | ( | std::ostream & | os, |
uint | nr | ||
) | const |
Sorts unknowns by level and writes than sparsity pattern to str (Matlab format)
◆ show_messages()
|
inlinevirtualinherited |
Definition at line 100 of file compositions.hh.
◆ spaceX()
|
inline |
Returns the image space of the operator.
Definition at line 112 of file operator.hh.
◆ spaceY()
|
inline |
Returns the source space of the operator.
Definition at line 114 of file operator.hh.
◆ uncompress()
void aglowav2::Operator00< F >::uncompress | ( | std::ostream & | os, |
uint | nr | ||
) | const |
Writes matrix to os in the Matlab sparse matrix format.
◆ uncompressL()
void aglowav2::Operator00< F >::uncompressL | ( | std::ostream & | os, |
uint | nr | ||
) | const |
Sorts unknowns by level and writes than the matrix to os in the Matlab sparse matrix format.
◆ ustore_()
|
private |
Stores upper part in val.
Member Data Documentation
◆ diag_
|
private |
Diagonal of the matrix.
Definition at line 193 of file operator.hh.
◆ dimX_
|
protectedinherited |
Dimension of image space and the source space.
Definition at line 104 of file compositions.hh.
◆ dimY_
|
protectedinherited |
Definition at line 104 of file compositions.hh.
◆ maxmem_
|
private |
Maximal memory used for the construction of the matrix (incl.
bilinear form)
Definition at line 188 of file operator.hh.
◆ mem_
|
private |
Memory used by the operator.
Definition at line 184 of file operator.hh.
◆ mtx_
|
private |
Matrix entries in sparse format.
Definition at line 181 of file operator.hh.
◆ n_
|
private |
Dimension of the space.
Definition at line 179 of file operator.hh.
◆ nentry_
|
private |
Number of entries in the compressed matrix.
Definition at line 190 of file operator.hh.
◆ spc_
|
private |
Source and image space of the operator.
Definition at line 177 of file operator.hh.
The documentation for this class was generated from the following file:
- aglowav2/operator.hh