ConstrainedOptPack::QPSchurInitKKTSystemHessianRelaxed Class Reference

Implementation of initial KKT system where all original variables are free and all the relaxation variables are fixed. More...

#include <ConstrainedOptPack_QPSchurInitKKTSystemHessianRelaxed.hpp>

Inheritance diagram for ConstrainedOptPack::QPSchurInitKKTSystemHessianRelaxed:

Inheritance graph
[legend]
List of all members.

Public Member Functions

void initialize_kkt_system (const DVectorSlice &g, const MatrixOp &G, value_type etaL, const SpVectorSlice &dL, const SpVectorSlice &dU, const MatrixOp *F, BLAS_Cpp::Transp trans_F, const DVectorSlice *f, const DVectorSlice &d, const SpVectorSlice &nu, size_type *n_R, i_x_free_t *i_x_free, i_x_fixed_t *i_x_fixed, bnd_fixed_t *bnd_fixed, j_f_decomp_t *j_f_decomp, DVector *b_X, Ko_ptr_t *Ko, DVector *fo) const
 Initialize the KKT system where the original variables are initiallly free and all the relaxation variables are fixed and their are no constraints in Ko.

Private Attributes

QPSchurInitKKTSystemHessianFull init_kkt_full_

Detailed Description

Implementation of initial KKT system where all original variables are free and all the relaxation variables are fixed.

In this implementation, G# should support the MatrixSymHessianRelaxNonSing} interface. Otherwise, it will try the MatrixSymWithOpFactorized} interface using the base implementation of QPSchurInitKKTSystemHessianFull}.

Definition at line 44 of file ConstrainedOptPack_QPSchurInitKKTSystemHessianRelaxed.hpp.


Member Function Documentation

void ConstrainedOptPack::QPSchurInitKKTSystemHessianRelaxed::initialize_kkt_system ( const DVectorSlice g,
const MatrixOp &  G,
value_type  etaL,
const SpVectorSlice dL,
const SpVectorSlice dU,
const MatrixOp *  F,
BLAS_Cpp::Transp  trans_F,
const DVectorSlice f,
const DVectorSlice d,
const SpVectorSlice nu,
size_type n_R,
i_x_free_t i_x_free,
i_x_fixed_t i_x_fixed,
bnd_fixed_t bnd_fixed,
j_f_decomp_t j_f_decomp,
DVector b_X,
Ko_ptr_t Ko,
DVector fo 
) const

Initialize the KKT system where the original variables are initiallly free and all the relaxation variables are fixed and their are no constraints in Ko.

The Hessian for the QP without the relaxation G# is represented as a MatrixSymHessianRelaxNonSing} object and is: {verbatim} G = [ G_orig ] [ M ] {verbatim} If G# does not support the interface MatrixSymHessianRelaxNonSing# then the function QPSchurInitKKTSystemHessianFull::initialize_kkt_system(...)# will be called.

Given the above parts of G#, define: #[no,no] = size(G.G)# and #[nr,nr] = size(G.M)#. Then initial KKT system is defined as:

n_R = no#\ i_x_free.size() == 0# and i_x_free is implicitly identity#\ i_x_fixed[l-1] = no + l, l = 1...nr#\ i_x_fixed[nr] = no+nr+1#\ bnd_fixed[l-1] = LOWER, l = 1...nr#\ bnd_fixed[nr] = LOWER#\ j_f_decomp[] = empty#\ b_X[l-1] = dL(no+l), l = 1...nr#\ b_X[nr] = etaL#\ Ko = G.G#\ fo = - g(1:no)#\\


Member Data Documentation

QPSchurInitKKTSystemHessianFull ConstrainedOptPack::QPSchurInitKKTSystemHessianRelaxed::init_kkt_full_ [private]

Definition at line 103 of file ConstrainedOptPack_QPSchurInitKKTSystemHessianRelaxed.hpp.


The documentation for this class was generated from the following file:
Generated on Wed May 12 21:57:15 2010 for MOOCHO (Single Doxygen Collection) by  doxygen 1.4.7