|
Anasazi Version of the Day
|
Specialization of MultiVecTraits for Belos::MultiVec. More...
#include <AnasaziMultiVec.hpp>
Static Public Member Functions | |
Creation methods | |
| static Teuchos::RCP< MultiVec< ScalarType > > | Clone (const MultiVec< ScalarType > &mv, const int numvecs) |
Create a new empty MultiVec containing numvecs columns. | |
| static Teuchos::RCP< MultiVec< ScalarType > > | CloneCopy (const MultiVec< ScalarType > &mv) |
Creates a new Anasazi::MultiVec and copies contents of mv into the new vector (deep copy). | |
| static Teuchos::RCP< MultiVec< ScalarType > > | CloneCopy (const MultiVec< ScalarType > &mv, const std::vector< int > &index) |
Creates a new Anasazi::MultiVec and copies the selected contents of mv into the new vector (deep copy). | |
| static Teuchos::RCP< MultiVec< ScalarType > > | CloneViewNonConst (MultiVec< ScalarType > &mv, const std::vector< int > &index) |
Creates a new Anasazi::MultiVec that shares the selected contents of mv (shallow copy). | |
| static Teuchos::RCP< const MultiVec< ScalarType > > | CloneView (const MultiVec< ScalarType > &mv, const std::vector< int > &index) |
Creates a new const Anasazi::MultiVec that shares the selected contents of mv (shallow copy). | |
Attribute methods | |
| static ptrdiff_t | GetGlobalLength (const MultiVec< ScalarType > &mv) |
Obtain the vector length of mv. | |
| static int | GetNumberVecs (const MultiVec< ScalarType > &mv) |
Obtain the number of vectors in mv. | |
Update methods | |
| static void | MvTimesMatAddMv (ScalarType alpha, const MultiVec< ScalarType > &A, const Teuchos::SerialDenseMatrix< int, ScalarType > &B, ScalarType beta, MultiVec< ScalarType > &mv) |
Update mv with ![]() | |
| static void | MvAddMv (ScalarType alpha, const MultiVec< ScalarType > &A, ScalarType beta, const MultiVec< ScalarType > &B, MultiVec< ScalarType > &mv) |
Replace mv with ![]() | |
| static void | MvTransMv (ScalarType alpha, const MultiVec< ScalarType > &A, const MultiVec< ScalarType > &mv, Teuchos::SerialDenseMatrix< int, ScalarType > &B) |
Compute a dense matrix B through the matrix-matrix multiply ![]() | |
| static void | MvDot (const MultiVec< ScalarType > &mv, const MultiVec< ScalarType > &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 (MultiVec< ScalarType > &mv, ScalarType alpha) |
Scale each element of the vectors in *this with alpha. | |
| static void | MvScale (MultiVec< ScalarType > &mv, const std::vector< ScalarType > &alpha) |
Scale each element of the i-th vector in *this with alpha[i]. | |
Norm method | |
| static void | MvNorm (const MultiVec< ScalarType > &mv, std::vector< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > &normvec) |
Compute the 2-norm of each individual vector of mv. Upon return, normvec[i] holds the value of ![]() i-th column of mv. | |
Initialization methods | |
| static void | SetBlock (const MultiVec< ScalarType > &A, const std::vector< int > &index, MultiVec< ScalarType > &mv) |
Copy the vectors in A to a set of vectors in mv indicated by the indices given in index. | |
| static void | MvRandom (MultiVec< ScalarType > &mv) |
Replace the vectors in mv with random vectors. | |
| static void | MvInit (MultiVec< ScalarType > &mv, ScalarType alpha=Teuchos::ScalarTraits< ScalarType >::zero()) |
Replace each element of the vectors in mv with alpha. | |
Print method | |
| static void | MvPrint (const MultiVec< ScalarType > &mv, std::ostream &os) |
Print the mv multi-vector to the os output stream. | |
Creation methods | |
| static Teuchos::RCP< MultiVec< ScalarType > > | Clone (const MultiVec< ScalarType > &mv, const int numvecs) |
Creates a new empty MV containing numvecs columns. | |
| static Teuchos::RCP< MultiVec< ScalarType > > | CloneCopy (const MultiVec< ScalarType > &mv) |
Creates a new MV and copies contents of mv into the new vector (deep copy). | |
| static Teuchos::RCP< MultiVec< ScalarType > > | CloneCopy (const MultiVec< ScalarType > &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< MultiVec< ScalarType > > | CloneCopy (const MultiVec< ScalarType > &mv, const Teuchos::Range1D &index) |
| Deep copy of specified columns of mv. | |
| static Teuchos::RCP< MultiVec< ScalarType > > | CloneViewNonConst (MultiVec< ScalarType > &mv, const std::vector< int > &index) |
Creates a new MV that shares the selected contents of mv (shallow copy). | |
| static Teuchos::RCP< MultiVec< ScalarType > > | CloneViewNonConst (MultiVec< ScalarType > &mv, const Teuchos::Range1D &index) |
| Non-const view of specified columns of mv. | |
| static Teuchos::RCP< const MultiVec< ScalarType > > | CloneView (const MultiVec< ScalarType > &mv, const std::vector< int > &index) |
Creates a new const MV that shares the selected contents of mv (shallow copy). | |
| static Teuchos::RCP< const MultiVec< ScalarType > > | CloneView (const MultiVec< ScalarType > &mv, const Teuchos::Range1D &index) |
| Const view of specified columns of mv. | |
Attribute methods | |
| static ptrdiff_t | GetGlobalLength (const MultiVec< ScalarType > &mv) |
Return the number of rows in the given multivector mv. | |
| static int | GetNumberVecs (const MultiVec< ScalarType > &mv) |
Obtain the number of vectors in mv. | |
Update methods | |
| static void | MvTimesMatAddMv (const ScalarType alpha, const MultiVec< ScalarType > &A, const Teuchos::SerialDenseMatrix< int, ScalarType > &B, const ScalarType beta, MultiVec< ScalarType > &mv) |
Update mv with ![]() | |
| static void | MvAddMv (const ScalarType alpha, const MultiVec< ScalarType > &A, const ScalarType beta, const MultiVec< ScalarType > &B, MultiVec< ScalarType > &mv) |
Replace mv with ![]() | |
| static void | MvScale (MultiVec< ScalarType > &mv, const ScalarType alpha) |
Scale each element of the vectors in mv with alpha. | |
| static void | MvScale (MultiVec< ScalarType > &mv, const std::vector< ScalarType > &alpha) |
Scale each element of the i-th vector in mv with alpha[i]. | |
| static void | MvTransMv (const ScalarType alpha, const MultiVec< ScalarType > &A, const MultiVec< ScalarType > &B, Teuchos::SerialDenseMatrix< int, ScalarType > &C) |
Compute C := alpha * A^H B. | |
| static void | MvDot (const MultiVec< ScalarType > &mv, const MultiVec< ScalarType > &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. ![]() | |
Norm method | |
| static void | MvNorm (const MultiVec< ScalarType > &mv, std::vector< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > &normvec) |
Compute the 2-norm of each individual vector of mv. Upon return, normvec[i] holds the value of ![]() i-th column of mv. | |
Initialization methods | |
| static void | SetBlock (const MultiVec< ScalarType > &A, const std::vector< int > &index, MultiVec< ScalarType > &mv) |
Copy the vectors in A to a set of vectors in mv indicated by the indices given in index. | |
| static void | SetBlock (const MultiVec< ScalarType > &A, const Teuchos::Range1D &index, MultiVec< ScalarType > &mv) |
| Deep copy of A into specified columns of mv. | |
| static void | Assign (const MultiVec< ScalarType > &A, MultiVec< ScalarType > &mv) |
| mv := A | |
| static void | MvRandom (MultiVec< ScalarType > &mv) |
Replace the vectors in mv with random vectors. | |
| static void | MvInit (MultiVec< ScalarType > &mv, const ScalarType alpha=Teuchos::ScalarTraits< ScalarType >::zero()) |
Replace each element of the vectors in mv with alpha. | |
Print method | |
| static void | MvPrint (const MultiVec< ScalarType > &mv, std::ostream &os) |
Print the mv multi-vector to the os output stream. | |
Specialization of MultiVecTraits for Belos::MultiVec.
Anasazi interfaces to every multivector implementation through a specialization of MultiVecTraits. Thus, we provide a specialization of MultiVecTraits for the MultiVec run-time polymorphic interface above.
| ScalarType | The type of entries in the multivector; the template parameter of MultiVec. |
Definition at line 361 of file AnasaziMultiVec.hpp.
|
inlinestatic |
Create a new empty MultiVec containing numvecs columns.
MultiVec. Definition at line 369 of file AnasaziMultiVec.hpp.
|
inlinestatic |
Creates a new Anasazi::MultiVec and copies contents of mv into the new vector (deep copy).
Anasazi::MultiVec. Definition at line 377 of file AnasaziMultiVec.hpp.
|
inlinestatic |
Creates a new Anasazi::MultiVec 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.
Anasazi::MultiVec. Definition at line 385 of file AnasaziMultiVec.hpp.
|
inlinestatic |
Creates a new Anasazi::MultiVec 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.
Anasazi::MultiVec. Definition at line 393 of file AnasaziMultiVec.hpp.
|
inlinestatic |
Creates a new const Anasazi::MultiVec 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.
Anasazi::MultiVec. Definition at line 401 of file AnasaziMultiVec.hpp.
|
inlinestatic |
Obtain the vector length of mv.
Definition at line 410 of file AnasaziMultiVec.hpp.
|
inlinestatic |
Obtain the number of vectors in mv.
Definition at line 414 of file AnasaziMultiVec.hpp.
|
inlinestatic |
Update mv with 
Definition at line 424 of file AnasaziMultiVec.hpp.
|
inlinestatic |
Replace mv with 
Definition at line 431 of file AnasaziMultiVec.hpp.
|
inlinestatic |
Compute a dense matrix B through the matrix-matrix multiply 
Definition at line 436 of file AnasaziMultiVec.hpp.
|
inlinestatic |
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]^H mv[i]$](form_65.png)
Definition at line 449 of file AnasaziMultiVec.hpp.
|
inlinestatic |
Scale each element of the vectors in *this with alpha.
Definition at line 461 of file AnasaziMultiVec.hpp.
|
inlinestatic |
Scale each element of the i-th vector in *this with alpha[i].
Definition at line 465 of file AnasaziMultiVec.hpp.
|
inlinestatic |
Compute the 2-norm of each individual vector of mv.
Upon return, normvec[i] holds the value of 
i-th column of mv.
Definition at line 475 of file AnasaziMultiVec.hpp.
|
inlinestatic |
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 486 of file AnasaziMultiVec.hpp.
|
inlinestatic |
Replace the vectors in mv with random vectors.
Definition at line 491 of file AnasaziMultiVec.hpp.
|
inlinestatic |
Replace each element of the vectors in mv with alpha.
Definition at line 496 of file AnasaziMultiVec.hpp.
|
inlinestatic |
Print the mv multi-vector to the os output stream.
Definition at line 504 of file AnasaziMultiVec.hpp.
|
inlinestatic |
Creates a new empty MV containing numvecs columns.
MV. Definition at line 136 of file AnasaziMultiVecTraits.hpp.
|
inlinestatic |
Creates a new MV and copies contents of mv into the new vector (deep copy).
MV. Definition at line 143 of file AnasaziMultiVecTraits.hpp.
|
inlinestatic |
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 151 of file AnasaziMultiVecTraits.hpp.
|
inlinestatic |
Deep copy of specified columns of mv.
Create a new MV, and copy (deep copy) the columns of mv specified by the given inclusive index range into the new multivector.
| mv | [in] Multivector to copy |
| index | [in] Inclusive index range of columns of mv |
MV. Definition at line 163 of file AnasaziMultiVecTraits.hpp.
|
inlinestatic |
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 171 of file AnasaziMultiVecTraits.hpp.
|
inlinestatic |
Non-const view of specified columns of mv.
Return a non-const view of the columns of mv specified by the given inclusive index range.
| mv | [in] Multivector to view (shallow non-const copy) |
| index | [in] Inclusive index range of columns of mv |
Definition at line 182 of file AnasaziMultiVecTraits.hpp.
|
inlinestatic |
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 190 of file AnasaziMultiVecTraits.hpp.
|
inlinestatic |
Const view of specified columns of mv.
Return a const view of the columns of mv specified by the given inclusive index range.
| mv | [in] Multivector to view (shallow const copy) |
| index | [in] Inclusive index range of columns of mv |
Definition at line 201 of file AnasaziMultiVecTraits.hpp.
|
inlinestatic |
Return the number of rows in the given multivector mv.
Definition at line 210 of file AnasaziMultiVecTraits.hpp.
|
inlinestatic |
Obtain the number of vectors in mv.
Definition at line 214 of file AnasaziMultiVecTraits.hpp.
|
inlinestatic |
Update mv with 
Definition at line 224 of file AnasaziMultiVecTraits.hpp.
|
inlinestatic |
Replace mv with 
Definition at line 231 of file AnasaziMultiVecTraits.hpp.
|
inlinestatic |
Scale each element of the vectors in mv with alpha.
Definition at line 236 of file AnasaziMultiVecTraits.hpp.
|
inlinestatic |
Scale each element of the i-th vector in mv with alpha[i].
Definition at line 241 of file AnasaziMultiVecTraits.hpp.
|
inlinestatic |
Compute C := alpha * A^H B.
The result C is a dense, globally replicated matrix.
Definition at line 248 of file AnasaziMultiVecTraits.hpp.
|
inlinestatic |
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]^Hmv[i]$](form_67.png)
Definition at line 254 of file AnasaziMultiVecTraits.hpp.
|
inlinestatic |
Compute the 2-norm of each individual vector of mv. Upon return, normvec[i] holds the value of 
i-th column of mv.
Definition at line 264 of file AnasaziMultiVecTraits.hpp.
|
inlinestatic |
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 276 of file AnasaziMultiVecTraits.hpp.
|
inlinestatic |
Deep copy of A into specified columns of mv.
(Deeply) copy the first index.size() columns of A into the columns of mv specified by the given index range.
Postcondition: mv[i] = A[i - index.lbound()] for all i in [index.lbound(), index.ubound()]
| A | [in] Source multivector |
| index | [in] Inclusive index range of columns of mv; index set of the target |
| mv | [out] Target multivector |
Definition at line 291 of file AnasaziMultiVecTraits.hpp.
|
inlinestatic |
|
inlinestatic |
Replace the vectors in mv with random vectors.
Definition at line 302 of file AnasaziMultiVecTraits.hpp.
|
inlinestatic |
Replace each element of the vectors in mv with alpha.
Definition at line 307 of file AnasaziMultiVecTraits.hpp.
|
inlinestatic |
Print the mv multi-vector to the os output stream.
Definition at line 317 of file AnasaziMultiVecTraits.hpp.