MOOCHO (Single Doxygen Collection) Version of the Day
Public Types | Public Member Functions | Public Attributes
NLPInterfacePack::NLPSerialPreprocessExplJac::FirstOrderExplInfo Struct Reference

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

#include <NLPInterfacePack_NLPSerialPreprocessExplJac.hpp>

List of all members.

Public Types

typedef std::valarray< value_type > val_t
typedef std::valarray< index_type > ivect_t
typedef std::valarray< index_type > jvect_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_type * Gc_nz
size_type * Gh_nz
value_type * f

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

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