ConstrainedOptPack: C++ Tools for Constrained (and Unconstrained) Optimization Version of the Day
Public Member Functions
ConstrainedOptPack::MatrixSymAddDelBunchKaufman Class Reference

This class maintains the factorization of symmetric indefinite matrix using a Bunch & Kaufman factorization. More...

#include <ConstrainedOptPack_MatrixSymAddDelBunchKaufman.hpp>

Inheritance diagram for ConstrainedOptPack::MatrixSymAddDelBunchKaufman:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 MatrixSymAddDelBunchKaufman ()
 Initializes with 0x0 and pivot_tols == (0.0,0.0,0.0).
void pivot_tols (PivotTolerances pivot_tols)
 Pivot tolerance used durring the cholesky factorization (it may be zero).
PivotTolerances pivot_tols () const
 

Overridden from MatrixSymAddDelUpdateableWithOpNonsingular

const MatrixSymOpNonsingop_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
 

Detailed Description

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 53 of file ConstrainedOptPack_MatrixSymAddDelBunchKaufman.hpp.


Constructor & Destructor Documentation

ConstrainedOptPack::MatrixSymAddDelBunchKaufman::MatrixSymAddDelBunchKaufman ( )

Initializes with 0x0 and pivot_tols == (0.0,0.0,0.0).

Definition at line 43 of file ConstrainedOptPack_MatrixSymAddDelBunchKaufman.cpp.


Member Function Documentation

void ConstrainedOptPack::MatrixSymAddDelBunchKaufman::pivot_tols ( PivotTolerances  pivot_tols)

Pivot tolerance used durring the cholesky factorization (it may be zero).

Definition at line 47 of file ConstrainedOptPack_MatrixSymAddDelBunchKaufman.cpp.

MatrixSymAddDelUpdateable::PivotTolerances ConstrainedOptPack::MatrixSymAddDelBunchKaufman::pivot_tols ( ) const
const MatrixSymOpNonsing & ConstrainedOptPack::MatrixSymAddDelBunchKaufman::op_interface ( ) const [virtual]
MatrixSymAddDelUpdateable & ConstrainedOptPack::MatrixSymAddDelBunchKaufman::update_interface ( ) [virtual]
const MatrixSymAddDelUpdateable & ConstrainedOptPack::MatrixSymAddDelBunchKaufman::update_interface ( ) const [virtual]
void ConstrainedOptPack::MatrixSymAddDelBunchKaufman::initialize ( value_type  alpha,
size_type  max_size 
)
void ConstrainedOptPack::MatrixSymAddDelBunchKaufman::initialize ( const DMatrixSliceSym A,
size_type  max_size,
bool  force_factorization,
Inertia  inertia,
PivotTolerances  pivot_tols 
)
size_type ConstrainedOptPack::MatrixSymAddDelBunchKaufman::max_size ( ) const
MatrixSymAddDelUpdateable::Inertia ConstrainedOptPack::MatrixSymAddDelBunchKaufman::inertia ( ) const
void ConstrainedOptPack::MatrixSymAddDelBunchKaufman::set_uninitialized ( )
void ConstrainedOptPack::MatrixSymAddDelBunchKaufman::augment_update ( const DVectorSlice *  t,
value_type  alpha,
bool  force_refactorization,
EEigenValType  add_eigen_val,
PivotTolerances  pivot_tols 
)
void ConstrainedOptPack::MatrixSymAddDelBunchKaufman::delete_update ( size_type  jd,
bool  force_refactorization,
EEigenValType  drop_eigen_val,
PivotTolerances  pivot_tols 
)
size_type ConstrainedOptPack::MatrixSymAddDelBunchKaufman::rows ( ) const [virtual]
std::ostream & ConstrainedOptPack::MatrixSymAddDelBunchKaufman::output ( std::ostream &  out) const [virtual]
void ConstrainedOptPack::MatrixSymAddDelBunchKaufman::Vp_StMtV ( DVectorSlice *  vs_lhs,
value_type  alpha,
BLAS_Cpp::Transp  trans_rhs1,
const DVectorSlice &  vs_rhs2,
value_type  beta 
) const [virtual]
void ConstrainedOptPack::MatrixSymAddDelBunchKaufman::V_InvMtV ( DVectorSlice *  vs_lhs,
BLAS_Cpp::Transp  trans_rhs1,
const DVectorSlice &  vs_rhs2 
) const [virtual]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends