43 #include "HYPRE_IJ_mv.h" 81 for(
int i = 0; i < Matrix->
NumMyRows(); i++){
88 ierr += Matrix->
ExtractMyRowCopy(i, entries, numentries, &Values[0], &Indices[0]);
91 for(
int j = 0; j < numentries; j++){
108 ierr += Matrix->
Multiply(
false, X, Y);
127 ierr += Matrix->
Multiply(
false, X, Y1);
128 ierr += TestMat->
Multiply(
false, X, Y2);
132 ierr += Matrix->
Multiply(
false, Y1, X);
133 ierr += TestMat->
Multiply(
false, Y1, Y2);
137 ierr += Matrix->
Multiply(
false, Y2, X);
138 ierr += TestMat->
Multiply(
false, Y2, Y1);
158 ierr += Matrix->
Multiply(
true, X, Y1);
159 ierr += TestMat->
Multiply(
true, X, Y2);
261 double norm1 = Matrix->
NormInf();
262 double norm2 = TestMat->
NormInf();
273 double norm1 = Matrix->
NormOne();
274 double norm2 = TestMat->
NormOne();
464 Matrix->
Solve(
false,
false,
false, RHS, X);
int MaxNumEntries() const
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.
virtual int NumGlobalCols() const
virtual int NumGlobalDiagonals() const
int NumMyRowEntries(int MyRow, int &NumEntries) const
Return the current number of values stored for the specified local row.
int Multiply(bool TransA, const Epetra_Vector &x, Epetra_Vector &y) const
int NumMyDiagonals() const
int LeftScale(const Epetra_Vector &X)
Scales the EpetraExt_HypreIJMatrix on the left with a Epetra_Vector x.
#define TEST_EQUALITY_CONST(v1, v2)
virtual int NumGlobalNonzeros() const
bool EquivalentVectors(Epetra_MultiVector &Y1, Epetra_MultiVector &Y2, const double tol)
int NumGlobalCols() const
bool EquivalentMatrices(Epetra_RowMatrix &HypreMatrix, Epetra_RowMatrix &CrsMatrix, const double tol)
int ApplyInverse(const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
Returns the result of a Epetra_Operator inverse applied to an Epetra_MultiVector X in Y...
EpetraExt::BlockCrsMatrix: A class for constructing a distributed block matrix.
const Epetra_Map & RowMatrixRowMap() const
virtual int NumMyNonzeros() const
virtual int InvColSums(Epetra_Vector &x) const
virtual const Epetra_Map & RowMatrixRowMap() const
int ExtractDiagonalCopy(Epetra_Vector &Diagonal) const
virtual bool Filled() const
int InvRowSums(Epetra_Vector &x) const
Epetra_CrsMatrix * newCrsMatrix(EpetraExt_HypreIJMatrix &Matrix)
virtual int MaxNumEntries() const
virtual int ExtractDiagonalCopy(Epetra_Vector &Diagonal) const
void resize(size_type new_size, const value_type &x=value_type())
int RightScale(const Epetra_Vector &X)
Scales the EpetraExt_HypreIJMatrix on the right with a Epetra_Vector x.
int LeftScale(const Epetra_Vector &x)
virtual double NormInf() const
const Epetra_Map & RowMatrixColMap() const
virtual double NormOne() const
#define TEST_FLOATING_EQUALITY(v1, v2, tol)
int NumGlobalDiagonals() const
int NumMyNonzeros() const
TEUCHOS_UNIT_TEST(EpetraExt_hypre, Construct)
int Multiply(bool TransA, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
Returns the result of a EpetraExt_HypreIJMatrix multiplied by a Epetra_MultiVector X in Y...
int ApplyInverse(const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
virtual int NumMyCols() const
virtual int InvRowSums(Epetra_Vector &x) const
int InvColSums(Epetra_Vector &x) const
virtual int NumMyDiagonals() const
virtual const Epetra_Map & RowMatrixColMap() const
EpetraExt_HypreIJMatrix * newHypreMatrix(const int N, const int type)
int Solve(bool Upper, bool Trans, bool UnitDiagonal, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
Returns the result of a EpetraExt_HypreIJMatrix solving a Epetra_MultiVector X in Y...
TEST_EQUALITY(rcp_dynamic_cast< const EnhancedNumberValidator< double > >(castedDep1->getValuesAndValidators().find("val1") ->second, true) ->getMax(), double1Vali->getMax())
int NumGlobalRows() const
virtual int NumMyRows() const
int SetParameter(Hypre_Chooser chooser, int(*pt2Func)(HYPRE_Solver, int), int parameter)
Set a parameter that takes a single int.
virtual int NumGlobalRows() const
int RightScale(const Epetra_Vector &x)
int NumGlobalNonzeros() const