NLPInterfacePack: C++ Interfaces and Implementation for Non-Linear Programs  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | Public Attributes | List of all members
NLPInterfacePack::NLPSerialPreprocessExplJac::FirstOrderExplInfo Struct Reference

Struct for zero and explicit first order quantities that subclass must fill in. More...

#include <NLPInterfacePack_NLPSerialPreprocessExplJac.hpp>

Public Types

typedef std::valarray< value_type > val_t
 
typedef std::valarray< index_type > ivect_t
 

Public Member Functions

 FirstOrderExplInfo ()
 
 FirstOrderExplInfo (index_type *Gc_nz_in, val_t *Gc_val_in, ivect_t *Gc_ivect_in, jvect_t *Gc_jvect_in, index_type *Gh_nz_in, val_t *Gh_val_in, ivect_t *Gh_ivect_in, jvect_t *Gh_jvect_in, const ObjGradInfoSerial &obj_grad)
 

Public Attributes

size_typeGc_nz
 
val_tGc_val
 
ivect_tGc_ivect
 
jvect_t * Gc_jvect
 
size_typeGh_nz
 
val_tGh_val
 
ivect_tGh_ivect
 
jvect_t * Gh_jvect
 
DVector * Gf
 
value_type * f
 
DVector * c
 
DVector * h
 

Detailed Description

Struct for zero and explicit first order quantities that subclass must fill in.

When computing Gc and/or Gh, the subclass can be instructed to set the row and columns index arrays by setting Gc_ivect!=NULL and/or Gh_ivect!=NULL respecitively.

Objects of this type are passed on to subclasses and contain pointers to quantities to be updated. Note that NLP subclasses are not to resize the DVector or std::valarray objects Gc_val, Gc_ivect, Gc_jvect, Gh_val, Gh_ivect, Gh_jvect, *Gf, *c or h since the these will already be resized.

The storage format for the gradient matrices Gc and Gh use the coordinate data structure. For Gc, for instance, the elements are stored as:

for k = 0 ... Gc_nz
    Gc(Gc_ivect[k],Gc_jvect[k]) == Gc_val[k]

and all of the other matrix entries in Gc are implicitly zero.

In general, it is allowed for duplicate entries (Gc_ivect[k],Gc_jvect[k]) to exist with the convention that the corresponding Gc_val[k] are to be added in matrix operations. This is a relaxed requirement that can make things much more complicated for the code that accesses these matrix entries.

Definition at line 227 of file NLPInterfacePack_NLPSerialPreprocessExplJac.hpp.

Member Typedef Documentation

Constructor & Destructor Documentation

NLPInterfacePack::NLPSerialPreprocessExplJac::FirstOrderExplInfo::FirstOrderExplInfo ( )
inline
NLPInterfacePack::NLPSerialPreprocessExplJac::FirstOrderExplInfo::FirstOrderExplInfo ( index_type *  Gc_nz_in,
val_t Gc_val_in,
ivect_t Gc_ivect_in,
jvect_t *  Gc_jvect_in,
index_type *  Gh_nz_in,
val_t Gh_val_in,
ivect_t Gh_ivect_in,
jvect_t *  Gh_jvect_in,
const ObjGradInfoSerial obj_grad 
)
inline

Member Data Documentation

size_type* NLPInterfacePack::NLPSerialPreprocessExplJac::FirstOrderExplInfo::Gc_nz
val_t* NLPInterfacePack::NLPSerialPreprocessExplJac::FirstOrderExplInfo::Gc_val
ivect_t* NLPInterfacePack::NLPSerialPreprocessExplJac::FirstOrderExplInfo::Gc_ivect
jvect_t* NLPInterfacePack::NLPSerialPreprocessExplJac::FirstOrderExplInfo::Gc_jvect
size_type* NLPInterfacePack::NLPSerialPreprocessExplJac::FirstOrderExplInfo::Gh_nz
val_t* NLPInterfacePack::NLPSerialPreprocessExplJac::FirstOrderExplInfo::Gh_val
ivect_t* NLPInterfacePack::NLPSerialPreprocessExplJac::FirstOrderExplInfo::Gh_ivect
jvect_t* NLPInterfacePack::NLPSerialPreprocessExplJac::FirstOrderExplInfo::Gh_jvect
DVector* NLPInterfacePack::NLPSerialPreprocessExplJac::FirstOrderExplInfo::Gf
value_type* NLPInterfacePack::NLPSerialPreprocessExplJac::FirstOrderExplInfo::f
DVector* NLPInterfacePack::NLPSerialPreprocessExplJac::FirstOrderExplInfo::c
DVector* NLPInterfacePack::NLPSerialPreprocessExplJac::FirstOrderExplInfo::h

The documentation for this struct was generated from the following file: