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


Public Member Functions | |
Constructors/Destructor | |
| Epetra_JadMatrix (const Epetra_RowMatrix &Matrix) | |
| Epetra_JadMatrix constuctor. | |
| virtual | ~Epetra_JadMatrix () |
| Epetra_JadMatrix Destructor. | |
Post-construction modifications | |
| int | UpdateValues (const Epetra_RowMatrix &Matrix, bool CheckStructure=false) |
| Update values using a matrix with identical structure. | |
Methods required for implementing Epetra_BasicRowMatrix | |
| int | ExtractMyRowCopy (int MyRow, int Length, int &NumEntries, double *Values, int *Indices) const |
| Returns a copy of the specified local row in user-provided arrays. | |
| int | ExtractMyEntryView (int CurEntry, double *&Value, int &RowIndex, int &ColIndex) |
| Returns a reference to the ith entry in the matrix, along with its row and column index. | |
| int | ExtractMyEntryView (int CurEntry, double const *&Value, int &RowIndex, int &ColIndex) const |
| Returns a const reference to the ith entry in the matrix, along with its row and column index. | |
| int | NumMyRowEntries (int MyRow, int &NumEntries) const |
| Return the current number of values stored for the specified local row. | |
Computational methods | |
| int | Multiply (bool TransA, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
| Returns the result of a Epetra_JadMatrix multiplied by a Epetra_MultiVector X in Y. | |
| int | Solve (bool Upper, bool Trans, bool UnitDiagonal, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
| Returns the result of a Epetra_JadMatrix solve with a Epetra_MultiVector X in Y (not implemented). | |
Protected Member Functions | |
| void | GeneralMV (bool TransA, double *x, double *y) const |
| void | GeneralMM (bool TransA, double **X, int LDX, double **Y, int LDY, int NumVectors) const |
| void | GeneralMM3RHS (bool TransA, double **X, int LDX, double **Y, int LDY, int NumVectors) const |
| void | GeneralMM2RHS (bool TransA, double *x, int ldx, double *y, int ldy) const |
| void | Allocate (const Epetra_RowMatrix &Matrix) |
Protected Attributes | |
| Epetra_SerialDenseVector | Values_ |
| Epetra_IntSerialDenseVector | Indices_ |
| Epetra_IntSerialDenseVector | IndexOffset_ |
| Epetra_IntSerialDenseVector | Profile_ |
| Epetra_IntSerialDenseVector | RowPerm_ |
| Epetra_IntSerialDenseVector | InvRowPerm_ |
| int | NumJaggedDiagonals_ |
The Epetra_JadMatrix class takes an existing Epetra_RowMatrix ojbect, analyzes it and builds a jagged diagonal equivalent of it. Once constructed, it is also possible to update the values of the matrix with values from another Epetra_RowMatrix that has the identical structure.
| int Epetra_JadMatrix::ExtractMyEntryView | ( | int | CurEntry, | |
| double const *& | Value, | |||
| int & | RowIndex, | |||
| int & | ColIndex | |||
| ) | const [inline, virtual] |
Returns a const reference to the ith entry in the matrix, along with its row and column index.
| CurEntry | (In) - Local entry to extract. | |
| Value | (Out) - Extracted reference to current values. | |
| RowIndex | (Out) - Row index for current entry. | |
| ColIndex | (Out) - Column index for current entry. |
Implements Epetra_BasicRowMatrix.
| int Epetra_JadMatrix::ExtractMyEntryView | ( | int | CurEntry, | |
| double *& | Value, | |||
| int & | RowIndex, | |||
| int & | ColIndex | |||
| ) | [inline, virtual] |
Returns a reference to the ith entry in the matrix, along with its row and column index.
| CurEntry | (In) - Local entry to extract. | |
| Value | (Out) - Extracted reference to current values. | |
| RowIndex | (Out) - Row index for current entry. | |
| ColIndex | (Out) - Column index for current entry. |
Implements Epetra_BasicRowMatrix.
| int Epetra_JadMatrix::ExtractMyRowCopy | ( | int | MyRow, | |
| int | Length, | |||
| int & | NumEntries, | |||
| double * | Values, | |||
| int * | Indices | |||
| ) | const [virtual] |
Returns a copy of the specified local row in user-provided arrays.
| MyRow | (In) - Local row to extract. | |
| Length | (In) - Length of Values and Indices. | |
| NumEntries | (Out) - Number of nonzero entries extracted. | |
| Values | (Out) - Extracted values for this row. | |
| Indices | (Out) - Extracted global column indices for the corresponding values. |
Implements Epetra_BasicRowMatrix.
| int Epetra_JadMatrix::Multiply | ( | bool | TransA, | |
| const Epetra_MultiVector & | X, | |||
| Epetra_MultiVector & | Y | |||
| ) | const [virtual] |
Returns the result of a Epetra_JadMatrix multiplied by a Epetra_MultiVector X in Y.
| In | TransA -If true, multiply by the transpose of matrix, otherwise just use matrix. | |
| In | X - A Epetra_MultiVector of dimension NumVectors to multiply with matrix. | |
| Out | Y -A Epetra_MultiVector of dimension NumVectorscontaining result. |
Reimplemented from Epetra_BasicRowMatrix.
| int Epetra_JadMatrix::NumMyRowEntries | ( | int | MyRow, | |
| int & | NumEntries | |||
| ) | const [virtual] |
Return the current number of values stored for the specified local row.
Similar to NumMyEntries() except NumEntries is returned as an argument and error checking is done on the input value MyRow.
| MyRow | - (In) Local row. | |
| NumEntries | - (Out) Number of nonzero values. |
Implements Epetra_BasicRowMatrix.
| int Epetra_JadMatrix::Solve | ( | bool | Upper, | |
| bool | Trans, | |||
| bool | UnitDiagonal, | |||
| const Epetra_MultiVector & | X, | |||
| Epetra_MultiVector & | Y | |||
| ) | const [inline, virtual] |
Returns the result of a Epetra_JadMatrix solve with a Epetra_MultiVector X in Y (not implemented).
| In | Upper -If true, solve Ux = y, otherwise solve Lx = y. | |
| In | Trans -If true, solve transpose problem. | |
| In | UnitDiagonal -If true, assume diagonal is unit (whether it's stored or not). | |
| In | X - A Epetra_MultiVector of dimension NumVectors to solve for. | |
| Out | Y -A Epetra_MultiVector of dimension NumVectors containing result. |
Reimplemented from Epetra_BasicRowMatrix.
1.4.7