43 #ifndef IFPACK_SPARSKIT_H 44 #define IFPACK_SPARSKIT_H 46 #include "Ifpack_ConfigDefs.h" 47 #ifdef HAVE_IFPACK_SPARSKIT 48 #include "Ifpack_CondestType.h" 50 #include "Ifpack_Preconditioner.h" 51 #include "Epetra_Vector.h" 52 #include "Epetra_RowMatrix.h" 69 virtual ~Ifpack_SPARSKIT();
79 int SetParameters(Teuchos::ParameterList& parameterlis);
81 int SetParameter(
const std::string Name,
const int Value)
85 int SetParameter(
const std::string Name,
const double Value)
100 bool IsInitialized()
const 102 return(IsInitialized_);
112 bool IsComputed()
const 146 double Condest(
const Ifpack_CondestType CT = Ifpack_Cheap,
147 const int MaxIters = 1550,
148 const double Tol = 1e-9,
151 double Condest()
const 170 int SetUseTranspose(
bool UseTranspose) {UseTranspose_ = UseTranspose;
return(0);};
173 double NormInf()
const {
return(0.0);};
176 bool HasNormInf()
const {
return(
false);};
179 bool UseTranspose()
const {
return(UseTranspose_);};
182 const Epetra_Map & OperatorDomainMap()
const {
return(A_.OperatorDomainMap());};
185 const Epetra_Map & OperatorRangeMap()
const{
return(A_.OperatorRangeMap());};
191 const char* Label()
const 193 return(Label_.c_str());
196 int SetLabel(
const char* Label)
203 virtual std::ostream& Print(std::ostream& os)
const;
206 virtual int NumInitialize()
const 208 return(NumInitialize_);
212 virtual int NumCompute()
const 218 virtual int NumApplyInverse()
const 220 return(NumApplyInverse_);
224 virtual double InitializeTime()
const 226 return(InitializeTime_);
230 virtual double ComputeTime()
const 232 return(ComputeTime_);
236 virtual double ApplyInverseTime()
const 238 return(ApplyInverseTime_);
242 virtual double InitializeFlops()
const 247 virtual double ComputeFlops()
const 252 virtual double ApplyInverseFlops()
const 270 std::vector<double> alu_;
271 std::vector<int> jlu_;
272 std::vector<int> ju_;
276 std::vector<int> iperm_;
288 mutable int NumApplyInverse_;
291 double InitializeTime_;
295 mutable double ApplyInverseTime_;
298 double ComputeFlops_;
300 mutable double ApplyInverseFlops_;
304 #endif // HAVE_IFPACK_SPARSKIT
Ifpack_ScalingType enumerable type.
Ifpack_Preconditioner: basic class for preconditioning in Ifpack.