Epetra_RowMatrix: A pure virtual class for using real-valued double-precision row matrices. More...
#include <Epetra_RowMatrix.h>


Public Member Functions | |
Destructor  | |
| virtual | ~Epetra_RowMatrix () | 
| Destructor.  | |
Matrix data extraction routines  | |
| virtual int | NumMyRowEntries (int MyRow, int &NumEntries) const =0 | 
| Returns the number of nonzero entries in MyRow.  More... | |
| virtual int | MaxNumEntries () const =0 | 
| Returns the maximum of NumMyRowEntries() over all rows.  | |
| virtual int | ExtractMyRowCopy (int MyRow, int Length, int &NumEntries, double *Values, int *Indices) const =0 | 
| Returns a copy of the specified local row in user-provided arrays.  More... | |
| virtual int | ExtractDiagonalCopy (Epetra_Vector &Diagonal) const =0 | 
| Returns a copy of the main diagonal in a user-provided vector.  More... | |
Mathematical functions  | |
| virtual int | Multiply (bool TransA, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const =0 | 
| Returns the result of a Epetra_RowMatrix multiplied by a Epetra_MultiVector X in Y.  More... | |
| virtual int | Solve (bool Upper, bool Trans, bool UnitDiagonal, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const =0 | 
| Returns result of a local-only solve using a triangular Epetra_RowMatrix with Epetra_MultiVectors X and Y.  More... | |
| virtual int | InvRowSums (Epetra_Vector &x) const =0 | 
| Computes the sum of absolute values of the rows of the Epetra_RowMatrix, results returned in x.  More... | |
| virtual int | LeftScale (const Epetra_Vector &x)=0 | 
| Scales the Epetra_RowMatrix on the left with a Epetra_Vector x.  More... | |
| virtual int | InvColSums (Epetra_Vector &x) const =0 | 
| Computes the sum of absolute values of the columns of the Epetra_RowMatrix, results returned in x.  More... | |
| virtual int | RightScale (const Epetra_Vector &x)=0 | 
| Scales the Epetra_RowMatrix on the right with a Epetra_Vector x.  More... | |
Attribute access functions  | |
| virtual bool | Filled () const =0 | 
| If FillComplete() has been called, this query returns true, otherwise it returns false.  | |
| virtual double | NormInf () const =0 | 
| Returns the infinity norm of the global matrix.  | |
| virtual double | NormOne () const =0 | 
| Returns the one norm of the global matrix.  | |
| virtual int | NumGlobalNonzeros () const =0 | 
| Returns the number of nonzero entries in the global matrix.  | |
| virtual long long | NumGlobalNonzeros64 () const =0 | 
| virtual int | NumGlobalRows () const =0 | 
| Returns the number of global matrix rows.  | |
| virtual long long | NumGlobalRows64 () const =0 | 
| virtual int | NumGlobalCols () const =0 | 
| Returns the number of global matrix columns.  | |
| virtual long long | NumGlobalCols64 () const =0 | 
| virtual int | NumGlobalDiagonals () const =0 | 
| Returns the number of global nonzero diagonal entries, based on global row/column index comparisons.  | |
| virtual long long | NumGlobalDiagonals64 () const =0 | 
| virtual int | NumMyNonzeros () const =0 | 
| Returns the number of nonzero entries in the calling processor's portion of the matrix.  | |
| virtual int | NumMyRows () const =0 | 
| Returns the number of matrix rows owned by the calling processor.  | |
| virtual int | NumMyCols () const =0 | 
| Returns the number of matrix columns owned by the calling processor.  | |
| virtual int | NumMyDiagonals () const =0 | 
| Returns the number of local nonzero diagonal entries, based on global row/column index comparisons.  | |
| virtual bool | LowerTriangular () const =0 | 
| If matrix is lower triangular in local index space, this query returns true, otherwise it returns false.  | |
| virtual bool | UpperTriangular () const =0 | 
| If matrix is upper triangular in local index space, this query returns true, otherwise it returns false.  | |
| virtual const Epetra_Map & | RowMatrixRowMap () const =0 | 
| Returns the Epetra_Map object associated with the rows of this matrix.  | |
| virtual const Epetra_Map & | RowMatrixColMap () const =0 | 
| Returns the Epetra_Map object associated with the columns of this matrix.  | |
| virtual const Epetra_Import * | RowMatrixImporter () const =0 | 
| Returns the Epetra_Import object that contains the import operations for distributed operations.  | |
  Public Member Functions inherited from Epetra_Operator | |
| virtual | ~Epetra_Operator () | 
| Destructor.  | |
| virtual int | SetUseTranspose (bool UseTranspose)=0 | 
| If set true, transpose of this operator will be applied.  More... | |
| virtual int | Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const =0 | 
| Returns the result of a Epetra_Operator applied to a Epetra_MultiVector X in Y.  More... | |
| virtual int | ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const =0 | 
| Returns the result of a Epetra_Operator inverse applied to an Epetra_MultiVector X in Y.  More... | |
| virtual const char * | Label () const =0 | 
| Returns a character string describing the operator.  | |
| virtual bool | UseTranspose () const =0 | 
| Returns the current UseTranspose setting.  | |
| virtual bool | HasNormInf () const =0 | 
| Returns true if the this object can provide an approximate Inf-norm, false otherwise.  | |
| virtual const Epetra_Comm & | Comm () const =0 | 
| Returns a pointer to the Epetra_Comm communicator associated with this operator.  | |
| virtual const Epetra_Map & | OperatorDomainMap () const =0 | 
| Returns the Epetra_Map object associated with the domain of this operator.  | |
| virtual const Epetra_Map & | OperatorRangeMap () const =0 | 
| Returns the Epetra_Map object associated with the range of this operator.  | |
  Public Member Functions inherited from Epetra_SrcDistObject | |
| virtual | ~Epetra_SrcDistObject () | 
| Epetra_SrcDistObject destructor.  | |
| virtual const Epetra_BlockMap & | Map () const =0 | 
| Returns a reference to the Epetra_BlockMap for this object.  | |
Epetra_RowMatrix: A pure virtual class for using real-valued double-precision row matrices.
The Epetra_RowMatrix class is a pure virtual class (specifies interface only) that enable the use of real-valued double-precision sparse matrices where matrix entries are intended for row access. It is currently implemented by both the Epetra_CrsMatrix and Epetra_VbrMatrix classes.
      
  | 
  pure virtual | 
Returns a copy of the main diagonal in a user-provided vector.
| Out | Diagonal - Extracted main diagonal. | 
Implemented in Epetra_CrsMatrix, Epetra_VbrMatrix, Epetra_BasicRowMatrix, Epetra_OskiMatrix, and Epetra_MsrMatrix.
      
  | 
  pure virtual | 
Returns a copy of the specified local row in user-provided arrays.
| In | MyRow - Local row to extract. | 
| In | Length - Length of Values and Indices. | 
| Out | NumEntries - Number of nonzero entries extracted. | 
| Out | Values - Extracted values for this row. | 
| Out | Indices - Extracted local column indices for the corresponding values. | 
Implemented in Epetra_VbrMatrix, Epetra_CrsMatrix, Epetra_BasicRowMatrix, Epetra_VbrRowMatrix, Epetra_JadMatrix, and Epetra_MsrMatrix.
      
  | 
  pure virtual | 
Computes the sum of absolute values of the columns of the Epetra_RowMatrix, results returned in x.
The vector x will return such that x[j] will contain the inverse of sum of the absolute values of the \e this matrix will be sca such that A(i,j) = x(j)*A(i,j) where i denotes the global row number of A and j denotes the global column number of A. Using the resulting vector from this function as input to
RighttScale() will make the one norm of the resulting matrix exactly 1.
| Out | x -A Epetra_Vector containing the column sums of the this matrix. | 
Implemented in Epetra_CrsMatrix, Epetra_VbrMatrix, Epetra_BasicRowMatrix, and Epetra_MsrMatrix.
      
  | 
  pure virtual | 
Computes the sum of absolute values of the rows of the Epetra_RowMatrix, results returned in x.
The vector x will return such that x[i] will contain the inverse of sum of the absolute values of the \e this matrix will be scaled such that A(i,j) = x(i)*A(i,j) where i denotes the global row number of A and j denotes the global column number of A. Using the resulting vector from this function as input to LeftScale()
will make the infinity norm of the resulting matrix exactly 1.
| Out | x -A Epetra_Vector containing the row sums of the this matrix. | 
Implemented in Epetra_CrsMatrix, Epetra_VbrMatrix, Epetra_BasicRowMatrix, and Epetra_MsrMatrix.
      
  | 
  pure virtual | 
Scales the Epetra_RowMatrix on the left with a Epetra_Vector x.
The \e this matrix will be scaled such that A(i,j) = x(i)*A(i,j) where i denotes the row number of A and j denotes the column number of A.
| In | x -A Epetra_Vector to solve for. | 
Implemented in Epetra_CrsMatrix, Epetra_VbrMatrix, Epetra_BasicRowMatrix, Epetra_VbrRowMatrix, and Epetra_MsrMatrix.
      
  | 
  pure virtual | 
Returns the result of a Epetra_RowMatrix 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. | 
Implemented in Epetra_CrsMatrix, Epetra_VbrMatrix, Epetra_OskiMatrix, Epetra_BasicRowMatrix, Epetra_VbrRowMatrix, Epetra_JadMatrix, and Epetra_MsrMatrix.
Referenced by Epetra_BasicRowMatrix::Apply().
      
  | 
  pure virtual | 
Returns the number of nonzero entries in MyRow.
| In | MyRow - Local row. | 
| Out | NumEntries - Number of nonzero values present. | 
Implemented in Epetra_CrsMatrix, Epetra_VbrMatrix, Epetra_MsrMatrix, Epetra_BasicRowMatrix, Epetra_VbrRowMatrix, and Epetra_JadMatrix.
      
  | 
  pure virtual | 
Scales the Epetra_RowMatrix on the right with a Epetra_Vector x.
The \e this matrix will be scaled such that A(i,j) = x(j)*A(i,j) where i denotes the global row number of A and j denotes the global column number of A.
| In | x -The Epetra_Vector used for scaling this. | 
Implemented in Epetra_CrsMatrix, Epetra_VbrMatrix, Epetra_BasicRowMatrix, Epetra_MsrMatrix, and Epetra_VbrRowMatrix.
      
  | 
  pure virtual | 
Returns result of a local-only solve using a triangular Epetra_RowMatrix with Epetra_MultiVectors X and Y.
This method will perform a triangular solve independently on each processor of the parallel machine. No communication is performed.
| 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. | 
Implemented in Epetra_CrsMatrix, Epetra_VbrMatrix, Epetra_OskiMatrix, Epetra_BasicRowMatrix, Epetra_VbrRowMatrix, Epetra_JadMatrix, and Epetra_MsrMatrix.
Referenced by Epetra_CrsMatrix::ApplyInverse().
 1.8.5