44 #include "Epetra_MpiComm.h"
46 #include "Epetra_SerialComm.h"
48 #include "Epetra_Map.h"
49 #include "Epetra_CrsMatrix.h"
54 #include "Teuchos_RefCountPtr.hpp"
56 int main(
int argc,
char *argv[])
63 MPI_Init(&argc,&argv);
70 cerr <<
"This example must be run with one process only." << endl;
79 #if !defined(EPETRA_NO_32BIT_GLOBAL_INDICES) || !defined(EPETRA_NO_64BIT_GLOBAL_INDICES)
87 std::vector<int> Indices(NumPoints);
88 std::vector<double> Values(NumPoints);
91 for (
int i = 0 ; i < NumPoints ; ++i) {
93 Matrix->InsertGlobalValues(i,1,&Diag,&i);
97 for (
int j = i + 1 ; j < NumPoints ; ++j) {
98 Indices[NumEntries] = j;
99 Values[NumEntries] = 1.0 * (j - i);
102 #if !defined(EPETRA_NO_32BIT_GLOBAL_INDICES) || !defined(EPETRA_NO_64BIT_GLOBAL_INDICES)
103 Matrix->InsertGlobalValues(i,NumEntries,&Values[0],&Indices[0]);
106 Matrix->FillComplete();
112 cout <<
"Sparsity, non-dropped matrix" << endl;
125 cout <<
"Sparsity, dropping by value" << endl;
135 cout <<
"Sparsity, dropping by sparsity" << endl;
150 cout <<
"Sparsity, dropping singletons 4 times" << endl;
157 return(EXIT_SUCCESS);
virtual int NumMyRows() const
virtual int MaxNumEntries() const
Returns the maximum number of entries.
Ifpack_DropFilter: Filter based on matrix entries.
virtual int MaxNumEntries() const
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
void Ifpack_PrintSparsity_Simple(const Epetra_RowMatrix &A)
Ifpack_SingletonFilter: Filter based on matrix entries.
int main(int argc, char *argv[])
Ifpack_SparsityFilter: a class to drop based on sparsity.