43 #ifndef IFPACK_SPARSITYFILTER_H 44 #define IFPACK_SPARSITYFILTER_H 46 #include "Ifpack_ConfigDefs.h" 47 #include "Epetra_RowMatrix.h" 48 #include "Teuchos_RefCountPtr.hpp" 62 int AllowedNumEntries,
63 int AllowedBandwidth = -1);
67 virtual inline int NumMyRowEntries(
int MyRow,
int & NumEntries)
const 69 NumEntries = NumEntries_[MyRow];
73 virtual int MaxNumEntries()
const 75 return(MaxNumEntries_);
78 virtual int ExtractMyRowCopy(
int MyRow,
int Length,
int & NumEntries,
double *Values,
int * Indices)
const;
80 virtual int ExtractDiagonalCopy(
Epetra_Vector & Diagonal)
const;
85 virtual int Solve(
bool Upper,
bool Trans,
bool UnitDiagonal,
112 return(A_->RightScale(x));
115 virtual bool Filled()
const 117 return(A_->Filled());
120 virtual double NormInf()
const 125 virtual double NormOne()
const 130 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES 131 virtual int NumGlobalNonzeros()
const 133 return(NumNonzeros_);
136 virtual int NumGlobalRows()
const 141 virtual int NumGlobalCols()
const 146 virtual int NumGlobalDiagonals()
const 152 virtual long long NumGlobalNonzeros64()
const 154 return(NumNonzeros_);
157 virtual long long NumGlobalRows64()
const 162 virtual long long NumGlobalCols64()
const 167 virtual long long NumGlobalDiagonals64()
const 172 virtual int NumMyNonzeros()
const 174 return(NumNonzeros_);
177 virtual int NumMyRows()
const 182 virtual int NumMyCols()
const 187 virtual int NumMyDiagonals()
const 192 virtual bool LowerTriangular()
const 197 virtual bool UpperTriangular()
const 202 virtual const Epetra_Map & RowMatrixRowMap()
const 204 return(A_->RowMatrixRowMap());
207 virtual const Epetra_Map & RowMatrixColMap()
const 209 return(A_->RowMatrixColMap());
214 return(A_->RowMatrixImporter());
217 int SetUseTranspose(
bool useTranspose)
219 return(A_->SetUseTranspose(useTranspose));
222 bool UseTranspose()
const 224 return(A_->UseTranspose());
227 bool HasNormInf()
const 239 return(A_->OperatorDomainMap());
244 return(A_->OperatorRangeMap());
252 const char* Label()
const{
259 Teuchos::RefCountPtr<Epetra_RowMatrix> A_;
265 int AllowedBandwidth_;
273 mutable std::vector<int> Indices_;
275 mutable std::vector<double> Values_;
280 std::vector<int> NumEntries_;
Ifpack_SparsityFilter: a class to drop based on sparsity.