Anasazi::MultiVecTraits< double, Epetra_MultiVector > Class Template Reference

Template specialization of Anasazi::MultiVecTraits class using the Epetra_MultiVector class. More...

#include <AnasaziEpetraAdapter.hpp>

List of all members.

Initialization methods

void MvScale (const double alpha, Epetra_MultiVector &mv)
 Scale each element of the vectors in *this with alpha.
void MvScale (const std::vector< double > &alpha, Epetra_MultiVector &mv)
 Scale each element of the i-th vector in *this with alpha[i].
void SetBlock (const Epetra_MultiVector &A, const std::vector< int > &index, Epetra_MultiVector &mv)
 Copy the vectors in A to a set of vectors in mv indicated by the indices given in index.
void MvRandom (Epetra_MultiVector &mv)
 Replace the vectors in mv with random vectors.
void MvInit (Epetra_MultiVector &mv, double alpha=Teuchos::ScalarTraits< double >::zero())
 Replace each element of the vectors in mv with alpha.

Static Public Member Functions

Creation methods
Teuchos::RefCountPtr< Epetra_MultiVectorClone (const Epetra_MultiVector &mv, const int numvecs)
 Creates a new empty Epetra_MultiVector containing numvecs columns.
Teuchos::RefCountPtr< Epetra_MultiVectorCloneCopy (const Epetra_MultiVector &mv)
 Creates a new Epetra_MultiVector and copies contents of mv into the new vector (deep copy).
Teuchos::RefCountPtr< Epetra_MultiVectorCloneCopy (const Epetra_MultiVector &mv, const std::vector< int > &index)
 Creates a new Epetra_MultiVector and copies the selected contents of mv into the new vector (deep copy).
Teuchos::RefCountPtr< Epetra_MultiVectorCloneView (Epetra_MultiVector &mv, const std::vector< int > &index)
 Creates a new Epetra_MultiVector that shares the selected contents of mv (shallow copy).
Teuchos::RefCountPtr< const
Epetra_MultiVector
CloneView (const Epetra_MultiVector &mv, const std::vector< int > &index)
 Creates a new const Epetra_MultiVector that shares the selected contents of mv (shallow copy).
Attribute methods
int GetVecLength (const Epetra_MultiVector &mv)
 Obtain the vector length of mv.
int GetNumberVecs (const Epetra_MultiVector &mv)
 Obtain the number of vectors in mv.
Update methods
void MvTimesMatAddMv (const double alpha, const Epetra_MultiVector &A, const Teuchos::SerialDenseMatrix< int, double > &B, const double beta, Epetra_MultiVector &mv)
 Update mv with $ \alpha AB + \beta mv $.
void MvAddMv (const double alpha, const Epetra_MultiVector &A, const double beta, const Epetra_MultiVector &B, Epetra_MultiVector &mv)
 Replace mv with $\alpha A + \beta B$.
void MvTransMv (const double alpha, const Epetra_MultiVector &A, const Epetra_MultiVector &mv, Teuchos::SerialDenseMatrix< int, double > &B)
 Compute a dense matrix B through the matrix-matrix multiply $ \alpha A^Tmv $.
void MvDot (const Epetra_MultiVector &mv, const Epetra_MultiVector &A, std::vector< double > *b)
 Compute a vector b where the components are the individual dot-products of the i-th columns of A and mv, i.e.$b[i] = A[i]^Tmv[i]$.
Norm method
void MvNorm (const Epetra_MultiVector &mv, std::vector< double > *normvec)
 Compute the 2-norm of each individual vector of mv. Upon return, normvec[i] holds the value of $||mv_i||_2$, the i-th column of mv.
Print method
void MvPrint (const Epetra_MultiVector &mv, ostream &os)
 Print the mv multi-vector to the os output stream.


Detailed Description

template<>
class Anasazi::MultiVecTraits< double, Epetra_MultiVector >

Template specialization of Anasazi::MultiVecTraits class using the Epetra_MultiVector class.

This interface will ensure that any Epetra_MultiVector will be accepted by the Anasazi templated solvers.

Note:
The Epetra package performs double-precision arithmetic, so the use of Epetra with Anasazi will only provide a double-precision eigensolver.

Definition at line 477 of file AnasaziEpetraAdapter.hpp.


Member Function Documentation

Teuchos::RefCountPtr<Epetra_MultiVector> Anasazi::MultiVecTraits< double, Epetra_MultiVector >::Clone const Epetra_MultiVector mv,
const int  numvecs
[inline, static]
 

Creates a new empty Epetra_MultiVector containing numvecs columns.

Returns:
Reference-counted pointer to the new Epetra_MultiVector.

Definition at line 488 of file AnasaziEpetraAdapter.hpp.

Teuchos::RefCountPtr<Epetra_MultiVector> Anasazi::MultiVecTraits< double, Epetra_MultiVector >::CloneCopy const Epetra_MultiVector mv  )  [inline, static]
 

Creates a new Epetra_MultiVector and copies contents of mv into the new vector (deep copy).

Returns:
Reference-counted pointer to the new Epetra_MultiVector.

Definition at line 495 of file AnasaziEpetraAdapter.hpp.

Teuchos::RefCountPtr<Epetra_MultiVector> Anasazi::MultiVecTraits< double, Epetra_MultiVector >::CloneCopy const Epetra_MultiVector mv,
const std::vector< int > &  index
[inline, static]
 

Creates a new Epetra_MultiVector and copies the selected contents of mv into the new vector (deep copy).

The copied vectors from mv are indicated by the indeX.size() indices in index.

Returns:
Reference-counted pointer to the new Epetra_MultiVector.

Definition at line 503 of file AnasaziEpetraAdapter.hpp.

Teuchos::RefCountPtr<Epetra_MultiVector> Anasazi::MultiVecTraits< double, Epetra_MultiVector >::CloneView Epetra_MultiVector mv,
const std::vector< int > &  index
[inline, static]
 

Creates a new Epetra_MultiVector that shares the selected contents of mv (shallow copy).

The index of the numvecs vectors shallow copied from mv are indicated by the indices given in index.

Returns:
Reference-counted pointer to the new Epetra_MultiVector.

Definition at line 514 of file AnasaziEpetraAdapter.hpp.

Teuchos::RefCountPtr<const Epetra_MultiVector> Anasazi::MultiVecTraits< double, Epetra_MultiVector >::CloneView const Epetra_MultiVector mv,
const std::vector< int > &  index
[inline, static]
 

Creates a new const Epetra_MultiVector that shares the selected contents of mv (shallow copy).

The index of the numvecs vectors shallow copied from mv are indicated by the indices given in index.

Returns:
Reference-counted pointer to the new const Epetra_MultiVector.

Definition at line 525 of file AnasaziEpetraAdapter.hpp.

int Anasazi::MultiVecTraits< double, Epetra_MultiVector >::GetVecLength const Epetra_MultiVector mv  )  [inline, static]
 

Obtain the vector length of mv.

Definition at line 537 of file AnasaziEpetraAdapter.hpp.

int Anasazi::MultiVecTraits< double, Epetra_MultiVector >::GetNumberVecs const Epetra_MultiVector mv  )  [inline, static]
 

Obtain the number of vectors in mv.

Definition at line 541 of file AnasaziEpetraAdapter.hpp.

void Anasazi::MultiVecTraits< double, Epetra_MultiVector >::MvTimesMatAddMv const double  alpha,
const Epetra_MultiVector A,
const Teuchos::SerialDenseMatrix< int, double > &  B,
const double  beta,
Epetra_MultiVector mv
[inline, static]
 

Update mv with $ \alpha AB + \beta mv $.

Definition at line 550 of file AnasaziEpetraAdapter.hpp.

void Anasazi::MultiVecTraits< double, Epetra_MultiVector >::MvAddMv const double  alpha,
const Epetra_MultiVector A,
const double  beta,
const Epetra_MultiVector B,
Epetra_MultiVector mv
[inline, static]
 

Replace mv with $\alpha A + \beta B$.

Definition at line 563 of file AnasaziEpetraAdapter.hpp.

void Anasazi::MultiVecTraits< double, Epetra_MultiVector >::MvTransMv const double  alpha,
const Epetra_MultiVector A,
const Epetra_MultiVector mv,
Teuchos::SerialDenseMatrix< int, double > &  B
[inline, static]
 

Compute a dense matrix B through the matrix-matrix multiply $ \alpha A^Tmv $.

Definition at line 571 of file AnasaziEpetraAdapter.hpp.

void Anasazi::MultiVecTraits< double, Epetra_MultiVector >::MvDot const Epetra_MultiVector mv,
const Epetra_MultiVector A,
std::vector< double > *  b
[inline, static]
 

Compute a vector b where the components are the individual dot-products of the i-th columns of A and mv, i.e.$b[i] = A[i]^Tmv[i]$.

Definition at line 586 of file AnasaziEpetraAdapter.hpp.

void Anasazi::MultiVecTraits< double, Epetra_MultiVector >::MvNorm const Epetra_MultiVector mv,
std::vector< double > *  normvec
[inline, static]
 

Compute the 2-norm of each individual vector of mv. Upon return, normvec[i] holds the value of $||mv_i||_2$, the i-th column of mv.

Definition at line 603 of file AnasaziEpetraAdapter.hpp.

void Anasazi::MultiVecTraits< double, Epetra_MultiVector >::SetBlock const Epetra_MultiVector A,
const std::vector< int > &  index,
Epetra_MultiVector mv
[inline, static]
 

Copy the vectors in A to a set of vectors in mv indicated by the indices given in index.

Definition at line 615 of file AnasaziEpetraAdapter.hpp.

void Anasazi::MultiVecTraits< double, Epetra_MultiVector >::MvScale const double  alpha,
Epetra_MultiVector mv
[inline]
 

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

Definition at line 638 of file AnasaziEpetraAdapter.hpp.

void Anasazi::MultiVecTraits< double, Epetra_MultiVector >::MvScale const std::vector< double > &  alpha,
Epetra_MultiVector mv
[inline]
 

Scale each element of the i-th vector in *this with alpha[i].

Definition at line 645 of file AnasaziEpetraAdapter.hpp.

void Anasazi::MultiVecTraits< double, Epetra_MultiVector >::MvRandom Epetra_MultiVector mv  )  [inline, static]
 

Replace the vectors in mv with random vectors.

Definition at line 663 of file AnasaziEpetraAdapter.hpp.

void Anasazi::MultiVecTraits< double, Epetra_MultiVector >::MvInit Epetra_MultiVector mv,
double  alpha = Teuchos::ScalarTraits<double>::zero()
[inline, static]
 

Replace each element of the vectors in mv with alpha.

Definition at line 668 of file AnasaziEpetraAdapter.hpp.

void Anasazi::MultiVecTraits< double, Epetra_MultiVector >::MvPrint const Epetra_MultiVector mv,
ostream &  os
[inline, static]
 

Print the mv multi-vector to the os output stream.

Definition at line 678 of file AnasaziEpetraAdapter.hpp.


The documentation for this class was generated from the following file:
Generated on Thu Sep 18 12:31:39 2008 for Anasazi by doxygen 1.3.9.1