31 #include "Epetra_MpiComm.h"
33 #include "Epetra_SerialComm.h"
35 #include "Epetra_Map.h"
36 #include "Epetra_CrsMatrix.h"
41 #include "Teuchos_RefCountPtr.hpp"
43 int main(
int argc,
char *argv[])
50 MPI_Init(&argc,&argv);
57 cerr <<
"This example must be run with one process only." << endl;
65 long long NumPoints = 5;
66 #if !defined(EPETRA_NO_32BIT_GLOBAL_INDICES) || !defined(EPETRA_NO_64BIT_GLOBAL_INDICES)
74 std::vector<long long> Indices(NumPoints);
75 std::vector<double> Values(NumPoints);
78 for (
long long i = 0 ; i < NumPoints ; ++i) {
80 Matrix->InsertGlobalValues(i,1,&Diag,&i);
84 for (
long long j = i + 1 ; j < NumPoints ; ++j) {
85 Indices[NumEntries] = j;
86 Values[NumEntries] = 1.0 * (j - i);
89 #if !defined(EPETRA_NO_32BIT_GLOBAL_INDICES) || !defined(EPETRA_NO_64BIT_GLOBAL_INDICES)
90 Matrix->InsertGlobalValues(i,NumEntries,&Values[0],&Indices[0]);
93 Matrix->FillComplete();
99 cout <<
"Sparsity, non-dropped matrix" << endl;
112 cout <<
"Sparsity, dropping by value" << endl;
122 cout <<
"Sparsity, dropping by sparsity" << endl;
137 cout <<
"Sparsity, dropping singletons 4 times" << endl;
144 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.