42 #ifndef _EpetraExt_LINEARPROBLEM_CRSSINGLETONFILTER_H_ 43 #define _EpetraExt_LINEARPROBLEM_CRSSINGLETONFILTER_H_ 45 #include "Epetra_ConfigDefs.h" 46 #include "Epetra_Object.h" 47 #include "Epetra_CrsMatrix.h" 48 #include "Epetra_MapColoring.h" 49 #include "Epetra_SerialDenseVector.h" 52 #include "Teuchos_RCP.hpp" 54 class Epetra_LinearProblem;
56 class Epetra_MultiVector;
59 class Epetra_IntVector;
259 int Setup(Epetra_LinearProblem * Problem);
261 int GetRow(
int Row,
int & NumIndices,
int * & Indices);
262 int GetRow(
int Row,
int & NumIndices,
double * & Values,
int * & Indices);
263 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES 264 int GetRowGCIDs(
int Row,
int & NumIndices,
double * & Values,
int * & GlobalIndices);
266 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES 267 int GetRowGCIDs(
int Row,
int & NumIndices,
double * & Values,
long long * & GlobalIndices);
271 const Epetra_IntVector & ColProfiles,
272 const Epetra_IntVector & NewColProfiles,
273 const Epetra_IntVector & ColHasRowWithSingleton);
276 Epetra_Export * & RedistributeExporter,
277 Epetra_Map * & RedistributeMap);
322 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES 339 template<
typename int_type>
340 int TConstructReducedProblem(Epetra_LinearProblem * Problem);
342 template<
typename int_type>
343 int TUpdateReducedProblem(Epetra_LinearProblem * Problem);
345 template<
typename int_type>
346 int TConstructRedistributeExporter(Epetra_Map * SourceMap, Epetra_Map * TargetMap,
347 Epetra_Export * & RedistributeExporter,
348 Epetra_Map * & RedistributeMap);
EpetraExt::BlockCrsMatrix: A class for constructing a distributed block matrix.