MOOCHO (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
AbstractLinAlgPack::MatrixSymOpNonsing Class Reference

Abstract base class for all polymorphic symmetrix nonsingular matrices that can be used to compute matrix-vector products and solve for linear systems relatively efficently. More...

#include <AbstractLinAlgPack_MatrixSymOpNonsing.hpp>

Inheritance diagram for AbstractLinAlgPack::MatrixSymOpNonsing:
Inheritance graph
[legend]

Public Member Functions

MatrixSymOpNonsingoperator= (const MatrixSymOpNonsing &M)
 Calls operator=(MatrixOp&) More...
 
- Public Member Functions inherited from AbstractLinAlgPack::MatrixSymOp
virtual MatrixSymOpoperator= (const MatrixSymOp &M)
 Calls operator=(MatrixOp&) More...
 
size_type cols () const
 Returns this->rows() More...
 
const VectorSpacespace_rows () const
 Vector space for vectors that are compatible with the rows of the matrix. More...
 
- Public Member Functions inherited from AbstractLinAlgPack::MatrixOp
virtual void zero_out ()
 M_lhs = 0 : Zero out the matrix. More...
 
virtual void Mt_S (value_type alpha)
 M_lhs *= alpha : Multiply a matrix by a scalar. More...
 
virtual MatrixOpoperator= (const MatrixOp &mwo_rhs)
 M_lhs = mwo_rhs : Virtual assignment operator. More...
 
virtual std::ostream & output (std::ostream &out) const
 Virtual output function. More...
 
const MatNorm calc_norm (EMatNormType requested_norm_type=MAT_NORM_1, bool allow_replacement=false) const
 Compute a norm of this matrix. More...
 
virtual mat_ptr_t sub_view (const Range1D &row_rng, const Range1D &col_rng) const
 Create a transient constant sub-matrix view of this matrix (if supported). More...
 
mat_ptr_t sub_view (const index_type &rl, const index_type &ru, const index_type &cl, const index_type &cu) const
 Inlined implementation calls this->sub_view(Range1D(rl,ru),Range1D(cl,cu)). More...
 
virtual mat_ptr_t perm_view (const Permutation *P_row, const index_type row_part[], int num_row_part, const Permutation *P_col, const index_type col_part[], int num_col_part) const
 Create a permuted view: M_perm = P_row' * M * P_col. More...
 
virtual mat_ptr_t perm_view_update (const Permutation *P_row, const index_type row_part[], int num_row_part, const Permutation *P_col, const index_type col_part[], int num_col_part, const mat_ptr_t &perm_view) const
 Reinitialize a permuted view: M_perm = P_row' * M * P_col. More...
 
- Public Member Functions inherited from AbstractLinAlgPack::MatrixBase
virtual ~MatrixBase ()
 Virtual destructor. More...
 
virtual const VectorSpacespace_cols () const =0
 Vector space for vectors that are compatible with the columns of the matrix. More...
 
virtual size_type rows () const
 Return the number of rows in the matrix. More...
 
virtual size_type nz () const
 Return the number of nonzero elements in the matrix. More...
 
- Public Member Functions inherited from AbstractLinAlgPack::MatrixSymNonsing
- Public Member Functions inherited from AbstractLinAlgPack::MatrixNonsing
virtual void V_InvMtV (VectorMutable *v_lhs, BLAS_Cpp::Transp trans_rhs1, const Vector &v_rhs2) const =0
 v_lhs = inv(op(M_rhs1)) * vs_rhs2 More...
 
virtual void V_InvMtV (VectorMutable *v_lhs, BLAS_Cpp::Transp trans_rhs1, const SpVectorSlice &sv_rhs2) const
 v_lhs = inv(op(M_rhs1)) * sv_rhs2 More...
 
virtual value_type transVtInvMtV (const Vector &v_rhs1, BLAS_Cpp::Transp trans_rhs2, const Vector &v_rhs3) const
 result = vs_rhs1' * inv(op(M_rhs2)) * vs_rhs3 More...
 
virtual value_type transVtInvMtV (const SpVectorSlice &sv_rhs1, BLAS_Cpp::Transp trans_rhs2, const SpVectorSlice &sv_rhs3) const
 result = sv_rhs1' * inv(op(M_rhs2)) * sv_rhs3 More...
 
virtual void M_StInvMtM (MatrixOp *m_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const MatrixOp &mwo_rhs2, BLAS_Cpp::Transp trans_rhs2) const
 m_lhs = alpha * inv(op(M_rhs1)) * op(mwo_rhs2) (right). More...
 
virtual void M_StMtInvM (MatrixOp *m_lhs, value_type alpha, const MatrixOp &mwo_rhs1, BLAS_Cpp::Transp trans_rhs1, BLAS_Cpp::Transp trans_rhs2) const
 m_lhs = alpha * op(mwo_rhs1) * inv(op(M_rhs2)) (left). More...
 
- Public Member Functions inherited from AbstractLinAlgPack::MatrixOpNonsing
MatrixOpNonsingoperator= (const MatrixOpNonsing &M)
 Calls operator=(MatrixOp&) More...
 
const MatNorm calc_cond_num (EMatNormType requested_norm_type=MAT_NORM_1, bool allow_replacement=false) const
 Compute an estimate of the condition number of this matrix. More...
 

Clone

virtual mat_mswons_mut_ptr_t clone_mswons ()
 Clone the non-const matrix object (if supported). More...
 
virtual mat_mswons_ptr_t clone_mswons () const
 Clone the const matrix object (if supported). More...
 

Overridden from MatrixOp

mat_mut_ptr_t clone ()
 Returns this->clone_mswons(). More...
 
mat_ptr_t clone () const
 Returns this->clone_mswons(). More...
 

Overridden from MatrixNonsing

mat_mns_mut_ptr_t clone_mns ()
 Returns this->clone_mswons(). More...
 
mat_mns_ptr_t clone_mns () const
 Returns this->clone_mswons(). More...
 

Overridden from MatrixSymOp

mat_mswo_mut_ptr_t clone_mswo ()
 Returns this->clone_mswons(). More...
 
mat_mswo_ptr_t clone_mswo () const
 Returns this->clone_mswons(). More...
 

Overridden from MatrixSymNonsing

mat_msns_mut_ptr_t clone_msns ()
 Returns this->clone_mswons(). More...
 
mat_msns_ptr_t clone_msns () const
 Returns this->clone_mswons(). More...
 

Overridden from MatrixOpNonsing

mat_mwons_mut_ptr_t clone_mwons ()
 Returns this->clone_mswons(). More...
 
mat_mwons_ptr_t clone_mwons () const
 Returns this->clone_mswons(). More...
 

Detailed Description

Abstract base class for all polymorphic symmetrix nonsingular matrices that can be used to compute matrix-vector products and solve for linear systems relatively efficently.

Definition at line 55 of file AbstractLinAlgPack_MatrixSymOpNonsing.hpp.

Member Function Documentation

MatrixSymOpNonsing::mat_mswons_mut_ptr_t AbstractLinAlgPack::MatrixSymOpNonsing::clone_mswons ( )
virtual

Clone the non-const matrix object (if supported).

The default implementation returns NULL which is perfectly acceptable. A matrix object is not required to return a non-NULL value but almost every good matrix implementation will.

Definition at line 47 of file AbstractLinAlgPack_MatrixSymOpNonsing.cpp.

MatrixSymOpNonsing::mat_mswons_ptr_t AbstractLinAlgPack::MatrixSymOpNonsing::clone_mswons ( ) const
virtual

Clone the const matrix object (if supported).

The behavior of this method is the same as for the non-const version above except it returns a smart pointer to a const matrix object.

Definition at line 53 of file AbstractLinAlgPack_MatrixSymOpNonsing.cpp.

MatrixSymOpNonsing::mat_mut_ptr_t AbstractLinAlgPack::MatrixSymOpNonsing::clone ( )
virtual
MatrixSymOpNonsing::mat_ptr_t AbstractLinAlgPack::MatrixSymOpNonsing::clone ( ) const
virtual
MatrixSymOpNonsing::mat_mns_mut_ptr_t AbstractLinAlgPack::MatrixSymOpNonsing::clone_mns ( )
virtual
MatrixSymOpNonsing::mat_mns_ptr_t AbstractLinAlgPack::MatrixSymOpNonsing::clone_mns ( ) const
virtual
MatrixSymOpNonsing::mat_mswo_mut_ptr_t AbstractLinAlgPack::MatrixSymOpNonsing::clone_mswo ( )
virtual

Returns this->clone_mswons().

Reimplemented from AbstractLinAlgPack::MatrixSymOp.

Definition at line 89 of file AbstractLinAlgPack_MatrixSymOpNonsing.cpp.

MatrixSymOpNonsing::mat_mswo_ptr_t AbstractLinAlgPack::MatrixSymOpNonsing::clone_mswo ( ) const
virtual

Returns this->clone_mswons().

Reimplemented from AbstractLinAlgPack::MatrixSymOp.

Definition at line 95 of file AbstractLinAlgPack_MatrixSymOpNonsing.cpp.

MatrixSymOpNonsing::mat_msns_mut_ptr_t AbstractLinAlgPack::MatrixSymOpNonsing::clone_msns ( )
virtual

Returns this->clone_mswons().

Reimplemented from AbstractLinAlgPack::MatrixSymNonsing.

Definition at line 103 of file AbstractLinAlgPack_MatrixSymOpNonsing.cpp.

MatrixSymOpNonsing::mat_msns_ptr_t AbstractLinAlgPack::MatrixSymOpNonsing::clone_msns ( ) const
virtual

Returns this->clone_mswons().

Reimplemented from AbstractLinAlgPack::MatrixSymNonsing.

Definition at line 109 of file AbstractLinAlgPack_MatrixSymOpNonsing.cpp.

MatrixSymOpNonsing::mat_mwons_mut_ptr_t AbstractLinAlgPack::MatrixSymOpNonsing::clone_mwons ( )
virtual

Returns this->clone_mswons().

Reimplemented from AbstractLinAlgPack::MatrixOpNonsing.

Definition at line 117 of file AbstractLinAlgPack_MatrixSymOpNonsing.cpp.

MatrixSymOpNonsing::mat_mwons_ptr_t AbstractLinAlgPack::MatrixSymOpNonsing::clone_mwons ( ) const
virtual

Returns this->clone_mswons().

Reimplemented from AbstractLinAlgPack::MatrixOpNonsing.

Definition at line 123 of file AbstractLinAlgPack_MatrixSymOpNonsing.cpp.

MatrixSymOpNonsing& AbstractLinAlgPack::MatrixSymOpNonsing::operator= ( const MatrixSymOpNonsing M)
inline

Calls operator=(MatrixOp&)

Definition at line 135 of file AbstractLinAlgPack_MatrixSymOpNonsing.hpp.


The documentation for this class was generated from the following files: