ConstrainedOptPack: C++ Tools for Constrained (and Unconstrained) Optimization
Version of the Day
|
This class maintains the factorization of symmetric indefinite matrix using a Bunch & Kaufman factorization. More...
#include <ConstrainedOptPack_MatrixSymAddDelBunchKaufman.hpp>
Public Member Functions | |
MatrixSymAddDelBunchKaufman () | |
Initializes with 0x0 and pivot_tols == (0.0,0.0,0.0). More... | |
void | pivot_tols (PivotTolerances pivot_tols) |
Pivot tolerance used durring the cholesky factorization (it may be zero). More... | |
PivotTolerances | pivot_tols () const |
Public Member Functions inherited from ConstrainedOptPack::MatrixSymAddDelUpdateableWithOpNonsingular | |
virtual | ~MatrixSymAddDelUpdateableWithOpNonsingular () |
Overridden from MatrixSymAddDelUpdateableWithOpNonsingular | |
const MatrixSymOpNonsing & | op_interface () const |
MatrixSymAddDelUpdateable & | update_interface () |
const MatrixSymAddDelUpdateable & | update_interface () const |
Overridden from MatrixSymAddDelUpdateable | |
void | initialize (value_type alpha, size_type max_size) |
void | initialize (const DMatrixSliceSym &A, size_type max_size, bool force_factorization, Inertia inertia, PivotTolerances pivot_tols) |
size_type | max_size () const |
Inertia | inertia () const |
void | set_uninitialized () |
void | augment_update (const DVectorSlice *t, value_type alpha, bool force_refactorization, EEigenValType add_eigen_val, PivotTolerances pivot_tols) |
void | delete_update (size_type jd, bool force_refactorization, EEigenValType drop_eigen_val, PivotTolerances pivot_tols) |
Overridden from MatrixSymOpNonsingSerial | |
size_type | rows () const |
std::ostream & | output (std::ostream &out) const |
void | Vp_StMtV (DVectorSlice *vs_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const DVectorSlice &vs_rhs2, value_type beta) const |
void | V_InvMtV (DVectorSlice *vs_lhs, BLAS_Cpp::Transp trans_rhs1, const DVectorSlice &vs_rhs2) const |
This class maintains the factorization of symmetric indefinite matrix using a Bunch & Kaufman factorization.
When the matix in question is positive definite or negative definite then a cholesky factorization will be used for greater efficiency. As much as possible the class trys to keep runtime costs down to a minimum while still maintaining a stable factorization.
ToDo: This matrix class could also handle the case of a single negative or positive eigen value in an efficient manner as well.
Definition at line 66 of file ConstrainedOptPack_MatrixSymAddDelBunchKaufman.hpp.
ConstrainedOptPack::MatrixSymAddDelBunchKaufman::MatrixSymAddDelBunchKaufman | ( | ) |
Initializes with 0x0 and pivot_tols == (0.0,0.0,0.0).
Definition at line 56 of file ConstrainedOptPack_MatrixSymAddDelBunchKaufman.cpp.
void ConstrainedOptPack::MatrixSymAddDelBunchKaufman::pivot_tols | ( | PivotTolerances | pivot_tols | ) |
Pivot tolerance used durring the cholesky factorization (it may be zero).
Definition at line 60 of file ConstrainedOptPack_MatrixSymAddDelBunchKaufman.cpp.
MatrixSymAddDelUpdateable::PivotTolerances ConstrainedOptPack::MatrixSymAddDelBunchKaufman::pivot_tols | ( | ) | const |
Definition at line 65 of file ConstrainedOptPack_MatrixSymAddDelBunchKaufman.cpp.
|
virtual |
Implements ConstrainedOptPack::MatrixSymAddDelUpdateableWithOpNonsingular.
Definition at line 72 of file ConstrainedOptPack_MatrixSymAddDelBunchKaufman.cpp.
|
virtual |
Implements ConstrainedOptPack::MatrixSymAddDelUpdateableWithOpNonsingular.
Definition at line 77 of file ConstrainedOptPack_MatrixSymAddDelBunchKaufman.cpp.
|
virtual |
Implements ConstrainedOptPack::MatrixSymAddDelUpdateableWithOpNonsingular.
Definition at line 82 of file ConstrainedOptPack_MatrixSymAddDelBunchKaufman.cpp.
void ConstrainedOptPack::MatrixSymAddDelBunchKaufman::initialize | ( | value_type | alpha, |
size_type | max_size | ||
) |
Definition at line 89 of file ConstrainedOptPack_MatrixSymAddDelBunchKaufman.cpp.
void ConstrainedOptPack::MatrixSymAddDelBunchKaufman::initialize | ( | const DMatrixSliceSym & | A, |
size_type | max_size, | ||
bool | force_factorization, | ||
Inertia | inertia, | ||
PivotTolerances | pivot_tols | ||
) |
Definition at line 112 of file ConstrainedOptPack_MatrixSymAddDelBunchKaufman.cpp.
size_type ConstrainedOptPack::MatrixSymAddDelBunchKaufman::max_size | ( | ) | const |
Definition at line 216 of file ConstrainedOptPack_MatrixSymAddDelBunchKaufman.cpp.
MatrixSymAddDelUpdateable::Inertia ConstrainedOptPack::MatrixSymAddDelBunchKaufman::inertia | ( | ) | const |
Definition at line 222 of file ConstrainedOptPack_MatrixSymAddDelBunchKaufman.cpp.
void ConstrainedOptPack::MatrixSymAddDelBunchKaufman::set_uninitialized | ( | ) |
Definition at line 227 of file ConstrainedOptPack_MatrixSymAddDelBunchKaufman.cpp.
void ConstrainedOptPack::MatrixSymAddDelBunchKaufman::augment_update | ( | const DVectorSlice * | t, |
value_type | alpha, | ||
bool | force_refactorization, | ||
EEigenValType | add_eigen_val, | ||
PivotTolerances | pivot_tols | ||
) |
Definition at line 232 of file ConstrainedOptPack_MatrixSymAddDelBunchKaufman.cpp.
void ConstrainedOptPack::MatrixSymAddDelBunchKaufman::delete_update | ( | size_type | jd, |
bool | force_refactorization, | ||
EEigenValType | drop_eigen_val, | ||
PivotTolerances | pivot_tols | ||
) |
Definition at line 484 of file ConstrainedOptPack_MatrixSymAddDelBunchKaufman.cpp.
size_type ConstrainedOptPack::MatrixSymAddDelBunchKaufman::rows | ( | ) | const |
Definition at line 652 of file ConstrainedOptPack_MatrixSymAddDelBunchKaufman.cpp.
std::ostream & ConstrainedOptPack::MatrixSymAddDelBunchKaufman::output | ( | std::ostream & | out | ) | const |
Definition at line 657 of file ConstrainedOptPack_MatrixSymAddDelBunchKaufman.cpp.
void ConstrainedOptPack::MatrixSymAddDelBunchKaufman::Vp_StMtV | ( | DVectorSlice * | vs_lhs, |
value_type | alpha, | ||
BLAS_Cpp::Transp | trans_rhs1, | ||
const DVectorSlice & | vs_rhs2, | ||
value_type | beta | ||
) | const |
Definition at line 680 of file ConstrainedOptPack_MatrixSymAddDelBunchKaufman.cpp.
void ConstrainedOptPack::MatrixSymAddDelBunchKaufman::V_InvMtV | ( | DVectorSlice * | vs_lhs, |
BLAS_Cpp::Transp | trans_rhs1, | ||
const DVectorSlice & | vs_rhs2 | ||
) | const |
Definition at line 690 of file ConstrainedOptPack_MatrixSymAddDelBunchKaufman.cpp.