Belos::EpetraMultiVec Class Reference

#include <BelosEpetraAdapter.hpp>

Inheritance diagram for Belos::EpetraMultiVec:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 EpetraMultiVec (const Epetra_BlockMap &Map, double *array, const int numvecs, const int stride=0)
 EpetraMultiVec (const Epetra_BlockMap &Map, const int numvecs)
 EpetraMultiVec (Epetra_DataAccess CV, const Epetra_MultiVector &P_vec, const std::vector< int > &index)
EpetraMultiVecoperator= (const EpetraMultiVec &pv)
 EpetraMultiVec (const Epetra_MultiVector &P_vec)
 ~EpetraMultiVec ()
MultiVec< double > * Clone (const int numvecs) const
 Creates a new empty Belos::MultiVec containing numvecs columns.
MultiVec< double > * CloneCopy () const
 Creates a new Belos::MultiVec and copies contents of *this into the new vector (deep copy).
MultiVec< double > * CloneCopy (const std::vector< int > &index) const
 Creates a new Belos::MultiVec and copies the selected contents of *this into the new vector (deep copy). The copied vectors from *this are indicated by the index.size() indices in index.
MultiVec< double > * CloneView (const std::vector< int > &index)
 Creates a new Belos::MultiVec that shares the selected contents of *this. The index of the numvecs vectors copied from *this are indicated by the indices given in index.
void SetBlock (const MultiVec< double > &A, const std::vector< int > &index)
 Copy the vectors in A to a set of vectors in *this. The numvecs vectors in A are copied to a subset of vectors in *this indicated by the indices given in index.
int GetNumberVecs () const
 Obtain the number of vectors in *this multivector block.
int GetVecLength () const
 Obtain the vector length of *this multivector block.
void MvTimesMatAddMv (const double alpha, const MultiVec< double > &A, const Teuchos::SerialDenseMatrix< int, double > &B, const double beta)
 Update *this with alpha * A * B + beta * (*this).
void MvAddMv (const double alpha, const MultiVec< double > &A, const double beta, const MultiVec< double > &B)
 Replace *this with alpha * A + beta * B.
void MvTransMv (const double alpha, const MultiVec< double > &A, Teuchos::SerialDenseMatrix< int, double > &B) const
 Compute a dense matrix B through the matrix-matrix multiply alpha * A^T * (*this).
void MvDot (const MultiVec< double > &A, std::vector< double > *b) const
 Compute a vector b where the components are the individual dot-products, i.e.b[i] = A[i]^T*this[i] where A[i] is the i-th column of A.
void MvNorm (std::vector< double > *normvec, NormType norm_type=TwoNorm) const
void MvRandom ()
 Replace the vectors in *this with random vectors.
void MvInit (const double alpha)
 Replace each element of the vectors in *this with alpha.
void MvPrint (ostream &os) const
 Print the *this multivector.

Constructor & Destructor Documentation

EpetraMultiVec::EpetraMultiVec const Epetra_BlockMap Map,
double *  array,
const int  numvecs,
const int  stride = 0
 

Definition at line 45 of file BelosEpetraAdapter.cpp.

EpetraMultiVec::EpetraMultiVec const Epetra_BlockMap Map,
const int  numvecs
 

Definition at line 52 of file BelosEpetraAdapter.cpp.

EpetraMultiVec::EpetraMultiVec Epetra_DataAccess  CV,
const Epetra_MultiVector P_vec,
const std::vector< int > &  index
 

Definition at line 58 of file BelosEpetraAdapter.cpp.

EpetraMultiVec::EpetraMultiVec const Epetra_MultiVector P_vec  ) 
 

Definition at line 65 of file BelosEpetraAdapter.cpp.

EpetraMultiVec::~EpetraMultiVec  ) 
 

Definition at line 71 of file BelosEpetraAdapter.cpp.


Member Function Documentation

EpetraMultiVec& Belos::EpetraMultiVec::operator= const EpetraMultiVec pv  )  [inline]
 

Definition at line 55 of file BelosEpetraAdapter.hpp.

MultiVec< double > * EpetraMultiVec::Clone const int  numvecs  )  const [virtual]
 

Creates a new empty Belos::MultiVec containing numvecs columns.

Returns:
Pointer to the new multivector

Implements Belos::MultiVec< double >.

Definition at line 83 of file BelosEpetraAdapter.cpp.

MultiVec< double > * EpetraMultiVec::CloneCopy  )  const [virtual]
 

Creates a new Belos::MultiVec and copies contents of *this into the new vector (deep copy).

Returns:
Pointer to the new multivector

Implements Belos::MultiVec< double >.

Definition at line 94 of file BelosEpetraAdapter.cpp.

MultiVec< double > * EpetraMultiVec::CloneCopy const std::vector< int > &  index  )  const [virtual]
 

Creates a new Belos::MultiVec and copies the selected contents of *this into the new vector (deep copy). The copied vectors from *this are indicated by the index.size() indices in index.

Returns:
Pointer to the new multivector

Implements Belos::MultiVec< double >.

Definition at line 101 of file BelosEpetraAdapter.cpp.

MultiVec< double > * EpetraMultiVec::CloneView const std::vector< int > &  index  )  [virtual]
 

Creates a new Belos::MultiVec that shares the selected contents of *this. The index of the numvecs vectors copied from *this are indicated by the indices given in index.

Returns:
Pointer to the new multivector

Implements Belos::MultiVec< double >.

Definition at line 108 of file BelosEpetraAdapter.cpp.

void EpetraMultiVec::SetBlock const MultiVec< double > &  A,
const std::vector< int > &  index
[virtual]
 

Copy the vectors in A to a set of vectors in *this. The numvecs vectors in A are copied to a subset of vectors in *this indicated by the indices given in index.

Implements Belos::MultiVec< double >.

Definition at line 115 of file BelosEpetraAdapter.cpp.

int Belos::EpetraMultiVec::GetNumberVecs  )  const [inline, virtual]
 

Obtain the number of vectors in *this multivector block.

Implements Belos::MultiVec< double >.

Definition at line 93 of file BelosEpetraAdapter.hpp.

int Belos::EpetraMultiVec::GetVecLength  )  const [inline, virtual]
 

Obtain the vector length of *this multivector block.

Implements Belos::MultiVec< double >.

Definition at line 94 of file BelosEpetraAdapter.hpp.

void EpetraMultiVec::MvTimesMatAddMv const double  alpha,
const MultiVec< double > &  A,
const Teuchos::SerialDenseMatrix< int, double > &  B,
const double  beta
[virtual]
 

Update *this with alpha * A * B + beta * (*this).

Implements Belos::MultiVec< double >.

Definition at line 139 of file BelosEpetraAdapter.cpp.

void EpetraMultiVec::MvAddMv const double  alpha,
const MultiVec< double > &  A,
const double  beta,
const MultiVec< double > &  B
[virtual]
 

Replace *this with alpha * A + beta * B.

Implements Belos::MultiVec< double >.

Definition at line 156 of file BelosEpetraAdapter.cpp.

void EpetraMultiVec::MvTransMv const double  alpha,
const MultiVec< double > &  A,
Teuchos::SerialDenseMatrix< int, double > &  B
const [virtual]
 

Compute a dense matrix B through the matrix-matrix multiply alpha * A^T * (*this).

Implements Belos::MultiVec< double >.

Definition at line 171 of file BelosEpetraAdapter.cpp.

void EpetraMultiVec::MvDot const MultiVec< double > &  A,
std::vector< double > *  b
const [virtual]
 

Compute a vector b where the components are the individual dot-products, i.e.b[i] = A[i]^T*this[i] where A[i] is the i-th column of A.

Implements Belos::MultiVec< double >.

Definition at line 190 of file BelosEpetraAdapter.cpp.

void EpetraMultiVec::MvNorm std::vector< double > *  normvec,
NormType  norm_type = TwoNorm
const
 

Definition at line 204 of file BelosEpetraAdapter.cpp.

void Belos::EpetraMultiVec::MvRandom  )  [inline, virtual]
 

Replace the vectors in *this with random vectors.

Implements Belos::MultiVec< double >.

Definition at line 120 of file BelosEpetraAdapter.hpp.

void Belos::EpetraMultiVec::MvInit const double  alpha  )  [inline, virtual]
 

Replace each element of the vectors in *this with alpha.

Implements Belos::MultiVec< double >.

Definition at line 124 of file BelosEpetraAdapter.hpp.

void Belos::EpetraMultiVec::MvPrint ostream &  os  )  const [inline, virtual]
 

Print the *this multivector.

Implements Belos::MultiVec< double >.

Definition at line 128 of file BelosEpetraAdapter.hpp.


The documentation for this class was generated from the following files:
Generated on Thu Sep 18 12:30:12 2008 for Belos by doxygen 1.3.9.1