|
AbstractLinAlgPack: C++ Interfaces For Vectors, Matrices And Related Linear Algebra Objects
Version of the Day
|
Simple diagonal matrix class. More...
#include <AbstractLinAlgPack_MatrixSymDiagStd.hpp>

Classes | |
| class | PostMod |
PostMod class to use with MemMngPack::AbstractFactorStd. More... | |
Constructors/initalizers | |
| MatrixSymDiagStd (const VectorSpace::vec_mut_ptr_t &diag=Teuchos::null, bool unique=true) | |
Calls this->initialize(). | |
| void | initialize (const VectorSpace::vec_mut_ptr_t &diag, bool unique=true) |
| Initialize given the diagonal vector (or no vector at all). | |
Access | |
| VectorMutable & | diag () |
| Give non-const access to the diagonal vector. | |
| const VectorSpace::vec_mut_ptr_t & | diag_ptr () const |
| | |
| bool | unique () const |
| | |
Overridden from MatrixBase | |
| size_type | rows () const |
| Returns 0 if not initalized (this->diag() == NULL). | |
| size_type | nz () const |
| | |
Overridden from MatrixOp | |
| const VectorSpace & | space_rows () const |
| | |
| const VectorSpace & | space_cols () const |
| | |
| MatrixOp & | operator= (const MatrixOp &mwo_rhs) |
| | |
| bool | Mp_StM (MatrixOp *g_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs) const |
| Add to a mutable matrix lhs. | |
| void | Vp_StMtV (VectorMutable *v_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const Vector &v_rhs2, value_type beta) const |
| | |
| void | Vp_StMtV (VectorMutable *v_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const SpVectorSlice &sv_rhs2, value_type beta) const |
| | |
| bool | syrk (BLAS_Cpp::Transp M_trans, value_type alpha, value_type beta, MatrixSymOp *sym_lhs) const |
| Implements the symmetric rank-k update for all diagonal matrix lhs. | |
| void | V_InvMtV (VectorMutable *v_lhs, BLAS_Cpp::Transp trans_rhs1, const Vector &v_rhs2) const |
| | |
| void | V_InvMtV (VectorMutable *v_lhs, BLAS_Cpp::Transp trans_rhs1, const SpVectorSlice &sv_rhs2) const |
| | |
Overridden from MatrixSymInitDiag | |
| void | init_identity (const VectorSpace &space_diag, value_type alpha) |
| | |
| void | init_diagonal (const Vector &diag) |
| | |
Overridden from MatrixSymDiag | |
| const Vector & | diag () const |
| | |
Simple diagonal matrix class.
ToDo: Implement clone_mswons() and deal with this->diag_ptr().count() > 1 by cloning vector if told to. This allows lazy evaluation of the clone_mswons() method.
Definition at line 57 of file AbstractLinAlgPack_MatrixSymDiagStd.hpp.
| AbstractLinAlgPack::MatrixSymDiagStd::MatrixSymDiagStd | ( | const VectorSpace::vec_mut_ptr_t & | diag = Teuchos::null, |
| bool | unique = true |
||
| ) |
Calls this->initialize().
Definition at line 54 of file AbstractLinAlgPack_MatrixSymDiagStd.cpp.
| void AbstractLinAlgPack::MatrixSymDiagStd::initialize | ( | const VectorSpace::vec_mut_ptr_t & | diag, |
| bool | unique = true |
||
| ) |
Initialize given the diagonal vector (or no vector at all).
| diag | [in] Vector to be used for the diagonal. If diag.get() == NULL then this will be uninitialized. |
| unique | [in] Determines if the underlying diag vector is guaranteed to be unique and not shared. |
Definition at line 66 of file AbstractLinAlgPack_MatrixSymDiagStd.cpp.
Give non-const access to the diagonal vector.
Preconditions:
this->diag_ptr().get() != NULL (throw ???) ToDo: Finish documentation!
Definition at line 75 of file AbstractLinAlgPack_MatrixSymDiagStd.cpp.
| const VectorSpace::vec_mut_ptr_t & AbstractLinAlgPack::MatrixSymDiagStd::diag_ptr | ( | ) | const |
Definition at line 86 of file AbstractLinAlgPack_MatrixSymDiagStd.cpp.
| bool AbstractLinAlgPack::MatrixSymDiagStd::unique | ( | ) | const [inline] |
Definition at line 210 of file AbstractLinAlgPack_MatrixSymDiagStd.hpp.
| size_type AbstractLinAlgPack::MatrixSymDiagStd::rows | ( | ) | const [virtual] |
Returns 0 if not initalized (this->diag() == NULL).
Reimplemented from AbstractLinAlgPack::MatrixBase.
Definition at line 93 of file AbstractLinAlgPack_MatrixSymDiagStd.cpp.
| size_type AbstractLinAlgPack::MatrixSymDiagStd::nz | ( | ) | const [virtual] |
Reimplemented from AbstractLinAlgPack::MatrixBase.
Definition at line 98 of file AbstractLinAlgPack_MatrixSymDiagStd.cpp.
| const VectorSpace & AbstractLinAlgPack::MatrixSymDiagStd::space_rows | ( | ) | const [virtual] |
Reimplemented from AbstractLinAlgPack::MatrixSymOp.
Definition at line 109 of file AbstractLinAlgPack_MatrixSymDiagStd.cpp.
| const VectorSpace & AbstractLinAlgPack::MatrixSymDiagStd::space_cols | ( | ) | const [virtual] |
Implements AbstractLinAlgPack::MatrixBase.
Definition at line 105 of file AbstractLinAlgPack_MatrixSymDiagStd.cpp.
Reimplemented from AbstractLinAlgPack::MatrixOp.
Definition at line 114 of file AbstractLinAlgPack_MatrixSymDiagStd.cpp.
| bool AbstractLinAlgPack::MatrixSymDiagStd::Mp_StM | ( | MatrixOp * | g_lhs, |
| value_type | alpha, | ||
| BLAS_Cpp::Transp | trans_rhs | ||
| ) | const [virtual] |
Add to a mutable matrix lhs.
Preconditions:
Reimplemented from AbstractLinAlgPack::MatrixOp.
Definition at line 132 of file AbstractLinAlgPack_MatrixSymDiagStd.cpp.
| void AbstractLinAlgPack::MatrixSymDiagStd::Vp_StMtV | ( | VectorMutable * | v_lhs, |
| value_type | alpha, | ||
| BLAS_Cpp::Transp | trans_rhs1, | ||
| const Vector & | v_rhs2, | ||
| value_type | beta | ||
| ) | const [virtual] |
Implements AbstractLinAlgPack::MatrixOp.
Definition at line 148 of file AbstractLinAlgPack_MatrixSymDiagStd.cpp.
| void AbstractLinAlgPack::MatrixSymDiagStd::Vp_StMtV | ( | VectorMutable * | v_lhs, |
| value_type | alpha, | ||
| BLAS_Cpp::Transp | trans_rhs1, | ||
| const SpVectorSlice & | sv_rhs2, | ||
| value_type | beta | ||
| ) | const |
Definition at line 160 of file AbstractLinAlgPack_MatrixSymDiagStd.cpp.
| bool AbstractLinAlgPack::MatrixSymDiagStd::syrk | ( | BLAS_Cpp::Transp | M_trans, |
| value_type | alpha, | ||
| value_type | beta, | ||
| MatrixSymOp * | sym_lhs | ||
| ) | const [virtual] |
Implements the symmetric rank-k update for all diagonal matrix lhs.
true if dynamic_cast<MatrixSymDiagStd>(sym_lhs) != NULL. Otherwise, returns false. Reimplemented from AbstractLinAlgPack::MatrixOp.
Definition at line 183 of file AbstractLinAlgPack_MatrixSymDiagStd.cpp.
| void AbstractLinAlgPack::MatrixSymDiagStd::V_InvMtV | ( | VectorMutable * | v_lhs, |
| BLAS_Cpp::Transp | trans_rhs1, | ||
| const Vector & | v_rhs2 | ||
| ) | const [virtual] |
Overridden from MatrixOpNonsing
Implements AbstractLinAlgPack::MatrixNonsing.
Definition at line 169 of file AbstractLinAlgPack_MatrixSymDiagStd.cpp.
| void AbstractLinAlgPack::MatrixSymDiagStd::V_InvMtV | ( | VectorMutable * | v_lhs, |
| BLAS_Cpp::Transp | trans_rhs1, | ||
| const SpVectorSlice & | sv_rhs2 | ||
| ) | const [virtual] |
Reimplemented from AbstractLinAlgPack::MatrixNonsing.
Definition at line 176 of file AbstractLinAlgPack_MatrixSymDiagStd.cpp.
| void AbstractLinAlgPack::MatrixSymDiagStd::init_identity | ( | const VectorSpace & | space_diag, |
| value_type | alpha | ||
| ) | [virtual] |
Implements AbstractLinAlgPack::MatrixSymInitDiag.
Definition at line 202 of file AbstractLinAlgPack_MatrixSymDiagStd.cpp.
| void AbstractLinAlgPack::MatrixSymDiagStd::init_diagonal | ( | const Vector & | diag | ) | [virtual] |
Implements AbstractLinAlgPack::MatrixSymInitDiag.
Definition at line 209 of file AbstractLinAlgPack_MatrixSymDiagStd.cpp.
| const Vector & AbstractLinAlgPack::MatrixSymDiagStd::diag | ( | ) | const [virtual] |
Implements AbstractLinAlgPack::MatrixSymDiag.
Definition at line 217 of file AbstractLinAlgPack_MatrixSymDiagStd.cpp.
1.7.6.1