AbstractLinAlgPack::MatrixSymDiagStd Class Reference

Simple diagonal matrix class. More...

#include <AbstractLinAlgPack_MatrixSymDiagStd.hpp>

Inheritance diagram for AbstractLinAlgPack::MatrixSymDiagStd:

Inheritance graph
[legend]
List of all members.

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

VectorMutablediag ()
 Give non-const access to the diagonal vector.
const VectorSpace::vec_mut_ptr_tdiag_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 VectorSpacespace_rows () const
 
const VectorSpacespace_cols () const
 
MatrixOpoperator= (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 Vectordiag () const
 

Classes

class  PostMod
 PostMod class to use with MemMngPack::AbstractFactorStd. More...

Detailed Description

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 44 of file AbstractLinAlgPack_MatrixSymDiagStd.hpp.


Constructor & Destructor Documentation

AbstractLinAlgPack::MatrixSymDiagStd::MatrixSymDiagStd ( const VectorSpace::vec_mut_ptr_t diag = Teuchos::null,
bool  unique = true 
)

Calls this->initialize().

Definition at line 41 of file AbstractLinAlgPack_MatrixSymDiagStd.cpp.


Member Function Documentation

void AbstractLinAlgPack::MatrixSymDiagStd::initialize ( const VectorSpace::vec_mut_ptr_t diag,
bool  unique = true 
)

Initialize given the diagonal vector (or no vector at all).

Parameters:
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 53 of file AbstractLinAlgPack_MatrixSymDiagStd.cpp.

VectorMutable & AbstractLinAlgPack::MatrixSymDiagStd::diag (  ) 

Give non-const access to the diagonal vector.

Preconditions:

ToDo: Finish documentation!

Definition at line 62 of file AbstractLinAlgPack_MatrixSymDiagStd.cpp.

const VectorSpace::vec_mut_ptr_t & AbstractLinAlgPack::MatrixSymDiagStd::diag_ptr (  )  const

Definition at line 73 of file AbstractLinAlgPack_MatrixSymDiagStd.cpp.

bool AbstractLinAlgPack::MatrixSymDiagStd::unique (  )  const [inline]

Definition at line 197 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 80 of file AbstractLinAlgPack_MatrixSymDiagStd.cpp.

size_type AbstractLinAlgPack::MatrixSymDiagStd::nz (  )  const [virtual]

Reimplemented from AbstractLinAlgPack::MatrixBase.

Definition at line 85 of file AbstractLinAlgPack_MatrixSymDiagStd.cpp.

const VectorSpace & AbstractLinAlgPack::MatrixSymDiagStd::space_rows (  )  const [virtual]

Reimplemented from AbstractLinAlgPack::MatrixSymOp.

Definition at line 96 of file AbstractLinAlgPack_MatrixSymDiagStd.cpp.

const VectorSpace & AbstractLinAlgPack::MatrixSymDiagStd::space_cols (  )  const [virtual]

Implements AbstractLinAlgPack::MatrixBase.

Definition at line 92 of file AbstractLinAlgPack_MatrixSymDiagStd.cpp.

MatrixOp & AbstractLinAlgPack::MatrixSymDiagStd::operator= ( const MatrixOp mwo_rhs  )  [virtual]

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 101 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 119 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 135 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 [virtual]

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 147 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.

Returns:
Returns true if dynamic_cast<MatrixSymDiagStd>(sym_lhs) != NULL. Otherwise, returns false.

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 170 of file AbstractLinAlgPack_MatrixSymDiagStd.cpp.

void AbstractLinAlgPack::MatrixSymDiagStd::V_InvMtV ( VectorMutable v_lhs,
BLAS_Cpp::Transp  trans_rhs1,
const Vector v_rhs2 
) const [virtual]

Implements AbstractLinAlgPack::MatrixNonsing.

Definition at line 156 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 163 of file AbstractLinAlgPack_MatrixSymDiagStd.cpp.

void AbstractLinAlgPack::MatrixSymDiagStd::init_identity ( const VectorSpace space_diag,
value_type  alpha 
) [virtual]

Implements AbstractLinAlgPack::MatrixSymInitDiag.

Definition at line 189 of file AbstractLinAlgPack_MatrixSymDiagStd.cpp.

void AbstractLinAlgPack::MatrixSymDiagStd::init_diagonal ( const Vector diag  )  [virtual]

Implements AbstractLinAlgPack::MatrixSymInitDiag.

Definition at line 196 of file AbstractLinAlgPack_MatrixSymDiagStd.cpp.

const Vector & AbstractLinAlgPack::MatrixSymDiagStd::diag (  )  const [virtual]

Implements AbstractLinAlgPack::MatrixSymDiag.

Definition at line 204 of file AbstractLinAlgPack_MatrixSymDiagStd.cpp.


The documentation for this class was generated from the following files:
Generated on Wed May 12 21:31:45 2010 for AbstractLinAlgPack: C++ Interfaces For Vectors, Matrices And Related Linear Algebra Objects by  doxygen 1.4.7