|
Anasazi Version of the Day
|
Template specialization of Anasazi::MultiVecTraits class using the Epetra_MultiVector class. More...
#include <AnasaziEpetraAdapter.hpp>
Static Public Member Functions | |
Creation methods | |
| static Teuchos::RCP< Epetra_MultiVector > | Clone (const Epetra_MultiVector &mv, const int outNumVecs) |
Creates a new empty Epetra_MultiVector containing numVecs columns. | |
| static Teuchos::RCP< Epetra_MultiVector > | CloneCopy (const Epetra_MultiVector &mv) |
Creates a new Epetra_MultiVector and copies contents of mv into the new vector (deep copy). | |
| static Teuchos::RCP< Epetra_MultiVector > | CloneCopy (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). | |
| static Teuchos::RCP< Epetra_MultiVector > | CloneViewNonConst (Epetra_MultiVector &mv, const std::vector< int > &index) |
Creates a new Epetra_MultiVector that shares the selected contents of mv (shallow copy). | |
| static Teuchos::RCP< 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 | |
| static ptrdiff_t | GetGlobalLength (const Epetra_MultiVector &mv) |
Obtain the vector length of mv. | |
| static int | GetNumberVecs (const Epetra_MultiVector &mv) |
Obtain the number of vectors in mv. | |
Update methods | |
| static void | MvTimesMatAddMv (double alpha, const Epetra_MultiVector &A, const Teuchos::SerialDenseMatrix< int, double > &B, double beta, Epetra_MultiVector &mv) |
Update mv with ![]() | |
| static void | MvAddMv (double alpha, const Epetra_MultiVector &A, double beta, const Epetra_MultiVector &B, Epetra_MultiVector &mv) |
Replace mv with ![]() | |
| static void | MvTransMv (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 ![]() | |
| static void | MvDot (const Epetra_MultiVector &A, const Epetra_MultiVector &B, 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. ![]() | |
Norm method | |
| static 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 ![]() i-th column of mv. | |
Initialization methods | |
| static 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. | |
| static void | MvScale (Epetra_MultiVector &mv, double alpha) |
Scale each element of the vectors in mv with alpha. | |
| static void | MvScale (Epetra_MultiVector &mv, const std::vector< double > &alpha) |
Scale each element of the i-th vector in mv with alpha[i]. | |
| static void | MvRandom (Epetra_MultiVector &mv) |
Replace the vectors in mv with random vectors. | |
| static void | MvInit (Epetra_MultiVector &mv, double alpha=Teuchos::ScalarTraits< double >::zero()) |
Replace each element of the vectors in mv with alpha. | |
Print method | |
| static void | MvPrint (const Epetra_MultiVector &mv, std::ostream &os) |
Print the mv multi-vector to the os output stream. | |
Creation methods | |
| static Teuchos::RCP< Epetra_MultiVector > | Clone (const Epetra_MultiVector &mv, const int numvecs) |
Creates a new empty MV containing numvecs columns. | |
| static Teuchos::RCP< Epetra_MultiVector > | CloneCopy (const Epetra_MultiVector &mv) |
Creates a new MV and copies contents of mv into the new vector (deep copy). | |
| static Teuchos::RCP< Epetra_MultiVector > | CloneCopy (const Epetra_MultiVector &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< Epetra_MultiVector > | CloneCopy (const Epetra_MultiVector &mv, const Teuchos::Range1D &index) |
| Deep copy of specified columns of mv. | |
| static Teuchos::RCP< Epetra_MultiVector > | CloneViewNonConst (Epetra_MultiVector &mv, const std::vector< int > &index) |
Creates a new MV that shares the selected contents of mv (shallow copy). | |
| static Teuchos::RCP< Epetra_MultiVector > | CloneViewNonConst (Epetra_MultiVector &mv, const Teuchos::Range1D &index) |
| Non-const view of specified columns of mv. | |
| static Teuchos::RCP< const Epetra_MultiVector > | CloneView (const Epetra_MultiVector &mv, const std::vector< int > &index) |
Creates a new const MV that shares the selected contents of mv (shallow copy). | |
| static Teuchos::RCP< const Epetra_MultiVector > | CloneView (const Epetra_MultiVector &mv, const Teuchos::Range1D &index) |
| Const view of specified columns of mv. | |
Attribute methods | |
| static ptrdiff_t | GetGlobalLength (const Epetra_MultiVector &mv) |
Return the number of rows in the given multivector mv. | |
| static int | GetNumberVecs (const Epetra_MultiVector &mv) |
Obtain the number of vectors in mv. | |
Update methods | |
| static void | MvTimesMatAddMv (const double alpha, const Epetra_MultiVector &A, const Teuchos::SerialDenseMatrix< int, double > &B, const double beta, Epetra_MultiVector &mv) |
Update mv with ![]() | |
| static void | MvAddMv (const double alpha, const Epetra_MultiVector &A, const double beta, const Epetra_MultiVector &B, Epetra_MultiVector &mv) |
Replace mv with ![]() | |
| static void | MvScale (Epetra_MultiVector &mv, const double alpha) |
Scale each element of the vectors in mv with alpha. | |
| static void | MvScale (Epetra_MultiVector &mv, const std::vector< double > &alpha) |
Scale each element of the i-th vector in mv with alpha[i]. | |
| static void | MvTransMv (const double alpha, const Epetra_MultiVector &A, const Epetra_MultiVector &B, Teuchos::SerialDenseMatrix< int, double > &C) |
Compute C := alpha * A^H B. | |
| static 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. ![]() | |
Norm method | |
| static void | MvNorm (const Epetra_MultiVector &mv, std::vector< typename Teuchos::ScalarTraits< double >::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 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. | |
| static void | SetBlock (const Epetra_MultiVector &A, const Teuchos::Range1D &index, Epetra_MultiVector &mv) |
| Deep copy of A into specified columns of mv. | |
| static void | Assign (const Epetra_MultiVector &A, Epetra_MultiVector &mv) |
| mv := A | |
| static void | MvRandom (Epetra_MultiVector &mv) |
Replace the vectors in mv with random vectors. | |
| static void | MvInit (Epetra_MultiVector &mv, const double alpha=Teuchos::ScalarTraits< double >::zero()) |
Replace each element of the vectors in mv with alpha. | |
Print method | |
| static void | MvPrint (const Epetra_MultiVector &mv, std::ostream &os) |
Print the mv multi-vector to the os output stream. | |
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.
Definition at line 716 of file AnasaziEpetraAdapter.hpp.
|
inlinestatic |
Creates a new empty Epetra_MultiVector containing numVecs columns.
Definition at line 728 of file AnasaziEpetraAdapter.hpp.
|
inlinestatic |
Creates a new Epetra_MultiVector and copies contents of mv into the new vector (deep copy).
Definition at line 746 of file AnasaziEpetraAdapter.hpp.
|
inlinestatic |
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.
Definition at line 757 of file AnasaziEpetraAdapter.hpp.
|
inlinestatic |
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.
Definition at line 847 of file AnasaziEpetraAdapter.hpp.
|
inlinestatic |
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.
Definition at line 938 of file AnasaziEpetraAdapter.hpp.
|
inlinestatic |
Obtain the vector length of mv.
Definition at line 1029 of file AnasaziEpetraAdapter.hpp.
|
inlinestatic |
Obtain the number of vectors in mv.
Definition at line 1038 of file AnasaziEpetraAdapter.hpp.
|
inlinestatic |
Update mv with 
Definition at line 1050 of file AnasaziEpetraAdapter.hpp.
|
inlinestatic |
Replace mv with 
Definition at line 1063 of file AnasaziEpetraAdapter.hpp.
|
inlinestatic |
Compute a dense matrix B through the matrix-matrix multiply 
Definition at line 1120 of file AnasaziEpetraAdapter.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]^Tmv[i]$](form_134.png)
Definition at line 1135 of file AnasaziEpetraAdapter.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 1158 of file AnasaziEpetraAdapter.hpp.
|
inlinestatic |
Copy the vectors in A to a set of vectors in mv indicated by the indices given in index.
Definition at line 1175 of file AnasaziEpetraAdapter.hpp.
|
inlinestatic |
Scale each element of the vectors in mv with alpha.
Definition at line 1321 of file AnasaziEpetraAdapter.hpp.
|
inlinestatic |
Scale each element of the i-th vector in mv with alpha[i].
Definition at line 1329 of file AnasaziEpetraAdapter.hpp.
|
inlinestatic |
Replace the vectors in mv with random vectors.
Definition at line 1345 of file AnasaziEpetraAdapter.hpp.
|
inlinestatic |
Replace each element of the vectors in mv with alpha.
Definition at line 1353 of file AnasaziEpetraAdapter.hpp.
|
inlinestatic |
Print the mv multi-vector to the os output stream.
Definition at line 1366 of file AnasaziEpetraAdapter.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.