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

#include <EpetraExt_BlockMultiVector.h>

Inheritance diagram for EpetraExt::BlockMultiVector:

Public Member Functions

 BlockMultiVector (const Epetra_BlockMap &BaseMap, const Epetra_BlockMap &GlobalMap, int NumVectors)
 BlockMultiVector constuctor with one block row per processor.
 BlockMultiVector (Epetra_DataAccess CV, const Epetra_BlockMap &BaseMap, const Epetra_MultiVector &BlockVec)
 BlockMultiVector (const BlockMultiVector &MV)
 Copy constructor.
virtual ~BlockMultiVector ()
 Destructor.
int ExtractBlockValues (Epetra_MultiVector &BaseVec, long long BlockRow) const
 Extract a single block from a Block Vector: block row is global, not a stencil value.
int LoadBlockValues (const Epetra_MultiVector &BaseVec, long long BlockRow)
 Load a single block into a Block Vector: block row is global, not a stencil value.
Teuchos::RCP< const Epetra_MultiVectorGetBlock (long long BlockRow) const
 Return Epetra_MultiVector for given block row.
Teuchos::RCP< Epetra_MultiVectorGetBlock (long long BlockRow)
 Return Epetra_MultiVector for given block row.
const Epetra_BlockMapGetBaseMap () const
 Return base map.
Public Member Functions inherited from Epetra_MultiVector
 Epetra_MultiVector (const Epetra_BlockMap &Map, int NumVectors, bool zeroOut=true)
 Epetra_MultiVector (const Epetra_MultiVector &Source)
 Epetra_MultiVector (Epetra_DataAccess CV, const Epetra_BlockMap &Map, double *A, int MyLDA, int NumVectors)
 Epetra_MultiVector (Epetra_DataAccess CV, const Epetra_BlockMap &Map, double **ArrayOfPointers, int NumVectors)
 Epetra_MultiVector (Epetra_DataAccess CV, const Epetra_MultiVector &Source, int *Indices, int NumVectors)
 Epetra_MultiVector (Epetra_DataAccess CV, const Epetra_MultiVector &Source, int StartIndex, int NumVectors)
virtual ~Epetra_MultiVector ()
int ReplaceGlobalValue (int GlobalRow, int VectorIndex, double ScalarValue)
int ReplaceGlobalValue (int GlobalBlockRow, int BlockRowOffset, int VectorIndex, double ScalarValue)
int SumIntoGlobalValue (int GlobalRow, int VectorIndex, double ScalarValue)
int SumIntoGlobalValue (int GlobalBlockRow, int BlockRowOffset, int VectorIndex, double ScalarValue)
int ReplaceMyValue (int MyRow, int VectorIndex, double ScalarValue)
int ReplaceMyValue (int MyBlockRow, int BlockRowOffset, int VectorIndex, double ScalarValue)
int SumIntoMyValue (int MyRow, int VectorIndex, double ScalarValue)
int SumIntoMyValue (int MyBlockRow, int BlockRowOffset, int VectorIndex, double ScalarValue)
int PutScalar (double ScalarConstant)
int Random ()
int ExtractCopy (double *A, int MyLDA) const
int ExtractCopy (double **ArrayOfPointers) const
int ExtractView (double **A, int *MyLDA) const
int ExtractView (double ***ArrayOfPointers) const
int Dot (const Epetra_MultiVector &A, double *Result) const
int Abs (const Epetra_MultiVector &A)
int Reciprocal (const Epetra_MultiVector &A)
int Scale (double ScalarValue)
int Scale (double ScalarA, const Epetra_MultiVector &A)
int Update (double ScalarA, const Epetra_MultiVector &A, double ScalarThis)
int Update (double ScalarA, const Epetra_MultiVector &A, double ScalarB, const Epetra_MultiVector &B, double ScalarThis)
int Norm1 (double *Result) const
int Norm2 (double *Result) const
int NormInf (double *Result) const
int NormWeighted (const Epetra_MultiVector &Weights, double *Result) const
int MinValue (double *Result) const
int MaxValue (double *Result) const
int MeanValue (double *Result) const
int Multiply (char TransA, char TransB, double ScalarAB, const Epetra_MultiVector &A, const Epetra_MultiVector &B, double ScalarThis)
int Multiply (double ScalarAB, const Epetra_MultiVector &A, const Epetra_MultiVector &B, double ScalarThis)
int ReciprocalMultiply (double ScalarAB, const Epetra_MultiVector &A, const Epetra_MultiVector &B, double ScalarThis)
int SetSeed (unsigned int Seed_in)
unsigned int Seed ()
Epetra_MultiVectoroperator= (const Epetra_MultiVector &Source)
double *& operator[] (int i)
double *const & operator[] (int i) const
Epetra_Vector *& operator() (int i)
const Epetra_Vector *& operator() (int i) const
int NumVectors () const
int MyLength () const
int GlobalLength () const
long long GlobalLength64 () const
int Stride () const
bool ConstantStride () const
int ReplaceMap (const Epetra_BlockMap &map)
virtual void Print (std::ostream &os) const
int ResetView (double **ArrayOfPointers)
double * Values () const
double ** Pointers () const
 Epetra_MultiVector (const Epetra_BlockMap &Map, int NumVectors, bool zeroOut=true)
 Epetra_MultiVector (const Epetra_MultiVector &Source)
 Epetra_MultiVector (Epetra_DataAccess CV, const Epetra_BlockMap &Map, double *A, int MyLDA, int NumVectors)
 Epetra_MultiVector (Epetra_DataAccess CV, const Epetra_BlockMap &Map, double **ArrayOfPointers, int NumVectors)
 Epetra_MultiVector (Epetra_DataAccess CV, const Epetra_MultiVector &Source, int *Indices, int NumVectors)
 Epetra_MultiVector (Epetra_DataAccess CV, const Epetra_MultiVector &Source, int StartIndex, int NumVectors)
virtual ~Epetra_MultiVector ()
int ReplaceGlobalValue (int GlobalRow, int VectorIndex, double ScalarValue)
int ReplaceGlobalValue (int GlobalBlockRow, int BlockRowOffset, int VectorIndex, double ScalarValue)
int SumIntoGlobalValue (int GlobalRow, int VectorIndex, double ScalarValue)
int SumIntoGlobalValue (int GlobalBlockRow, int BlockRowOffset, int VectorIndex, double ScalarValue)
int ReplaceMyValue (int MyRow, int VectorIndex, double ScalarValue)
int ReplaceMyValue (int MyBlockRow, int BlockRowOffset, int VectorIndex, double ScalarValue)
int SumIntoMyValue (int MyRow, int VectorIndex, double ScalarValue)
int SumIntoMyValue (int MyBlockRow, int BlockRowOffset, int VectorIndex, double ScalarValue)
int PutScalar (double ScalarConstant)
int Random ()
int ExtractCopy (double *A, int MyLDA) const
int ExtractCopy (double **ArrayOfPointers) const
int ExtractView (double **A, int *MyLDA) const
int ExtractView (double ***ArrayOfPointers) const
int Dot (const Epetra_MultiVector &A, double *Result) const
int Abs (const Epetra_MultiVector &A)
int Reciprocal (const Epetra_MultiVector &A)
int Scale (double ScalarValue)
int Scale (double ScalarA, const Epetra_MultiVector &A)
int Update (double ScalarA, const Epetra_MultiVector &A, double ScalarThis)
int Update (double ScalarA, const Epetra_MultiVector &A, double ScalarB, const Epetra_MultiVector &B, double ScalarThis)
int Norm1 (double *Result) const
int Norm2 (double *Result) const
int NormInf (double *Result) const
int NormWeighted (const Epetra_MultiVector &Weights, double *Result) const
int MinValue (double *Result) const
int MaxValue (double *Result) const
int MeanValue (double *Result) const
int Multiply (char TransA, char TransB, double ScalarAB, const Epetra_MultiVector &A, const Epetra_MultiVector &B, double ScalarThis)
int Multiply (double ScalarAB, const Epetra_MultiVector &A, const Epetra_MultiVector &B, double ScalarThis)
int ReciprocalMultiply (double ScalarAB, const Epetra_MultiVector &A, const Epetra_MultiVector &B, double ScalarThis)
int SetSeed (unsigned int Seed_in)
unsigned int Seed ()
Epetra_MultiVectoroperator= (const Epetra_MultiVector &Source)
double *& operator[] (int i)
double *const & operator[] (int i) const
Epetra_Vector *& operator() (int i)
const Epetra_Vector *& operator() (int i) const
int NumVectors () const
int MyLength () const
int GlobalLength () const
long long GlobalLength64 () const
int Stride () const
bool ConstantStride () const
int ReplaceMap (const Epetra_BlockMap &map)
virtual void Print (std::ostream &os) const
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)
virtual const char * Label () const
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

Protected Attributes

Epetra_BlockMap BaseMap_
long long Offset_

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_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 CheckSizes (const Epetra_SrcDistObject &Source)=0
virtual int CopyAndPermute (const Epetra_SrcDistObject &Source, int NumSameIDs, int NumPermuteIDs, int *PermuteToLIDs, int *PermuteFromLIDs, const Epetra_OffsetIndex *Indexor, Epetra_CombineMode CombineMode=Zero)=0
virtual int PackAndPrepare (const Epetra_SrcDistObject &Source, int NumExportIDs, int *ExportLIDs, int &LenExports, char *&Exports, int &SizeOfPacket, int *Sizes, bool &VarSizes, Epetra_Distributor &Distor)=0
virtual 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)=0
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 65 of file EpetraExt_BlockMultiVector.h.

Constructor & Destructor Documentation

◆ BlockMultiVector() [1/3]

EpetraExt::BlockMultiVector::BlockMultiVector ( const Epetra_BlockMap & BaseMap,
const Epetra_BlockMap & GlobalMap,
int NumVectors )

BlockMultiVector constuctor with one block row per processor.

Creates a BlockMultiVector object and allocates storage.

Parameters
InBaseMap - Map determining local structure, can be distrib. over subset of proc.'s
InGlobalMap - Full map describing the overall global structure, generally generated by the construction of a BlockCrsMatrix object
InNumVectors - Number of vectors in object

Definition at line 52 of file EpetraExt_BlockMultiVector.cpp.

◆ BlockMultiVector() [2/3]

EpetraExt::BlockMultiVector::BlockMultiVector ( Epetra_DataAccess CV,
const Epetra_BlockMap & BaseMap,
const Epetra_MultiVector & BlockVec )

Creates a BlockMultiVector object from an existing Epetra_MultiVector.

Parameters
InEpetra_DataAccess - Enumerated type set to Copy or View.
InBaseMap - Map determining local structure, can be distrib. over subset of proc.'s
InBlockVec - Source Epetra multi vector whose map must be the full map for the block multi vector

Definition at line 64 of file EpetraExt_BlockMultiVector.cpp.

◆ BlockMultiVector() [3/3]

EpetraExt::BlockMultiVector::BlockMultiVector ( const BlockMultiVector & MV)

Copy constructor.

Definition at line 76 of file EpetraExt_BlockMultiVector.cpp.

◆ ~BlockMultiVector()

EpetraExt::BlockMultiVector::~BlockMultiVector ( )
virtual

Destructor.

Definition at line 84 of file EpetraExt_BlockMultiVector.cpp.

Member Function Documentation

◆ ExtractBlockValues()

int EpetraExt::BlockMultiVector::ExtractBlockValues ( Epetra_MultiVector & BaseVec,
long long BlockRow ) const

Extract a single block from a Block Vector: block row is global, not a stencil value.

Definition at line 89 of file EpetraExt_BlockMultiVector.cpp.

◆ LoadBlockValues()

int EpetraExt::BlockMultiVector::LoadBlockValues ( const Epetra_MultiVector & BaseVec,
long long BlockRow )

Load a single block into a Block Vector: block row is global, not a stencil value.

Definition at line 111 of file EpetraExt_BlockMultiVector.cpp.

◆ GetBlock() [1/2]

Teuchos::RCP< const Epetra_MultiVector > EpetraExt::BlockMultiVector::GetBlock ( long long BlockRow) const

Return Epetra_MultiVector for given block row.

Definition at line 134 of file EpetraExt_BlockMultiVector.cpp.

◆ GetBlock() [2/2]

Teuchos::RCP< Epetra_MultiVector > EpetraExt::BlockMultiVector::GetBlock ( long long BlockRow)

Return Epetra_MultiVector for given block row.

Definition at line 151 of file EpetraExt_BlockMultiVector.cpp.

◆ GetBaseMap()

const Epetra_BlockMap & EpetraExt::BlockMultiVector::GetBaseMap ( ) const

Return base map.

Definition at line 168 of file EpetraExt_BlockMultiVector.cpp.

Member Data Documentation

◆ BaseMap_

Epetra_BlockMap EpetraExt::BlockMultiVector::BaseMap_
protected

Definition at line 118 of file EpetraExt_BlockMultiVector.h.

◆ Offset_

long long EpetraExt::BlockMultiVector::Offset_
protected

Definition at line 120 of file EpetraExt_BlockMultiVector.h.


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