|
Ifpack Package Browser (Single Doxygen Collection)
Development
|
Go to the documentation of this file.
50 #include "Epetra_Vector.h"
51 #include "Epetra_CrsMatrix.h"
52 #include "Epetra_Time.h"
53 #include "Teuchos_RefCountPtr.hpp"
171 const int MaxIters = 1550,
172 const double Tol = 1e-9,
183 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
239 virtual std::ostream&
Print(std::ostream& os)
const;
351 Teuchos::RefCountPtr<Epetra_CrsMatrix>
H_;
397 template<
typename int_type>
int NumMyRows_
Number of local rows in the matrix.
double Condest() const
Returns the computed condition number estimate, or -1.0 if not computed.
const Epetra_RowMatrix & A_
Reference to the matrix to be preconditioned, supposed symmetric.
int SetLabel(const char *Label_in)
bool UseTranspose() const
Returns the current UseTranspose setting.
int Apply(const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
int SetParameters(Teuchos::ParameterList ¶meterlis)
Set parameters using a Teuchos::ParameterList object.
const Epetra_RowMatrix & Matrix() const
Returns a reference to the matrix to be preconditioned.
Teuchos::RefCountPtr< Epetra_CrsMatrix > H_
Contains the Cholesky factorization.
long long NumGlobalNonzeros64() const
virtual int NumApplyInverse() const
Returns the number of calls to ApplyInverse().
bool HasNormInf() const
Returns false because this class cannot compute an Inf-norm.
virtual int NumInitialize() const
Returns the number of calls to Initialize().
double LevelOfFill() const
Returns the level-of-fill.
int NumMyNonzeros() const
Returns the number of nonzero entries in the local graph.
int Initialize()
Initialize L and U with values from user matrix A.
virtual double ComputeTime() const
Returns the time spent in Compute().
double DropTolerance_
During factorization, drop all values below this.
double Rthresh_
Relative threshold.
Ifpack_ScalingType enumerable type.
long long GlobalNonzeros_
Global number of nonzeros in L and U factors.
double RelaxValue() const
Returns the relaxation value.
bool IsInitialized() const
Returns true is the preconditioner has been successfully initialized.
virtual std::ostream & Print(std::ostream &os) const
Prints basic information on iostream. This function is used by operator<<.
Ifpack_ICT(const Epetra_RowMatrix *A)
Ifpack_ICT constuctor with variable number of indices per row.
const Epetra_Map & OperatorDomainMap() const
Returns the Epetra_Map object associated with the domain of this operator.
double InitializeTime_
Contains the time for all successful calls to Initialize().
Ifpack_CondestType
Ifpack_CondestType: enum to define the type of condition number estimate.
int NumGlobalNonzeros() const
Returns the number of nonzero entries in the global graph.
double AbsoluteThreshold() const
Returns the absolute threshold.
double LevelOfFill_
Level of fill.
virtual double ApplyInverseTime() const
Returns the time spent in ApplyInverse().
Ifpack_ICT & operator=(const Ifpack_ICT &rhs)
Should not be used.
double RelativeThreshold() const
Returns the relative threshold.
bool IsInitialized_
If true, the preconditioner has been successfully initialized.
const Epetra_CrsMatrix & H() const
Returns the address of the D factor associated with this factored matrix.
double ComputeFlops_
Contains the number of flops for Compute().
const Epetra_Comm & Comm() const
Returns the Epetra_BlockMap object associated with the range of this matrix operator.
int SetUseTranspose(bool UseTranspose_in)
If set true, transpose of this operator will be applied.
double ApplyInverseFlops_
Contain sthe number of flops for ApplyInverse().
std::string Label_
Label of this object.
double Condest_
Contains the estimate of the condition number, if -1.0 if not computed.
bool IsComputed_
If true, the preconditioner has been successfully computed.
double DropTolerance() const
Returns the drop threshold.
Teuchos::RefCountPtr< Epetra_Map > SerialMap_
Teuchos::RefCountPtr< Epetra_SerialComm > SerialComm_
virtual int NumCompute() const
Returns the number of calls to Compute().
virtual double InitializeTime() const
Returns the time spent in Initialize().
Ifpack_ICT(const Ifpack_ICT &rhs)
Should not be used.
int Compute()
Compute IC factor U using the specified graph, diagonal perturbation thresholds and relaxation parame...
virtual double ApplyInverseFlops() const
Returns the number of flops in all applications of ApplyInverse().
double Relax_
Relaxation value.
Ifpack_Preconditioner: basic class for preconditioning in Ifpack.
virtual const Epetra_Map & OperatorRangeMap() const=0
virtual ~Ifpack_ICT()
Ifpack_ICT Destructor.
virtual double InitializeFlops() const
Returns the number of flops in the initialization phase.
bool UseTranspose_
If true, use the transpose of the matrix.
int NumInitialize_
Contains the number of successful calls to Initialize().
double NormInf() const
Returns 0.0 because this class cannot compute Inf-norm.
double Athresh_
Absolute threshold.
const Epetra_Map & OperatorRangeMap() const
Returns the Epetra_Map object associated with the range of this operator.
void Destroy()
Destroys all data associated to the preconditioner.
virtual double ComputeFlops() const
Returns the number of flops in all applications of Compute().
Ifpack_ICT: A class for constructing and using an incomplete Cholesky factorization of a given Epetra...
int ApplyInverse(const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
Returns the result of a Ifpack_ICT forward/back solve on a Epetra_MultiVector X in Y.
double ComputeTime_
Contains the time for all successful calls to Compute().
int NumApplyInverse_
Contains the number of successful call to ApplyInverse().
virtual const Epetra_Map & OperatorDomainMap() const=0
int NumCompute_
Contains the number of successful call to Compute().
const Epetra_Comm & Comm_
Reference to the communicator.
Epetra_Time Time_
Used for timing purposes.
bool IsComputed() const
If factor is completed, this query returns true, otherwise it returns false.
const char * Label() const
double ApplyInverseTime_
Contains the time for all successful calls to ApplyInverse().