EpetraExt Development
Loading...
Searching...
No Matches
EpetraExt::BlockCrsMatrix Class Reference

#include <EpetraExt_BlockCrsMatrix.h>

Inheritance diagram for EpetraExt::BlockCrsMatrix:

Public Member Functions

 BlockCrsMatrix (const Epetra_CrsGraph &BaseGraph, const std::vector< int > &RowStencil, int RowIndex, const Epetra_Comm &GlobalComm)
 BlockCrsMatrix constuctor with one block row per processor.
 BlockCrsMatrix (const Epetra_CrsGraph &BaseGraph, const std::vector< long long > &RowStencil, long long RowIndex, const Epetra_Comm &GlobalComm)
 BlockCrsMatrix (const Epetra_CrsGraph &BaseGraph, const std::vector< std::vector< int > > &RowStencil, const std::vector< int > &RowIndices, const Epetra_Comm &GlobalComm)
 BlockCrsMatrix constuctor with multiple block rows per processor.
 BlockCrsMatrix (const Epetra_CrsGraph &BaseGraph, const std::vector< std::vector< long long > > &RowStencil, const std::vector< long long > &RowIndices, const Epetra_Comm &GlobalComm)
 BlockCrsMatrix (const Epetra_CrsGraph &BaseGraph, const Epetra_CrsGraph &LocalBlockGraph, const Epetra_Comm &GlobalComm)
 Version taking a local block graph.
 BlockCrsMatrix (const Epetra_RowMatrix &BaseMatrix, const std::vector< std::vector< int > > &RowStencil, const std::vector< int > &RowIndices, const Epetra_Comm &GlobalComm)
 BlockCrsMatrix (const Epetra_RowMatrix &BaseMatrix, const std::vector< std::vector< long long > > &RowStencil, const std::vector< long long > &RowIndices, const Epetra_Comm &GlobalComm)
 BlockCrsMatrix (const BlockCrsMatrix &Matrix)
 Copy constructor.
virtual ~BlockCrsMatrix ()
 Destructor.
const std::vector< int > & Stencil (int i=0)
 Local Stencil Info.
int RowIndex (int i=0)
 RowIndex.
const std::vector< long long > & Stencil64 (int i=0)
 Local Stencil Info.
long long RowIndex64 (int i=0)
 RowIndex.
void LoadBlock (const Epetra_RowMatrix &BaseMatrix, const int Row, const int Col)
void LoadBlock (const Epetra_RowMatrix &BaseMatrix, const long long Row, const long long Col)
void SumIntoBlock (double alpha, const Epetra_RowMatrix &BaseMatrix, const int Row, const int Col)
void SumIntoBlock (double alpha, const Epetra_RowMatrix &BaseMatrix, const long long Row, const long long Col)
void SumIntoGlobalBlock (double alpha, const Epetra_RowMatrix &BaseMatrix, const int Row, const int Col)
void SumIntoGlobalBlock (double alpha, const Epetra_RowMatrix &BaseMatrix, const long long Row, const long long Col)
void BlockSumIntoGlobalValues (const int BaseRow, int NumIndices, double *Values, const int *Indices, const int Row, const int Col)
void BlockSumIntoGlobalValues (const long long BaseRow, int NumIndices, double *Values, const long long *Indices, const long long Row, const long long Col)
void BlockReplaceGlobalValues (const int BaseRow, int NumIndices, double *Values, const int *Indices, const int Row, const int Col)
void BlockReplaceGlobalValues (const long long BaseRow, int NumIndices, double *Values, const long long *Indices, const long long Row, const long long Col)
void BlockExtractGlobalRowView (const int BaseRow, int &NumEntries, double *&Values, const int Row, const int Col)
void BlockExtractGlobalRowView (const long long BaseRow, int &NumEntries, double *&Values, const long long Row, const long long Col)
void ExtractBlock (Epetra_CrsMatrix &BaseMatrix, const int Row, const int Col)
void ExtractBlock (Epetra_CrsMatrix &BaseMatrix, const long long Row, const long long Col)
template<>
std::vector< int > & TRowIndices ()
template<>
std::vector< std::vector< int > > & TRowStencil ()
template<>
std::vector< long long > & TRowIndices ()
template<>
std::vector< std::vector< long long > > & TRowStencil ()
Public Member Functions inherited from Epetra_CrsMatrix
 Epetra_CrsMatrix (Epetra_DataAccess CV, const Epetra_Map &RowMap, const int *NumEntriesPerRow, bool StaticProfile=false)
 Epetra_CrsMatrix (Epetra_DataAccess CV, const Epetra_Map &RowMap, int NumEntriesPerRow, bool StaticProfile=false)
 Epetra_CrsMatrix (Epetra_DataAccess CV, const Epetra_Map &RowMap, const Epetra_Map &ColMap, const int *NumEntriesPerRow, bool StaticProfile=false)
 Epetra_CrsMatrix (Epetra_DataAccess CV, const Epetra_Map &RowMap, const Epetra_Map &ColMap, int NumEntriesPerRow, bool StaticProfile=false)
 Epetra_CrsMatrix (Epetra_DataAccess CV, const Epetra_CrsGraph &Graph)
 Epetra_CrsMatrix (const Epetra_CrsMatrix &SourceMatrix, const Epetra_Import &RowImporter, const Epetra_Map *DomainMap=0, const Epetra_Map *RangeMap=0, bool RestrictCommunicator=false)
 Epetra_CrsMatrix (const Epetra_CrsMatrix &SourceMatrix, const Epetra_Import &RowImporter, const Epetra_Import *DomainImporter, const Epetra_Map *DomainMap, const Epetra_Map *RangeMap, bool RestrictCommunicator)
 Epetra_CrsMatrix (const Epetra_CrsMatrix &SourceMatrix, const Epetra_Export &RowExporter, const Epetra_Map *DomainMap=0, const Epetra_Map *RangeMap=0, bool RestrictCommunicator=false)
 Epetra_CrsMatrix (const Epetra_CrsMatrix &SourceMatrix, const Epetra_Export &RowExporter, const Epetra_Export *DomainExporter, const Epetra_Map *DomainMap, const Epetra_Map *RangeMap, bool RestrictCommunicator)
 Epetra_CrsMatrix (const Epetra_CrsMatrix &Matrix)
virtual ~Epetra_CrsMatrix ()
Epetra_CrsMatrixoperator= (const Epetra_CrsMatrix &src)
int PutScalar (double ScalarConstant)
int Scale (double ScalarConstant)
virtual int InsertGlobalValues (int GlobalRow, int NumEntries, const double *Values, const int *Indices)
virtual int InsertGlobalValues (int GlobalRow, int NumEntries, double *Values, int *Indices)
virtual int ReplaceGlobalValues (int GlobalRow, int NumEntries, const double *Values, const int *Indices)
virtual int SumIntoGlobalValues (int GlobalRow, int NumEntries, const double *Values, const int *Indices)
int InsertMyValues (int MyRow, int NumEntries, const double *Values, const int *Indices)
int InsertMyValues (int MyRow, int NumEntries, double *Values, int *Indices)
int ReplaceMyValues (int MyRow, int NumEntries, const double *Values, const int *Indices)
int SumIntoMyValues (int MyRow, int NumEntries, const double *Values, const int *Indices)
int ReplaceDiagonalValues (const Epetra_Vector &Diagonal)
int FillComplete (bool OptimizeDataStorage=true)
int FillComplete (const Epetra_Map &DomainMap, const Epetra_Map &RangeMap, bool OptimizeDataStorage=true)
int OptimizeStorage ()
int MakeDataContiguous ()
int ExtractGlobalRowCopy (int GlobalRow, int Length, int &NumEntries, double *Values, int *Indices) const
int ExtractMyRowCopy (int MyRow, int Length, int &NumEntries, double *Values, int *Indices) const
int ExtractGlobalRowCopy (int GlobalRow, int Length, int &NumEntries, double *Values) const
int ExtractMyRowCopy (int MyRow, int Length, int &NumEntries, double *Values) const
int ExtractDiagonalCopy (Epetra_Vector &Diagonal) const
int ExtractGlobalRowView (int GlobalRow, int &NumEntries, double *&Values, int *&Indices) const
int ExtractMyRowView (int MyRow, int &NumEntries, double *&Values, int *&Indices) const
int ExtractGlobalRowView (int GlobalRow, int &NumEntries, double *&Values) const
int ExtractMyRowView (int MyRow, int &NumEntries, double *&Values) const
int Multiply (bool TransA, const Epetra_Vector &x, Epetra_Vector &y) const
int Multiply (bool TransA, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
int Solve (bool Upper, bool Trans, bool UnitDiagonal, const Epetra_Vector &x, Epetra_Vector &y) const
int Solve (bool Upper, bool Trans, bool UnitDiagonal, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
int InvRowSums (Epetra_Vector &x) const
int InvRowMaxs (Epetra_Vector &x) const
int LeftScale (const Epetra_Vector &x)
int InvColSums (Epetra_Vector &x) const
int InvColMaxs (Epetra_Vector &x) const
int RightScale (const Epetra_Vector &x)
bool Filled () const
bool StorageOptimized () const
bool IndicesAreGlobal () const
bool IndicesAreLocal () const
bool IndicesAreContiguous () const
bool LowerTriangular () const
bool UpperTriangular () const
bool NoDiagonal () const
double NormInf () const
double NormOne () const
double NormFrobenius () const
int NumGlobalNonzeros () const
int NumGlobalRows () const
int NumGlobalCols () const
int NumGlobalDiagonals () const
int NumMyNonzeros () const
int NumMyRows () const
int NumMyCols () const
int NumMyDiagonals () const
int NumGlobalEntries (long long Row) const
int NumAllocatedGlobalEntries (int Row) const
int MaxNumEntries () const
int GlobalMaxNumEntries () const
int NumMyEntries (int Row) const
int NumAllocatedMyEntries (int Row) const
int IndexBase () const
bool StaticGraph ()
const Epetra_CrsGraphGraph () const
const Epetra_MapRowMap () const
int ReplaceRowMap (const Epetra_BlockMap &newmap)
bool HaveColMap () const
int ReplaceColMap (const Epetra_BlockMap &newmap)
int ReplaceDomainMapAndImporter (const Epetra_Map &NewDomainMap, const Epetra_Import *NewImporter)
int RemoveEmptyProcessesInPlace (const Epetra_BlockMap *NewMap)
const Epetra_MapColMap () const
const Epetra_MapDomainMap () const
const Epetra_MapRangeMap () const
const Epetra_ImportImporter () const
const Epetra_ExportExporter () const
const Epetra_CommComm () const
int LRID (int GRID_in) const
int GRID (int LRID_in) const
int LCID (int GCID_in) const
int GCID (int LCID_in) const
bool MyGRID (int GRID_in) const
bool MyLRID (int LRID_in) const
bool MyGCID (int GCID_in) const
bool MyLCID (int LCID_in) const
bool MyGlobalRow (int GID) const
virtual void Print (std::ostream &os) const
const char * Label () const
int SetUseTranspose (bool UseTranspose_in)
int Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
int ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
bool HasNormInf () const
bool UseTranspose () const
const Epetra_MapOperatorDomainMap () const
const Epetra_MapOperatorRangeMap () const
int NumMyRowEntries (int MyRow, int &NumEntries) const
const Epetra_BlockMapMap () const
const Epetra_MapRowMatrixRowMap () const
const Epetra_MapRowMatrixColMap () const
const Epetra_ImportRowMatrixImporter () const
double * operator[] (int Loc)
int ExtractCrsDataPointers (int *&IndexOffset, int *&Indices, double *&Values_in) const
Epetra_IntSerialDenseVectorExpertExtractIndexOffset ()
Epetra_IntSerialDenseVectorExpertExtractIndices ()
double *& ExpertExtractValues ()
int ExpertStaticFillComplete (const Epetra_Map &DomainMap, const Epetra_Map &RangeMap, const Epetra_Import *Importer=0, const Epetra_Export *Exporter=0, int NumMyDiagonals=-1)
int ExpertMakeUniqueCrsGraphData ()
int SortGhostsAssociatedWithEachProcessor (bool Flag)
const Epetra_MapImportMap () const
int TransformToLocal ()
int TransformToLocal (const Epetra_Map *DomainMap, const Epetra_Map *RangeMap)
 Epetra_CrsMatrix (Epetra_DataAccess CV, const Epetra_Map &RowMap, const int *NumEntriesPerRow, bool StaticProfile=false)
 Epetra_CrsMatrix (Epetra_DataAccess CV, const Epetra_Map &RowMap, int NumEntriesPerRow, bool StaticProfile=false)
 Epetra_CrsMatrix (Epetra_DataAccess CV, const Epetra_Map &RowMap, const Epetra_Map &ColMap, const int *NumEntriesPerRow, bool StaticProfile=false)
 Epetra_CrsMatrix (Epetra_DataAccess CV, const Epetra_Map &RowMap, const Epetra_Map &ColMap, int NumEntriesPerRow, bool StaticProfile=false)
 Epetra_CrsMatrix (Epetra_DataAccess CV, const Epetra_CrsGraph &Graph)
 Epetra_CrsMatrix (const Epetra_CrsMatrix &SourceMatrix, const Epetra_Import &RowImporter, const Epetra_Map *DomainMap=0, const Epetra_Map *RangeMap=0, bool RestrictCommunicator=false)
 Epetra_CrsMatrix (const Epetra_CrsMatrix &SourceMatrix, const Epetra_Import &RowImporter, const Epetra_Import *DomainImporter, const Epetra_Map *DomainMap, const Epetra_Map *RangeMap, bool RestrictCommunicator)
 Epetra_CrsMatrix (const Epetra_CrsMatrix &SourceMatrix, const Epetra_Export &RowExporter, const Epetra_Map *DomainMap=0, const Epetra_Map *RangeMap=0, bool RestrictCommunicator=false)
 Epetra_CrsMatrix (const Epetra_CrsMatrix &SourceMatrix, const Epetra_Export &RowExporter, const Epetra_Export *DomainExporter, const Epetra_Map *DomainMap, const Epetra_Map *RangeMap, bool RestrictCommunicator)
 Epetra_CrsMatrix (const Epetra_CrsMatrix &Matrix)
virtual ~Epetra_CrsMatrix ()
Epetra_CrsMatrixoperator= (const Epetra_CrsMatrix &src)
int PutScalar (double ScalarConstant)
int Scale (double ScalarConstant)
virtual int InsertGlobalValues (int GlobalRow, int NumEntries, const double *Values, const int *Indices)
virtual int InsertGlobalValues (int GlobalRow, int NumEntries, double *Values, int *Indices)
virtual int ReplaceGlobalValues (int GlobalRow, int NumEntries, const double *Values, const int *Indices)
virtual int SumIntoGlobalValues (int GlobalRow, int NumEntries, const double *Values, const int *Indices)
int InsertMyValues (int MyRow, int NumEntries, const double *Values, const int *Indices)
int InsertMyValues (int MyRow, int NumEntries, double *Values, int *Indices)
int ReplaceMyValues (int MyRow, int NumEntries, const double *Values, const int *Indices)
int SumIntoMyValues (int MyRow, int NumEntries, const double *Values, const int *Indices)
int ReplaceDiagonalValues (const Epetra_Vector &Diagonal)
int FillComplete (bool OptimizeDataStorage=true)
int FillComplete (const Epetra_Map &DomainMap, const Epetra_Map &RangeMap, bool OptimizeDataStorage=true)
int OptimizeStorage ()
int MakeDataContiguous ()
int ExtractGlobalRowCopy (int GlobalRow, int Length, int &NumEntries, double *Values, int *Indices) const
int ExtractMyRowCopy (int MyRow, int Length, int &NumEntries, double *Values, int *Indices) const
int ExtractGlobalRowCopy (int GlobalRow, int Length, int &NumEntries, double *Values) const
int ExtractMyRowCopy (int MyRow, int Length, int &NumEntries, double *Values) const
int ExtractDiagonalCopy (Epetra_Vector &Diagonal) const
int ExtractGlobalRowView (int GlobalRow, int &NumEntries, double *&Values, int *&Indices) const
int ExtractMyRowView (int MyRow, int &NumEntries, double *&Values, int *&Indices) const
int ExtractGlobalRowView (int GlobalRow, int &NumEntries, double *&Values) const
int ExtractMyRowView (int MyRow, int &NumEntries, double *&Values) const
int Multiply (bool TransA, const Epetra_Vector &x, Epetra_Vector &y) const
int Multiply (bool TransA, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
int Solve (bool Upper, bool Trans, bool UnitDiagonal, const Epetra_Vector &x, Epetra_Vector &y) const
int Solve (bool Upper, bool Trans, bool UnitDiagonal, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
int InvRowSums (Epetra_Vector &x) const
int InvRowMaxs (Epetra_Vector &x) const
int LeftScale (const Epetra_Vector &x)
int InvColSums (Epetra_Vector &x) const
int InvColMaxs (Epetra_Vector &x) const
int RightScale (const Epetra_Vector &x)
bool Filled () const
bool StorageOptimized () const
bool IndicesAreGlobal () const
bool IndicesAreLocal () const
bool IndicesAreContiguous () const
bool LowerTriangular () const
bool UpperTriangular () const
bool NoDiagonal () const
double NormInf () const
double NormOne () const
double NormFrobenius () const
int NumGlobalNonzeros () const
int NumGlobalRows () const
int NumGlobalCols () const
int NumGlobalDiagonals () const
int NumMyNonzeros () const
int NumMyRows () const
int NumMyCols () const
int NumMyDiagonals () const
int NumGlobalEntries (long long Row) const
int NumAllocatedGlobalEntries (int Row) const
int MaxNumEntries () const
int GlobalMaxNumEntries () const
int NumMyEntries (int Row) const
int NumAllocatedMyEntries (int Row) const
int IndexBase () const
bool StaticGraph ()
const Epetra_CrsGraphGraph () const
const Epetra_MapRowMap () const
int ReplaceRowMap (const Epetra_BlockMap &newmap)
bool HaveColMap () const
int ReplaceColMap (const Epetra_BlockMap &newmap)
int ReplaceDomainMapAndImporter (const Epetra_Map &NewDomainMap, const Epetra_Import *NewImporter)
int RemoveEmptyProcessesInPlace (const Epetra_BlockMap *NewMap)
const Epetra_MapColMap () const
const Epetra_MapDomainMap () const
const Epetra_MapRangeMap () const
const Epetra_ImportImporter () const
const Epetra_ExportExporter () const
const Epetra_CommComm () const
int LRID (int GRID_in) const
int GRID (int LRID_in) const
int LCID (int GCID_in) const
int GCID (int LCID_in) const
bool MyGRID (int GRID_in) const
bool MyLRID (int LRID_in) const
bool MyGCID (int GCID_in) const
bool MyLCID (int LCID_in) const
bool MyGlobalRow (int GID) const
virtual void Print (std::ostream &os) const
const char * Label () const
int SetUseTranspose (bool UseTranspose_in)
int Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
int ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
bool HasNormInf () const
bool UseTranspose () const
const Epetra_MapOperatorDomainMap () const
const Epetra_MapOperatorRangeMap () const
int NumMyRowEntries (int MyRow, int &NumEntries) const
const Epetra_BlockMapMap () const
const Epetra_MapRowMatrixRowMap () const
const Epetra_MapRowMatrixColMap () const
const Epetra_ImportRowMatrixImporter () const
double * operator[] (int Loc)
int ExtractCrsDataPointers (int *&IndexOffset, int *&Indices, double *&Values_in) const
Epetra_IntSerialDenseVectorExpertExtractIndexOffset ()
Epetra_IntSerialDenseVectorExpertExtractIndices ()
double *& ExpertExtractValues ()
int ExpertStaticFillComplete (const Epetra_Map &DomainMap, const Epetra_Map &RangeMap, const Epetra_Import *Importer=0, const Epetra_Export *Exporter=0, int NumMyDiagonals=-1)
int ExpertMakeUniqueCrsGraphData ()
int SortGhostsAssociatedWithEachProcessor (bool Flag)
Public Member Functions inherited from Epetra_DistObject
 Epetra_DistObject (const Epetra_BlockMap &Map)
 Epetra_DistObject (const Epetra_BlockMap &Map, const char *const Label)
 Epetra_DistObject (const Epetra_DistObject &Source)
virtual ~Epetra_DistObject ()
int Import (const Epetra_SrcDistObject &A, const Epetra_Import &Importer, Epetra_CombineMode CombineMode, const Epetra_OffsetIndex *Indexor=0)
int Import (const Epetra_SrcDistObject &A, const Epetra_Export &Exporter, Epetra_CombineMode CombineMode, const Epetra_OffsetIndex *Indexor=0)
int Export (const Epetra_SrcDistObject &A, const Epetra_Import &Importer, Epetra_CombineMode CombineMode, const Epetra_OffsetIndex *Indexor=0)
int Export (const Epetra_SrcDistObject &A, const Epetra_Export &Exporter, Epetra_CombineMode CombineMode, const Epetra_OffsetIndex *Indexor=0)
const Epetra_BlockMapMap () const
const Epetra_CommComm () const
bool DistributedGlobal () const
 Epetra_DistObject (const Epetra_BlockMap &Map)
 Epetra_DistObject (const Epetra_BlockMap &Map, const char *const Label)
 Epetra_DistObject (const Epetra_DistObject &Source)
virtual ~Epetra_DistObject ()
int Import (const Epetra_SrcDistObject &A, const Epetra_Import &Importer, Epetra_CombineMode CombineMode, const Epetra_OffsetIndex *Indexor=0)
int Import (const Epetra_SrcDistObject &A, const Epetra_Export &Exporter, Epetra_CombineMode CombineMode, const Epetra_OffsetIndex *Indexor=0)
int Export (const Epetra_SrcDistObject &A, const Epetra_Import &Importer, Epetra_CombineMode CombineMode, const Epetra_OffsetIndex *Indexor=0)
int Export (const Epetra_SrcDistObject &A, const Epetra_Export &Exporter, Epetra_CombineMode CombineMode, const Epetra_OffsetIndex *Indexor=0)
const Epetra_BlockMapMap () const
const Epetra_CommComm () const
bool DistributedGlobal () const
Public Member Functions inherited from Epetra_Object
 Epetra_Object (int TracebackModeIn=-1, bool set_label=true)
 Epetra_Object (const char *const Label, int TracebackModeIn=-1)
 Epetra_Object (const Epetra_Object &Object)
virtual ~Epetra_Object ()
virtual int ReportError (const std::string Message, int ErrorCode) const
 Epetra_Object (int TracebackModeIn=-1, bool set_label=true)
 Epetra_Object (const char *const Label, int TracebackModeIn=-1)
 Epetra_Object (const Epetra_Object &Object)
virtual ~Epetra_Object ()
virtual void SetLabel (const char *const Label)
Public Member Functions inherited from Epetra_SrcDistObject
virtual ~Epetra_SrcDistObject ()
virtual ~Epetra_SrcDistObject ()
Public Member Functions inherited from Epetra_CompObject
 Epetra_CompObject ()
 Epetra_CompObject (const Epetra_CompObject &Source)
virtual ~Epetra_CompObject ()
void SetFlopCounter (const Epetra_Flops &FlopCounter_in)
void SetFlopCounter (const Epetra_CompObject &CompObject)
void UnsetFlopCounter ()
Epetra_FlopsGetFlopCounter () const
void ResetFlops () const
double Flops () const
void UpdateFlops (int Flops_in) const
void UpdateFlops (long int Flops_in) const
void UpdateFlops (long long Flops_in) const
void UpdateFlops (double Flops_in) const
void UpdateFlops (float Flops_in) const
 Epetra_CompObject ()
 Epetra_CompObject (const Epetra_CompObject &Source)
virtual ~Epetra_CompObject ()
void SetFlopCounter (const Epetra_Flops &FlopCounter_in)
void SetFlopCounter (const Epetra_CompObject &CompObject)
void UnsetFlopCounter ()
Epetra_FlopsGetFlopCounter () const
void ResetFlops () const
double Flops () const
Public Member Functions inherited from Epetra_BLAS
 Epetra_BLAS (void)
 Epetra_BLAS (const Epetra_BLAS &BLAS)
virtual ~Epetra_BLAS (void)
float ASUM (const int N, const float *X, const int INCX=1) const
double ASUM (const int N, const double *X, const int INCX=1) const
float DOT (const int N, const float *X, const float *Y, const int INCX=1, const int INCY=1) const
double DOT (const int N, const double *X, const double *Y, const int INCX=1, const int INCY=1) const
float NRM2 (const int N, const float *X, const int INCX=1) const
double NRM2 (const int N, const double *X, const int INCX=1) const
void SCAL (const int N, const float ALPHA, float *X, const int INCX=1) const
void SCAL (const int N, const double ALPHA, double *X, const int INCX=1) const
void COPY (const int N, const float *X, float *Y, const int INCX=1, const int INCY=1) const
void COPY (const int N, const double *X, double *Y, const int INCX=1, const int INCY=1) const
int IAMAX (const int N, const float *X, const int INCX=1) const
int IAMAX (const int N, const double *X, const int INCX=1) const
void AXPY (const int N, const float ALPHA, const float *X, float *Y, const int INCX=1, const int INCY=1) const
void AXPY (const int N, const double ALPHA, const double *X, double *Y, const int INCX=1, const int INCY=1) const
void GEMV (const char TRANS, const int M, const int N, const float ALPHA, const float *A, const int LDA, const float *X, const float BETA, float *Y, const int INCX=1, const int INCY=1) const
void GEMV (const char TRANS, const int M, const int N, const double ALPHA, const double *A, const int LDA, const double *X, const double BETA, double *Y, const int INCX=1, const int INCY=1) const
void GEMM (const char TRANSA, const char TRANSB, const int M, const int N, const int K, const float ALPHA, const float *A, const int LDA, const float *B, const int LDB, const float BETA, float *C, const int LDC) const
void GEMM (const char TRANSA, const char TRANSB, const int M, const int N, const int K, const double ALPHA, const double *A, const int LDA, const double *B, const int LDB, const double BETA, double *C, const int LDC) const
void SYMM (const char SIDE, const char UPLO, const int M, const int N, const float ALPHA, const float *A, const int LDA, const float *B, const int LDB, const float BETA, float *C, const int LDC) const
void SYMM (const char SIDE, const char UPLO, const int M, const int N, const double ALPHA, const double *A, const int LDA, const double *B, const int LDB, const double BETA, double *C, const int LDC) const
void TRMM (const char SIDE, const char UPLO, const char TRANSA, const char DIAG, const int M, const int N, const float ALPHA, const float *A, const int LDA, float *B, const int LDB) const
void TRMM (const char SIDE, const char UPLO, const char TRANSA, const char DIAG, const int M, const int N, const double ALPHA, const double *A, const int LDA, double *B, const int LDB) const
void SYRK (const char UPLO, const char TRANS, const int N, const int K, const float ALPHA, const float *A, const int LDA, const float BETA, float *C, const int LDC) const
void SYRK (const char UPLO, const char TRANS, const int N, const int K, const double ALPHA, const double *A, const int LDA, const double BETA, double *C, const int LDC) const
 Epetra_BLAS (void)
 Epetra_BLAS (const Epetra_BLAS &BLAS)
virtual ~Epetra_BLAS (void)
float ASUM (const int N, const float *X, const int INCX=1) const
double ASUM (const int N, const double *X, const int INCX=1) const
float DOT (const int N, const float *X, const float *Y, const int INCX=1, const int INCY=1) const
double DOT (const int N, const double *X, const double *Y, const int INCX=1, const int INCY=1) const
float NRM2 (const int N, const float *X, const int INCX=1) const
double NRM2 (const int N, const double *X, const int INCX=1) const
void SCAL (const int N, const float ALPHA, float *X, const int INCX=1) const
void SCAL (const int N, const double ALPHA, double *X, const int INCX=1) const
void COPY (const int N, const float *X, float *Y, const int INCX=1, const int INCY=1) const
void COPY (const int N, const double *X, double *Y, const int INCX=1, const int INCY=1) const
int IAMAX (const int N, const float *X, const int INCX=1) const
int IAMAX (const int N, const double *X, const int INCX=1) const
void AXPY (const int N, const float ALPHA, const float *X, float *Y, const int INCX=1, const int INCY=1) const
void AXPY (const int N, const double ALPHA, const double *X, double *Y, const int INCX=1, const int INCY=1) const
void GEMV (const char TRANS, const int M, const int N, const float ALPHA, const float *A, const int LDA, const float *X, const float BETA, float *Y, const int INCX=1, const int INCY=1) const
void GEMV (const char TRANS, const int M, const int N, const double ALPHA, const double *A, const int LDA, const double *X, const double BETA, double *Y, const int INCX=1, const int INCY=1) const
void GEMM (const char TRANSA, const char TRANSB, const int M, const int N, const int K, const float ALPHA, const float *A, const int LDA, const float *B, const int LDB, const float BETA, float *C, const int LDC) const
void GEMM (const char TRANSA, const char TRANSB, const int M, const int N, const int K, const double ALPHA, const double *A, const int LDA, const double *B, const int LDB, const double BETA, double *C, const int LDC) const
void SYMM (const char SIDE, const char UPLO, const int M, const int N, const float ALPHA, const float *A, const int LDA, const float *B, const int LDB, const float BETA, float *C, const int LDC) const
void SYMM (const char SIDE, const char UPLO, const int M, const int N, const double ALPHA, const double *A, const int LDA, const double *B, const int LDB, const double BETA, double *C, const int LDC) const
void TRMM (const char SIDE, const char UPLO, const char TRANSA, const char DIAG, const int M, const int N, const float ALPHA, const float *A, const int LDA, float *B, const int LDB) const
void TRMM (const char SIDE, const char UPLO, const char TRANSA, const char DIAG, const int M, const int N, const double ALPHA, const double *A, const int LDA, double *B, const int LDB) const
void SYRK (const char UPLO, const char TRANS, const int N, const int K, const float ALPHA, const float *A, const int LDA, const float BETA, float *C, const int LDC) const
void SYRK (const char UPLO, const char TRANS, const int N, const int K, const double ALPHA, const double *A, const int LDA, const double BETA, double *C, const int LDC) const
Public Member Functions inherited from Epetra_RowMatrix
virtual ~Epetra_RowMatrix ()
virtual ~Epetra_RowMatrix ()
Public Member Functions inherited from Epetra_Operator
virtual ~Epetra_Operator ()
virtual ~Epetra_Operator ()

Protected Attributes

Epetra_CrsGraph BaseGraph_
std::vector< std::vector< int > > RowStencil_int_
std::vector< int > RowIndices_int_
std::vector< std::vector< long long > > RowStencil_LL_
std::vector< long long > RowIndices_LL_
long long ROffset_
long long COffset_

Additional Inherited Members

Static Public Member Functions inherited from Epetra_Object
static void SetTracebackMode (int TracebackModeValue)
static int GetTracebackMode ()
static std::ostream & GetTracebackStream ()
Protected Member Functions inherited from Epetra_CrsMatrix
int CheckSizes (const Epetra_SrcDistObject &A)
int CopyAndPermute (const Epetra_SrcDistObject &Source, int NumSameIDs, int NumPermuteIDs, int *PermuteToLIDs, int *PermuteFromLIDs, const Epetra_OffsetIndex *Indexor, Epetra_CombineMode CombineMode=Zero)
int PackAndPrepare (const Epetra_SrcDistObject &Source, int NumExportIDs, int *ExportLIDs, int &LenExports, char *&Exports, int &SizeOfPacket, int *Sizes, bool &VarSizes, Epetra_Distributor &Distor)
int UnpackAndCombine (const Epetra_SrcDistObject &Source, int NumImportIDs, int *ImportLIDs, int LenImports, char *Imports, int &SizeOfPacket, Epetra_Distributor &Distor, Epetra_CombineMode CombineMode, const Epetra_OffsetIndex *Indexor)
int SortEntries ()
bool Sorted () const
int MergeRedundantEntries ()
bool NoRedundancies () const
Protected Member Functions inherited from Epetra_DistObject
virtual int DoTransfer (const Epetra_SrcDistObject &A, Epetra_CombineMode CombineMode, int NumSameIDs, int NumPermuteIDs, int NumRemoteIDs, int NumExportIDs, int *PermuteToLIDs, int *PermuteFromLIDs, int *RemoteLIDs, int *ExportLIDs, int &LenExports, char *&Exports, int &LenImports, char *&Imports, Epetra_Distributor &Distor, bool DoReverse, const Epetra_OffsetIndex *Indexor)
virtual int DoTransfer (const Epetra_SrcDistObject &A, Epetra_CombineMode CombineMode, int NumSameIDs, int NumPermuteIDs, int NumRemoteIDs, int NumExportIDs, int *PermuteToLIDs, int *PermuteFromLIDs, int *RemoteLIDs, int *ExportLIDs, int &LenExports, char *&Exports, int &LenImports, char *&Imports, Epetra_Distributor &Distor, bool DoReverse, const Epetra_OffsetIndex *Indexor)

Detailed Description

Definition at line 66 of file EpetraExt_BlockCrsMatrix.h.

Constructor & Destructor Documentation

◆ BlockCrsMatrix() [1/8]

EpetraExt::BlockCrsMatrix::BlockCrsMatrix ( const Epetra_CrsGraph & BaseGraph,
const std::vector< int > & RowStencil,
int RowIndex,
const Epetra_Comm & GlobalComm )

BlockCrsMatrix constuctor with one block row per processor.

Creates a BlockCrsMatrix object and allocates storage.

Parameters
InBaseGraph - Graph determining individual block structure, can be distrib. over subset of proc.'s
InRowStencil - Describes the stencil for block row on this processor (i.e. (-1 0 1) centered difference)
InRowIndex - Defines the index used for this block row.

◆ BlockCrsMatrix() [2/8]

EpetraExt::BlockCrsMatrix::BlockCrsMatrix ( const Epetra_CrsGraph & BaseGraph,
const std::vector< long long > & RowStencil,
long long RowIndex,
const Epetra_Comm & GlobalComm )

◆ BlockCrsMatrix() [3/8]

EpetraExt::BlockCrsMatrix::BlockCrsMatrix ( const Epetra_CrsGraph & BaseGraph,
const std::vector< std::vector< int > > & RowStencil,
const std::vector< int > & RowIndices,
const Epetra_Comm & GlobalComm )

BlockCrsMatrix constuctor with multiple block rows per processor.

Creates a BlockCrsMatrix object and allocates storage.

Parameters
InBaseGraph - Graph determining individual block structure, can be distrib. over subset of proc.'s
InRowStencil - Describes the stencil for block row on this processor (i.e. (-1 0 1) centered difference)
InRowIndices - Defines the indices used for this block row.

◆ BlockCrsMatrix() [4/8]

EpetraExt::BlockCrsMatrix::BlockCrsMatrix ( const Epetra_CrsGraph & BaseGraph,
const std::vector< std::vector< long long > > & RowStencil,
const std::vector< long long > & RowIndices,
const Epetra_Comm & GlobalComm )

◆ BlockCrsMatrix() [5/8]

EpetraExt::BlockCrsMatrix::BlockCrsMatrix ( const Epetra_CrsGraph & BaseGraph,
const Epetra_CrsGraph & LocalBlockGraph,
const Epetra_Comm & GlobalComm )

Version taking a local block graph.

Definition at line 116 of file EpetraExt_BlockCrsMatrix.cpp.

◆ BlockCrsMatrix() [6/8]

EpetraExt::BlockCrsMatrix::BlockCrsMatrix ( const Epetra_RowMatrix & BaseMatrix,
const std::vector< std::vector< int > > & RowStencil,
const std::vector< int > & RowIndices,
const Epetra_Comm & GlobalComm )

◆ BlockCrsMatrix() [7/8]

EpetraExt::BlockCrsMatrix::BlockCrsMatrix ( const Epetra_RowMatrix & BaseMatrix,
const std::vector< std::vector< long long > > & RowStencil,
const std::vector< long long > & RowIndices,
const Epetra_Comm & GlobalComm )

◆ BlockCrsMatrix() [8/8]

EpetraExt::BlockCrsMatrix::BlockCrsMatrix ( const BlockCrsMatrix & Matrix)

Copy constructor.

Definition at line 180 of file EpetraExt_BlockCrsMatrix.cpp.

◆ ~BlockCrsMatrix()

EpetraExt::BlockCrsMatrix::~BlockCrsMatrix ( )
virtual

Destructor.

Definition at line 197 of file EpetraExt_BlockCrsMatrix.cpp.

Member Function Documentation

◆ Stencil()

const std::vector< int > & EpetraExt::BlockCrsMatrix::Stencil ( int i = 0)
inline

Local Stencil Info.

Definition at line 123 of file EpetraExt_BlockCrsMatrix.h.

◆ RowIndex()

int EpetraExt::BlockCrsMatrix::RowIndex ( int i = 0)
inline

RowIndex.

Definition at line 131 of file EpetraExt_BlockCrsMatrix.h.

◆ Stencil64()

const std::vector< long long > & EpetraExt::BlockCrsMatrix::Stencil64 ( int i = 0)
inline

Local Stencil Info.

Definition at line 141 of file EpetraExt_BlockCrsMatrix.h.

◆ RowIndex64()

long long EpetraExt::BlockCrsMatrix::RowIndex64 ( int i = 0)
inline

RowIndex.

Definition at line 149 of file EpetraExt_BlockCrsMatrix.h.

◆ LoadBlock() [1/2]

void EpetraExt::BlockCrsMatrix::LoadBlock ( const Epetra_RowMatrix & BaseMatrix,
const int Row,
const int Col )

Routine for loading a base matrices values into the large Block Matrix The Row and Col arguments are indices into RowStencil

Definition at line 241 of file EpetraExt_BlockCrsMatrix.cpp.

◆ LoadBlock() [2/2]

void EpetraExt::BlockCrsMatrix::LoadBlock ( const Epetra_RowMatrix & BaseMatrix,
const long long Row,
const long long Col )

Definition at line 251 of file EpetraExt_BlockCrsMatrix.cpp.

◆ SumIntoBlock() [1/2]

void EpetraExt::BlockCrsMatrix::SumIntoBlock ( double alpha,
const Epetra_RowMatrix & BaseMatrix,
const int Row,
const int Col )

Routine for summing base matrices values into the large Block Matrix The Row and Col arguments are indices into RowStencil

Definition at line 304 of file EpetraExt_BlockCrsMatrix.cpp.

◆ SumIntoBlock() [2/2]

void EpetraExt::BlockCrsMatrix::SumIntoBlock ( double alpha,
const Epetra_RowMatrix & BaseMatrix,
const long long Row,
const long long Col )

Definition at line 314 of file EpetraExt_BlockCrsMatrix.cpp.

◆ SumIntoGlobalBlock() [1/2]

void EpetraExt::BlockCrsMatrix::SumIntoGlobalBlock ( double alpha,
const Epetra_RowMatrix & BaseMatrix,
const int Row,
const int Col )

Routine for summing base matrices values into the large Block Matrix The Row and Col arguments are global indices

Definition at line 366 of file EpetraExt_BlockCrsMatrix.cpp.

◆ SumIntoGlobalBlock() [2/2]

void EpetraExt::BlockCrsMatrix::SumIntoGlobalBlock ( double alpha,
const Epetra_RowMatrix & BaseMatrix,
const long long Row,
const long long Col )

Definition at line 376 of file EpetraExt_BlockCrsMatrix.cpp.

◆ BlockSumIntoGlobalValues() [1/2]

void EpetraExt::BlockCrsMatrix::BlockSumIntoGlobalValues ( const int BaseRow,
int NumIndices,
double * Values,
const int * Indices,
const int Row,
const int Col )

Sum Entries into Block matrix using base-matrix numbering plus block Row and Col The Row and Col arguments are indices into RowStencil

Definition at line 412 of file EpetraExt_BlockCrsMatrix.cpp.

◆ BlockSumIntoGlobalValues() [2/2]

void EpetraExt::BlockCrsMatrix::BlockSumIntoGlobalValues ( const long long BaseRow,
int NumIndices,
double * Values,
const long long * Indices,
const long long Row,
const long long Col )

Definition at line 423 of file EpetraExt_BlockCrsMatrix.cpp.

◆ BlockReplaceGlobalValues() [1/2]

void EpetraExt::BlockCrsMatrix::BlockReplaceGlobalValues ( const int BaseRow,
int NumIndices,
double * Values,
const int * Indices,
const int Row,
const int Col )

Definition at line 459 of file EpetraExt_BlockCrsMatrix.cpp.

◆ BlockReplaceGlobalValues() [2/2]

void EpetraExt::BlockCrsMatrix::BlockReplaceGlobalValues ( const long long BaseRow,
int NumIndices,
double * Values,
const long long * Indices,
const long long Row,
const long long Col )

Definition at line 470 of file EpetraExt_BlockCrsMatrix.cpp.

◆ BlockExtractGlobalRowView() [1/2]

void EpetraExt::BlockCrsMatrix::BlockExtractGlobalRowView ( const int BaseRow,
int & NumEntries,
double *& Values,
const int Row,
const int Col )

Definition at line 510 of file EpetraExt_BlockCrsMatrix.cpp.

◆ BlockExtractGlobalRowView() [2/2]

void EpetraExt::BlockCrsMatrix::BlockExtractGlobalRowView ( const long long BaseRow,
int & NumEntries,
double *& Values,
const long long Row,
const long long Col )

Definition at line 521 of file EpetraExt_BlockCrsMatrix.cpp.

◆ ExtractBlock() [1/2]

void EpetraExt::BlockCrsMatrix::ExtractBlock ( Epetra_CrsMatrix & BaseMatrix,
const int Row,
const int Col )

Definition at line 585 of file EpetraExt_BlockCrsMatrix.cpp.

◆ ExtractBlock() [2/2]

void EpetraExt::BlockCrsMatrix::ExtractBlock ( Epetra_CrsMatrix & BaseMatrix,
const long long Row,
const long long Col )

Definition at line 595 of file EpetraExt_BlockCrsMatrix.cpp.

◆ TRowIndices() [1/2]

template<>
std::vector< int > & EpetraExt::BlockCrsMatrix::TRowIndices ( )
inline

Definition at line 271 of file EpetraExt_BlockCrsMatrix.h.

◆ TRowStencil() [1/2]

template<>
std::vector< std::vector< int > > & EpetraExt::BlockCrsMatrix::TRowStencil ( )
inline

Definition at line 272 of file EpetraExt_BlockCrsMatrix.h.

◆ TRowIndices() [2/2]

template<>
std::vector< long long > & EpetraExt::BlockCrsMatrix::TRowIndices ( )
inline

Definition at line 275 of file EpetraExt_BlockCrsMatrix.h.

◆ TRowStencil() [2/2]

template<>
std::vector< std::vector< long long > > & EpetraExt::BlockCrsMatrix::TRowStencil ( )
inline

Definition at line 276 of file EpetraExt_BlockCrsMatrix.h.

Member Data Documentation

◆ BaseGraph_

Epetra_CrsGraph EpetraExt::BlockCrsMatrix::BaseGraph_
protected

Definition at line 222 of file EpetraExt_BlockCrsMatrix.h.

◆ RowStencil_int_

std::vector< std::vector<int> > EpetraExt::BlockCrsMatrix::RowStencil_int_
protected

Definition at line 225 of file EpetraExt_BlockCrsMatrix.h.

◆ RowIndices_int_

std::vector<int> EpetraExt::BlockCrsMatrix::RowIndices_int_
protected

Definition at line 227 of file EpetraExt_BlockCrsMatrix.h.

◆ RowStencil_LL_

std::vector< std::vector<long long> > EpetraExt::BlockCrsMatrix::RowStencil_LL_
protected

Definition at line 230 of file EpetraExt_BlockCrsMatrix.h.

◆ RowIndices_LL_

std::vector<long long> EpetraExt::BlockCrsMatrix::RowIndices_LL_
protected

Definition at line 232 of file EpetraExt_BlockCrsMatrix.h.

◆ ROffset_

long long EpetraExt::BlockCrsMatrix::ROffset_
protected

Definition at line 235 of file EpetraExt_BlockCrsMatrix.h.

◆ COffset_

long long EpetraExt::BlockCrsMatrix::COffset_
protected

Definition at line 236 of file EpetraExt_BlockCrsMatrix.h.


The documentation for this class was generated from the following files: