#include <MatDiag_Type.h>
Inheritance diagram for MatDiag(Type)::

Public Methods | |
| MatDiag(Type) () | |
| MatDiag(Type) (int n) | |
| MatDiag(Type) (int nrows, int ncolumns) | |
| MatDiag(Type) (const MatDiag(Type) &X) | |
| MatDiag(Type) (const Matrix(prm_Type) &pm) | |
| virtual | ~MatDiag(Type) () |
| virtual int | getNoRows () const |
| virtual int | getNoColumns () const |
| virtual int | getNoNonzeroes () const |
| virtual void | size (int &m, int &n) const |
| int | size () const |
| virtual int | getWork (const MatrixWork work_tp=MATVEC_WORK) const |
| virtual real | getStorage () const |
| virtual bool | makeItSimilar (Handle(Matrix(Type)) &M) const |
| virtual bool | redim (const Matrix(prm_Type) &pm) |
| bool | redim (int n) |
| bool | redim (int nrows, int ncolumns) |
| virtual bool | redim (const VecSimple(int) &ivec, const VecSimple(int) &jvec, int new_nrows, int new_ncolumns) |
| virtual void | getIndexSet (VecSimple(int) &ivec, VecSimple(int) &jvec) const |
| virtual bool | validIndexSet (const VecSimple(int) &ivec, const VecSimple(int) &jvec, const int new_nrows, const int new_ncolumns) |
| virtual Type& | elm (int i, int j) |
| Type& | operator() (int i, int j) |
| const Type& | operator() (int i, int j) const |
| Type& | operator() (int i) |
| const Type& | operator() (int i) const |
| virtual void | fill (const Matrix(Type) &X) |
| virtual void | fill (Type a) |
| MatDiag(Type)& | operator= (const MatDiag(Type) &X) |
| MatDiag(Type)& | operator= (Type a) |
| virtual void | assemble (const Mat(Type) &em, const VecSimple(int) &idx_row_trans, const VecSimple(int) &idx_col_trans, int elm_no) |
| virtual void | add (Matrix(Type) &bb, Matrix(Type) &cb) |
| virtual void | add (Matrix(Type) &bb, char s, Matrix(Type) &cb) |
| virtual void | add (Matrix(Type) &bb, Type b, Matrix(Type) &cb) |
| virtual void | add (Type a, Matrix(Type) &bb, Type b, Matrix(Type) &cb) |
| void | add (MatDiag(Type) &y, int power) |
| void | add (Type value) |
| virtual void | mult (Type value) |
| virtual void | prod (const Vector(Type) &xb, Vector(Type) &yb, TransposeMode tpmode=NOT_TRANSPOSED, bool add_to_yb=false) const |
| bool | factChol (bool zero_upper_part=true) |
| void | forwBackChol (Vec(Type) &b, Vec(Type) &x) |
| bool | factLU () |
| void | forwBackLU (Vec(Type) &b, Vec(Type) &x) |
| bool | factRILU (real omega=0.0, int level=0) |
| void | forwBackRILU (Vec(Type) &b, Vec(Type) &x) |
| virtual bool | factorize (const FactStrategy &fstrategy) |
| virtual void | forwBack (Vector(Type) &b, Vector(Type) &x) |
| virtual void | inverse (Mat(Type) &inv) |
| void | inverse (MatDiag(Type) &inv) |
| Type | det () |
| virtual void | SSOR1it (Vector(Type) &xnew, const Vector(Type) &xold, const Vector(Type) &b, real omega, TransposeMode tpmode=NOT_TRANSPOSED) const |
| virtual void | SSORsolve (Vector(Type) &y, const Vector(Type) &c, real omega, TransposeMode tpmode=NOT_TRANSPOSED) const |
| virtual void | SOR1it (Vector(Type) &xnew, const Vector(Type) &xold, const Vector(Type) &b, real omega, TransposeMode tpmode=NOT_TRANSPOSED) const |
| virtual void | SORsolve (Vector(Type) &y, const Vector(Type) &c, real omega, TransposeMode tpmode=NOT_TRANSPOSED) const |
| virtual void | Jacobi1it (Vector(Type) &xnew, const Vector(Type) &xold, const Vector(Type) &b, TransposeMode tpmode=NOT_TRANSPOSED) const |
| virtual void | Jacobisolve (Vector(Type) &y, const Vector(Type) &c, TransposeMode tpmode=NOT_TRANSPOSED) const |
| virtual void | print (Os os, const char *header=NULL, int nentries_per_line=3) const |
| virtual void | printAscii (Os os, const char *header=NULL) const |
| virtual void | scan (Is is) |
| virtual void | save (const char *filename, const char *name="X") const |
| virtual void | load (const char *filename, const char *name="X") |
| CLASS_INFO | VIRTUAL_CAST (MatDiag(Type)) |
Friends | |
| Os& | operator<< (Os &os, const MatDiag(Type) &X) |
| Is& | operator>> (Is &is, MatDiag(Type) &X) |
NAME: MatDiag(Type) - diagonal matrix
DESCRIPTION:
The class implements a diagonal matrix. Derivation from class "Matrix(Type)" ensures that the class is of matrix nature, while derivation from "Vec(Type)" enables implementation in terms of a vector.
|
|
|
|
|
|
|
|
See documentation of one of the overloaded constructor. |
|
|
See documentation of one of the overloaded constructor. |
|
|
See documentation of one of the overloaded constructor. |
|
|
|
|
|
Reimplemented from Matrix(Type). |
|
|
Reimplemented from Matrix(Type). |
|
|
Reimplemented from Matrix(Type). |
|
|
Reimplemented from Matrix(Type). |
|
|
Reimplemented from Matrix(Type). |
|
|
Reimplemented from Matrix(Type). |
|
|
|
|
|
|
|
|
|
|
|
Reimplemented from Matrix(Type). |
|
|
Reimplemented from Matrix(Type). |
|
|
Reimplemented from Matrix(Type). |
|
|
Reimplemented from Matrix(Type). |
|
|
Reimplemented from Matrix(Type). |
|
|
|
|
|
Reimplemented from Matrix(Type). |
|
|
The Cholesky factorization is stored using the diagonal. |
|
|
This operation is dummy, since there is nothing to factorize (no fill-in). |
|
|
This operation is dummy, since there is nothing to factorize (no fill-in). Consequently, the arguments to this function are of no use. However, they are included in order to maintain compatibility with the corresponding functionality implemented for other matrix formats. |
|
|
Reimplemented from Matrix(Type). |
|
|
Reimplemented from Matrix(Type). |
|
|
Reimplemented from Matrix(Type). |
|
|
Reimplemented from Matrix(Type). |
|
|
|
|
|
|
|
|
|
|
|
Reimplemented from Matrix(Type). |
|
|
returns the number of columns in the current object when viewed (logically) as a full matrix. Reimplemented from Matrix(Type). |
|
|
returns the number of nonzero entries represented in the current object. Note that this function does not take symmetric storage formats into account. That is, it also counts entry "a(j,i)" even if this value is not stored due to symmetry properties. This function does not check for stored zero entries, but counts all entries represented by the chosen matrix format. Reimplemented from Matrix(Type). |
|
|
returns the number of rows in the current object when viewed (logically) as a full matrix. Reimplemented from Matrix(Type). |
|
|
Reimplemented from Matrix(Type). |
|
|
returns the operation count for the last computation of the type indicated by the "MatrixWork" argument. Reimplemented from Matrix(Type). |
|
|
See documentation of one of the overloaded functions. |
|
|
In addition to the version taking a "Mat(Type)" object for storing the inverted matrix, there is another function accepting a "MatDiag(Type)" object as input. This choice is available since diagonal matrices are the only ones that in general produce banded (diagonal) inverses. |
|
|
quite similar to "save", this function permits Matlab data files to be entered into the current vector object. If available, the binary format is used, otherwise it reads plain ASCII files. The version implemented in this base class is dummy, stating that the described functionality is not available. To overrule this behaviour, the "load" function should be implemented for the specific format(s). Reimplemented from Matrix(Type). |
|
|
Reimplemented from Matrix(Type). |
|
|
Reimplemented from Matrix(Type). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Reimplemented from Matrix(Type). |
|
|
|
|
|
Reimplemented from Matrix(Type). |
|
|
Reimplemented from Matrix(Type). |
|
|
Reimplemented from Matrix(Type). |
|
|
Reimplemented from Matrix(Type). |
|
|
|
|
|
|
|
|
Reimplemented from Matrix(Type). |
|
|
saves the current vector object in a file that is readable for Matlab. If available, the utilities for Matlab's internal binary data file format is used. Otherwise, the output is given as a plain ASCII file that can be loaded in Matlab. The version implemented in this base class is dummy, stating that the described functionality is not available. To overrule this behaviour, the "save" function should be implemented for the specific format(s). Reimplemented from Matrix(Type). |
|
|
Reimplemented from Matrix(Type). |
|
|
|
|
|
Reimplemented from Matrix(Type). |
|
|
Reimplemented from Matrix(Type). |
|
|
|
|
|
|