|
AbstractLinAlgPack: C++ Interfaces For Vectors, Matrices And Related Linear Algebra Objects
Version of the Day
|
Abstract base class for all nonsingular polymorphic matrices that can be used to compute matrix-vector products and solve for linear systems efficiently. More...
#include <AbstractLinAlgPack_MatrixOpNonsing.hpp>

Public Member Functions | |
| MatrixOpNonsing & | operator= (const MatrixOpNonsing &M) |
| Calls operator=(MatrixOp&) | |
Clone | |
| virtual mat_mwons_mut_ptr_t | clone_mwons () |
| Clone the non-const matrix object (if supported). | |
| virtual mat_mwons_ptr_t | clone_mwons () const |
| Clone the const matrix object (if supported). | |
Condition number estimation | |
| 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. | |
Overridden from MatrixOp | |
| mat_mut_ptr_t | clone () |
Returns this->clone_mwons(). | |
| mat_ptr_t | clone () const |
Returns this->clone_mwons(). | |
Overridden from MatrixNonsing | |
| mat_mns_mut_ptr_t | clone_mns () |
Returns this->clone_mwons(). | |
| mat_mns_ptr_t | clone_mns () const |
Returns this->clone_mwons(). | |
Abstract base class for all nonsingular polymorphic matrices that can be used to compute matrix-vector products and solve for linear systems efficiently.
Definition at line 54 of file AbstractLinAlgPack_MatrixOpNonsing.hpp.
| MatrixOpNonsing::mat_mwons_mut_ptr_t AbstractLinAlgPack::MatrixOpNonsing::clone_mwons | ( | ) | [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.
Reimplemented in AbstractLinAlgPack::MatrixSymOpNonsing.
Definition at line 52 of file AbstractLinAlgPack_MatrixOpNonsing.cpp.
| MatrixOpNonsing::mat_mwons_ptr_t AbstractLinAlgPack::MatrixOpNonsing::clone_mwons | ( | ) | 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.
Reimplemented in AbstractLinAlgPack::MatrixSymOpNonsing.
Definition at line 58 of file AbstractLinAlgPack_MatrixOpNonsing.cpp.
| const MatrixOp::MatNorm AbstractLinAlgPack::MatrixOpNonsing::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.
| requested_norm_type | [in] Determines the requested type of norm for the condition number. |
| allow_replacement | [in] Determines if the requested norm in specified in norm_type can be replaced with another norm that can be computde by the matrix. |
return.value gives the value of the condition number in the norm of type return.type.Postconditions:
allow_replacement==true, the matrix object must return a computed condition number who's type is given in return.type. allow_replacement==false and the underlying matrix object can not compute condition number for the norm requested in norm_type, then a MethodNotImplemented exception will be thrown. If the matrix object can an estimate of the condition number for this norm, then return.type will be equal to requested_norm_type. The default implementation of this method uses Algorithm 2.5 in "Applied Numerical Linear Algebra" by James Demmel (1997) to estimate ||inv(M)||1 or ||inv(M)||inf. The algorithm uses some of the refinements in the referenced algorithm by Highman. This algorithm only requires solves and transposed solves so every nonsingular matrix object can implement this method. The default arguments for this function will compute an estimate of the condition number and will not thrown an exception. The default implementation will throw an exception for any other norm type than requested_norm_type = MAT_NORM_1 or requested_norm_type = MAT_NORM_INF.
Definition at line 64 of file AbstractLinAlgPack_MatrixOpNonsing.cpp.
| MatrixOpNonsing::mat_mut_ptr_t AbstractLinAlgPack::MatrixOpNonsing::clone | ( | ) | [virtual] |
Returns this->clone_mwons().
Reimplemented from AbstractLinAlgPack::MatrixOp.
Reimplemented in AbstractLinAlgPack::MatrixSymOpNonsing.
Definition at line 121 of file AbstractLinAlgPack_MatrixOpNonsing.cpp.
| MatrixOpNonsing::mat_ptr_t AbstractLinAlgPack::MatrixOpNonsing::clone | ( | ) | const [virtual] |
Returns this->clone_mwons().
Reimplemented from AbstractLinAlgPack::MatrixOp.
Reimplemented in AbstractLinAlgPack::MatrixSymOpNonsing.
Definition at line 127 of file AbstractLinAlgPack_MatrixOpNonsing.cpp.
| MatrixOpNonsing::mat_mns_mut_ptr_t AbstractLinAlgPack::MatrixOpNonsing::clone_mns | ( | ) | [virtual] |
Returns this->clone_mwons().
Reimplemented from AbstractLinAlgPack::MatrixNonsing.
Reimplemented in AbstractLinAlgPack::MatrixSymOpNonsing.
Definition at line 135 of file AbstractLinAlgPack_MatrixOpNonsing.cpp.
| MatrixOpNonsing::mat_mns_ptr_t AbstractLinAlgPack::MatrixOpNonsing::clone_mns | ( | ) | const [virtual] |
Returns this->clone_mwons().
Reimplemented from AbstractLinAlgPack::MatrixNonsing.
Reimplemented in AbstractLinAlgPack::MatrixSymOpNonsing.
Definition at line 141 of file AbstractLinAlgPack_MatrixOpNonsing.cpp.
| MatrixOpNonsing& AbstractLinAlgPack::MatrixOpNonsing::operator= | ( | const MatrixOpNonsing & | M | ) | [inline] |
Calls operator=(MatrixOp&)
Definition at line 152 of file AbstractLinAlgPack_MatrixOpNonsing.hpp.
1.7.6.1