#include <ProjMatrix.h>
Inheritance diagram for ProjMatrix::

Public Methods | |
| ProjMatrix (const char *description_="Projecton operator") | |
| ProjMatrix (const Proj_prm &prm, const char *description_="Projection operator") | |
| virtual | ~ProjMatrix () |
| virtual bool | ok () const |
| virtual bool | rebindMatrix (LinEqMatrix &mat) |
| virtual void | apply (const LinEqVector &c, LinEqVector &d, TransposeMode tpmode, bool add_to_d=false) |
| virtual LinEqMatrix& | A () |
| virtual void | scale (const LinEqVector &s, TransposeMode tpmode) |
| virtual void | scale (real s) |
| virtual int | getWork () const |
| virtual real | getStorage () const |
| virtual String | description () const |
| virtual void | print (Os os, int output=1) const |
Protected Attributes | |
| Handle(LinEqMatrix) | projMatrix |
NAME: ProjMatrix - matrix-based projection operators between grids
DESCRIPTION:
This projection operator uses a "LinEqMatrix" representation, i.e., any matrix format can be applied. The "LinEqMatrix" object must be filled by the user.
|
|
See class "Proj". Notice that a "LinEqMatrix" object must be supplied by use of "rebindMatrix". |
|
|
See documentation of one of the overloaded constructor. |
|
|
|
|
|
returns access to the matrix representation of the projection operator. Reimplemented from Proj. |
|
|
applies the projection operator to the vector "c", producting the vector "d". Depending on the "tpmode" argument, either operator or its transposed is used. If the flag "add_to_d" is true, the computed results is added to "d", otherwise it overwrites any prior contents in "d". Reimplemented from Proj. |
|
|
returns the "String" description of the projection operator. Reimplemented from Proj. Reimplemented in ProjInterpSparse, ProjMatSparse, MxProj, ProjInterpMat, ProjInterpSparseHier, and ProjMat. |
|
|
Reimplemented from Proj. |
|
|
Reimplemented from Proj. |
|
|
returns true if the projection operator is in a consistent state. Reimplemented from Proj. |
|
|
Reimplemented from Proj. Reimplemented in ProjInterpSparse, ProjMatSparse, and MxProj. |
|
|
connects the projection operator to a "LinEqMatrix" object which will be used to store the projection. That is, through the "LinEqMatrix" interface, any matrix storage format can be applied. Reimplemented from Proj. |
|
|
See documentation of one of the overloaded functions. Reimplemented from Proj. Reimplemented in ProjMatSparse, and ProjMat. |
|
|
scales the projection operator according to input values. If the a scalar constant "s" is applied, all entries in the operator is scaled by the constant value, "P(i,j)=s*P(i,j)". If the input sepcifies a "LinEqVector", the operator is scaled row- or columnwise. That is, for "tpmode=TRANSPOSED" the rows are scaled, "P(i,j) = s(i)*P(i,j)". Similarly, for "tpmode=NOT_TRANSPOSED" the wolumns are scaled as "P(i,j)=s(j)*P(i,j)". Reimplemented from Proj. Reimplemented in ProjMatSparse, and ProjMat. |
|
|
|