44 #ifndef NOX_EPETRA_LINEARSYSTEMSGJACOBI_H 
   45 #define NOX_EPETRA_LINEARSYSTEMSGJACOBI_H 
   49 #ifdef HAVE_STOKHOS_NOX 
   51 #include "NOX_Common.H" 
   53 #include "NOX_Epetra_LinearSystem.H"   
   54 #include "NOX_Utils.H"                   
   82     class LinearSystemSGJacobi : 
public virtual NOX::Epetra::LinearSystem {
 
  102       virtual ~LinearSystemSGJacobi();
 
  108       virtual bool applyJacobian(
const NOX::Epetra::Vector& input, 
 
  109          NOX::Epetra::Vector& result) 
const;
 
  115       virtual bool applyJacobianTranspose(
const NOX::Epetra::Vector& input, 
 
  116             NOX::Epetra::Vector& result) 
const;
 
  123           const NOX::Epetra::Vector &input, 
 
  124           NOX::Epetra::Vector &result);
 
  127       virtual bool applyRightPreconditioning(
bool useTranspose,
 
  129                const NOX::Epetra::Vector& input, 
 
  130                NOX::Epetra::Vector& result) 
const;
 
  139       virtual bool computeJacobian(
const NOX::Epetra::Vector& x);
 
  142       virtual bool createPreconditioner(
const NOX::Epetra::Vector& x, 
 
  144           bool recomputeGraph) 
const;
 
  147       virtual bool destroyPreconditioner() 
const;
 
  150       virtual bool recomputePreconditioner(
const NOX::Epetra::Vector& x, 
 
  154       virtual PreconditionerReusePolicyType 
 
  155       getPreconditionerPolicy(
bool advanceReuseCounter=
true);
 
  158       virtual bool isPreconditionerConstructed() 
const;
 
  161       virtual bool hasPreconditioner() 
const;
 
  165       getJacobianOperator() 
const;
 
  172       getGeneratedPrecOperator() 
const;