|
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.
1.8.6