43 #ifndef IFPACK_POINTRELAXATION_H 
   44 #define IFPACK_POINTRELAXATION_H 
   46 #if defined(Ifpack_SHOW_DEPRECATED_WARNINGS) 
   48 #warning "The Ifpack package is deprecated" 
   52 #include "Ifpack_ConfigDefs.h" 
   53 #include "Ifpack_Preconditioner.h" 
   55 #include "Epetra_Vector.h" 
   56 #include "Epetra_Time.h" 
   57 #include "Epetra_RowMatrix.h" 
   58 #include "Epetra_Import.h" 
   60 #include "Teuchos_RefCountPtr.hpp" 
  161     UseTranspose_ = UseTranspose_in;
 
  183     if (X.NumVectors() != Y.NumVectors())
 
  212   virtual const char * Label()
 const 
  214     return(Label_.c_str());
 
  220     return(UseTranspose_);
 
  242     return(IsInitialized_);
 
  264   virtual double Condest(
const Ifpack_CondestType CT = Ifpack_Cheap,
 
  265                          const int MaxIters = 1550,
 
  266                          const double Tol = 1e-9,
 
  279   virtual std::ostream& 
Print(std::ostream & os) 
const;
 
  288     return(NumInitialize_);
 
  300     return(NumApplyInverse_);
 
  306     return(InitializeTime_);
 
  312     return(ComputeTime_);
 
  318     return(ApplyInverseTime_);
 
  330     return(ComputeFlops_);
 
  336     return(ApplyInverseFlops_);
 
  392   virtual void SetLabel();
 
  414   mutable int NumApplyInverse_;
 
  416   double InitializeTime_;
 
  420   mutable double ApplyInverseTime_;
 
  422   double ComputeFlops_;
 
  424   mutable double ApplyInverseFlops_;
 
  431   double DampingFactor_;
 
  440   bool ComputeCondest_;
 
  445   double MinDiagonalValue_;
 
  454   long long NumGlobalRows_;
 
  456   long long NumGlobalNonzeros_;
 
  458   Teuchos::RefCountPtr<const Epetra_RowMatrix> Matrix_;
 
  460   Teuchos::RefCountPtr<Epetra_Import> Importer_;
 
  462   mutable Teuchos::RefCountPtr<Epetra_Vector> Diagonal_;
 
  464   Teuchos::RefCountPtr<Epetra_Time> Time_;
 
  468   bool ZeroStartingSolution_;
 
  477   int NumLocalSmoothingIndices_;
 
  479   int * LocalSmoothingIndices_;
 
  487 #endif // IFPACK_POINTRELAXATION_H 
virtual std::ostream & Print(std::ostream &os) const 
Prints object to an output stream. 
virtual int Apply(const Epetra_MultiVector &X, Epetra_MultiVector &Y) const 
Applies the matrix to an Epetra_MultiVector. 
virtual const Epetra_Comm & Comm() const 
Returns a pointer to the Epetra_Comm communicator associated with this operator. 
virtual int NumApplyInverse() const 
Returns the number of calls to ApplyInverse(). 
virtual const Epetra_Map & OperatorDomainMap() const 
Returns the Epetra_Map object associated with the domain of this operator. 
virtual double ComputeFlops() const 
Returns the number of flops in the computation phase. 
virtual int SetUseTranspose(bool UseTranspose_in)
virtual double ApplyInverseFlops() const 
Returns the number of flops for the application of the preconditioner. 
Ifpack_PointRelaxation(const Epetra_RowMatrix *Matrix)
Ifpack_PointRelaxation constructor with given Epetra_RowMatrix. 
virtual int NumCompute() const 
Returns the number of calls to Compute(). 
virtual double Condest() const 
Returns the condition number estimate, or -1.0 if not computed. 
virtual int SetParameters(Teuchos::ParameterList &List)
Sets all the parameters for the preconditioner. 
virtual double ComputeTime() const 
Returns the time spent in Compute(). 
virtual double NormInf() const 
Returns the infinity norm of the global matrix (not implemented) 
virtual bool UseTranspose() const 
Returns the current UseTranspose setting. 
Ifpack_Preconditioner: basic class for preconditioning in Ifpack. 
virtual bool IsInitialized() const 
Returns true if the preconditioner has been successfully initialized, false otherwise. 
Ifpack_PointRelaxation: a class to define point relaxation preconditioners of for Epetra_RowMatrix's...
virtual int Compute()
Computes the preconditioners. 
virtual int Initialize()
Computes all it is necessary to initialize the preconditioner. 
virtual const Epetra_RowMatrix & Matrix() const 
Returns a pointer to the matrix to be preconditioned. 
virtual bool IsComputed() const 
Returns true if the preconditioner has been successfully computed. 
virtual int NumInitialize() const 
Returns the number of calls to Initialize(). 
virtual double InitializeFlops() const 
Returns the number of flops in the initialization phase. 
virtual bool HasNormInf() const 
Returns true if the this object can provide an approximate Inf-norm, false otherwise. 
virtual const Epetra_Map & OperatorRangeMap() const 
Returns the Epetra_Map object associated with the range of this operator. 
virtual double InitializeTime() const 
Returns the time spent in Initialize(). 
virtual double ApplyInverseTime() const 
Returns the time spent in ApplyInverse(). 
virtual int ApplyInverse(const Epetra_MultiVector &X, Epetra_MultiVector &Y) const 
Applies the preconditioner to X, returns the result in Y. 
virtual ~Ifpack_PointRelaxation()
Destructor.