#include <Anasazi_LOCA_MultiVecTraits.H>
Public Types | |
typedef double | ScalarType |
Synony for double. | |
typedef NOX::Abstract::MultiVector | MV |
Synonym for NOX::Abstract::MultiVector. | |
Static Public Member Functions | |
static Teuchos::RCP< MV > | Clone (const MV &mv, const int numvecs) |
Creates a new empty MV containing numvecs columns. | |
static Teuchos::RCP< MV > | CloneCopy (const MV &mv) |
Creates a new MV and copies contents of mv into the new vector (deep copy). | |
static Teuchos::RCP< MV > | CloneCopy (const MV &mv, const std::vector< int > &index) |
Creates a new MV and copies the selected contents of mv into the new vector (deep copy). | |
static Teuchos::RCP< MV > | CloneView (MV &mv, const std::vector< int > &index) |
Creates a new MV that shares the selected contents of mv (shallow copy). | |
static Teuchos::RCP< const MV > | CloneView (const MV &mv, const std::vector< int > &index) |
Creates a new const MV that shares the selected contents of mv (shallow copy). | |
static int | GetVecLength (const MV &mv) |
Obtain the vector length of mv . | |
static int | GetNumberVecs (const MV &mv) |
Obtain the number of vectors in mv . | |
static void | MvTimesMatAddMv (const ScalarType alpha, const MV &A, const Teuchos::SerialDenseMatrix< int, ScalarType > &B, const ScalarType beta, MV &mv) |
Update mv with ![]() | |
static void | MvAddMv (const ScalarType alpha, const MV &A, const ScalarType beta, const MV &B, MV &mv) |
Replace mv with ![]() | |
static void | MvTransMv (const ScalarType alpha, const MV &A, const MV &mv, Teuchos::SerialDenseMatrix< int, ScalarType > &B) |
Compute a dense matrix B through the matrix-matrix multiply ![]() | |
static void | MvDot (const MV &mv, const MV &A, std::vector< ScalarType > &b) |
Compute a vector b where the components are the individual dot-products of the i-th columns of A and mv , i.e. ![]() | |
static void | MvScale (MV &mv, const ScalarType alpha) |
Scale each element of the vectors in *this with alpha . | |
static void | MvScale (MV &mv, const std::vector< ScalarType > &alpha) |
Scale each element of the i-th vector in *this with alpha [i]. | |
static void | MvNorm (const MV &mv, std::vector< double > &normvec) |
Compute the 2-norm of each individual vector of mv . Upon return, normvec [i] holds the value of ![]() i-th column of mv . | |
static void | SetBlock (const MV &A, const std::vector< int > &index, MV &mv) |
Copy the vectors in A to a set of vectors in mv indicated by the indices given in index . | |
static void | MvRandom (MV &mv) |
Replace the vectors in mv with random vectors. | |
static void | MvInit (MV &mv, const ScalarType alpha=0.0) |
Replace each element of the vectors in mv with alpha . | |
static void | MvPrint (const MV &mv, ostream &os) |
Print the mv multi-vector to the os output stream. |
This class provides an implementation of the Anasazi::MultiVecTraits class for NOX::Abstract::MultiVector's, to be used in conjunction with the Anasazi::LOCA::Matrix class.
Definition at line 63 of file Anasazi_LOCA_MultiVecTraits.H.
typedef double Anasazi::MultiVecTraits< double, NOX::Abstract::MultiVector >::ScalarType |
typedef NOX::Abstract::MultiVector Anasazi::MultiVecTraits< double, NOX::Abstract::MultiVector >::MV |
Synonym for NOX::Abstract::MultiVector.
Definition at line 70 of file Anasazi_LOCA_MultiVecTraits.H.
static Teuchos::RCP<MV> Anasazi::MultiVecTraits< double, NOX::Abstract::MultiVector >::Clone | ( | const MV & | mv, | |
const int | numvecs | |||
) | [inline, static] |
Creates a new empty MV
containing numvecs
columns.
MV
. Definition at line 79 of file Anasazi_LOCA_MultiVecTraits.H.
References NOX::Abstract::MultiVector::clone().
static Teuchos::RCP<MV> Anasazi::MultiVecTraits< double, NOX::Abstract::MultiVector >::CloneCopy | ( | const MV & | mv | ) | [inline, static] |
Creates a new MV
and copies contents of mv
into the new vector (deep copy).
MV
. Definition at line 90 of file Anasazi_LOCA_MultiVecTraits.H.
References NOX::Abstract::MultiVector::clone(), and NOX::DeepCopy.
static Teuchos::RCP<MV> Anasazi::MultiVecTraits< double, NOX::Abstract::MultiVector >::CloneCopy | ( | const MV & | mv, | |
const std::vector< int > & | index | |||
) | [inline, static] |
Creates a new MV
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
.
MV
. Definition at line 103 of file Anasazi_LOCA_MultiVecTraits.H.
References NOX::Abstract::MultiVector::subCopy().
static Teuchos::RCP<MV> Anasazi::MultiVecTraits< double, NOX::Abstract::MultiVector >::CloneView | ( | MV & | mv, | |
const std::vector< int > & | index | |||
) | [inline, static] |
Creates a new MV
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
.
MV
. Definition at line 117 of file Anasazi_LOCA_MultiVecTraits.H.
References NOX::Abstract::MultiVector::subView().
static Teuchos::RCP<const MV> Anasazi::MultiVecTraits< double, NOX::Abstract::MultiVector >::CloneView | ( | const MV & | mv, | |
const std::vector< int > & | index | |||
) | [inline, static] |
Creates a new const MV
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
.
MV
. Definition at line 132 of file Anasazi_LOCA_MultiVecTraits.H.
References NOX::Abstract::MultiVector::subView().
static int Anasazi::MultiVecTraits< double, NOX::Abstract::MultiVector >::GetVecLength | ( | const MV & | mv | ) | [inline, static] |
Obtain the vector length of mv
.
Definition at line 143 of file Anasazi_LOCA_MultiVecTraits.H.
References NOX::Abstract::MultiVector::length().
static int Anasazi::MultiVecTraits< double, NOX::Abstract::MultiVector >::GetNumberVecs | ( | const MV & | mv | ) | [inline, static] |
Obtain the number of vectors in mv
.
Definition at line 149 of file Anasazi_LOCA_MultiVecTraits.H.
References NOX::Abstract::MultiVector::numVectors().
static void Anasazi::MultiVecTraits< double, NOX::Abstract::MultiVector >::MvTimesMatAddMv | ( | const ScalarType | alpha, | |
const MV & | A, | |||
const Teuchos::SerialDenseMatrix< int, ScalarType > & | B, | |||
const ScalarType | beta, | |||
MV & | mv | |||
) | [inline, static] |
Update mv
with .
Definition at line 161 of file Anasazi_LOCA_MultiVecTraits.H.
References NOX::Abstract::MultiVector::update().
static void Anasazi::MultiVecTraits< double, NOX::Abstract::MultiVector >::MvAddMv | ( | const ScalarType | alpha, | |
const MV & | A, | |||
const ScalarType | beta, | |||
const MV & | B, | |||
MV & | mv | |||
) | [inline, static] |
Replace mv
with .
Definition at line 171 of file Anasazi_LOCA_MultiVecTraits.H.
References NOX::Abstract::MultiVector::update().
static void Anasazi::MultiVecTraits< double, NOX::Abstract::MultiVector >::MvTransMv | ( | const ScalarType | alpha, | |
const MV & | A, | |||
const MV & | mv, | |||
Teuchos::SerialDenseMatrix< int, ScalarType > & | B | |||
) | [inline, static] |
Compute a dense matrix B
through the matrix-matrix multiply .
Definition at line 181 of file Anasazi_LOCA_MultiVecTraits.H.
References NOX::Abstract::MultiVector::multiply().
static void Anasazi::MultiVecTraits< double, NOX::Abstract::MultiVector >::MvDot | ( | const MV & | mv, | |
const MV & | A, | |||
std::vector< ScalarType > & | 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. .
Definition at line 192 of file Anasazi_LOCA_MultiVecTraits.H.
static void Anasazi::MultiVecTraits< double, NOX::Abstract::MultiVector >::MvScale | ( | MV & | mv, | |
const ScalarType | alpha | |||
) | [inline, static] |
Scale each element of the vectors in *this
with alpha
.
Definition at line 202 of file Anasazi_LOCA_MultiVecTraits.H.
References NOX::Abstract::MultiVector::scale().
static void Anasazi::MultiVecTraits< double, NOX::Abstract::MultiVector >::MvScale | ( | MV & | mv, | |
const std::vector< ScalarType > & | alpha | |||
) | [inline, static] |
Scale each element of the i-th
vector in *this
with alpha
[i].
Definition at line 211 of file Anasazi_LOCA_MultiVecTraits.H.
static void Anasazi::MultiVecTraits< double, NOX::Abstract::MultiVector >::MvNorm | ( | const MV & | 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 , the
i-th
column of mv
.
Definition at line 225 of file Anasazi_LOCA_MultiVecTraits.H.
References NOX::Abstract::MultiVector::norm().
static void Anasazi::MultiVecTraits< double, NOX::Abstract::MultiVector >::SetBlock | ( | const MV & | A, | |
const std::vector< int > & | index, | |||
MV & | mv | |||
) | [inline, static] |
Copy the vectors in A
to a set of vectors in mv
indicated by the indices given in index
.
The numvecs
vectors in A
are copied to a subset of vectors in mv
indicated by the indices given in index
, i.e. mv[index[i]] = A[i]
.
Definition at line 243 of file Anasazi_LOCA_MultiVecTraits.H.
References NOX::Abstract::MultiVector::setBlock().
static void Anasazi::MultiVecTraits< double, NOX::Abstract::MultiVector >::MvRandom | ( | MV & | mv | ) | [inline, static] |
Replace the vectors in mv
with random vectors.
Definition at line 251 of file Anasazi_LOCA_MultiVecTraits.H.
References NOX::Abstract::MultiVector::random().
static void Anasazi::MultiVecTraits< double, NOX::Abstract::MultiVector >::MvInit | ( | MV & | mv, | |
const ScalarType | alpha = 0.0 | |||
) | [inline, static] |
Replace each element of the vectors in mv
with alpha
.
Definition at line 259 of file Anasazi_LOCA_MultiVecTraits.H.
References NOX::Abstract::MultiVector::init().
static void Anasazi::MultiVecTraits< double, NOX::Abstract::MultiVector >::MvPrint | ( | const MV & | mv, | |
ostream & | os | |||
) | [inline, static] |
Print the mv
multi-vector to the os
output stream.
Definition at line 272 of file Anasazi_LOCA_MultiVecTraits.H.
References NOX::Abstract::MultiVector::print().