46#include "Epetra_MpiComm.h"
48#include "Epetra_SerialComm.h"
50#include "Epetra_Comm.h"
51#include "Epetra_Map.h"
52#include "Epetra_MultiVector.h"
53#include "Epetra_CrsMatrix.h"
66 bool UseTranspose =
true;
80 Prec.ApplyInverse(
RHS, LHS);
82 LHS.
Update(1.0, LHS_exact, -1.0);
90 cout << what <<
": Test failed: norm = " << norm[0] << endl;
94 cout << what <<
": Test passed: norm = " << norm[0] << endl;
101int main(
int argc,
char *argv[])
104 MPI_Init(&argc,&argv);
112 cerr <<
"To be run with one processor only" << endl;
125 for (
int row = 0; row < 8; ++row)
127 double value = 2.0 + row;
147 Test<Ifpack_ILU>(
"Ifpack_ILU", A);
148 Test<Ifpack_ILUT>(
"Ifpack_ILUT", A);
149 Test<Ifpack_AdditiveSchwarz<Ifpack_ILU> >(
"AS, Ifpack_ILU", A);
150 Test<Ifpack_AdditiveSchwarz<Ifpack_ILUT> >(
"AS, Ifpack_ILUT", A);
156 return(EXIT_SUCCESS);
#define IFPACK_CHK_ERRV(ifpack_err)
int NumGlobalElements() const
int FillComplete(bool OptimizeDataStorage=true)
virtual int InsertGlobalValues(int GlobalRow, int NumEntries, const double *Values, const int *Indices)
int Update(double ScalarA, const Epetra_MultiVector &A, double ScalarThis)
int Norm2(double *Result) const
int PutScalar(double ScalarConstant)
virtual const Epetra_Map & OperatorDomainMap() const=0
virtual const Epetra_Map & OperatorRangeMap() const=0
virtual int Multiply(bool TransA, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0
int main(int argc, char *argv[])
void Test(const std::string what, Epetra_RowMatrix &A)