Main Page   Modules   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages  

CuterSparseFunctional.hh

00001 #ifndef CUTERSPARSEFUNCTIONAL
00002 #define CUTERSPARSEFUNCTIONAL
00003 
00016 #include "CuterFunctional.hh"
00017 
00018 #include "IotrHandle.hh"
00019 
00020 class IotrVector;
00021 
00025 class CuterSparseFunctional : public CuterFunctional {
00026 protected:
00027   int mHmz, mJmz;
00028   //specializes ConcreteFunctional::concreteGrads
00029   virtual void concreteGrads( IotrVector & g, GenMatrix & J,
00030                               IotrVector & x);
00031   //specializes ConcreteFunctional::concreteHess
00032   virtual void concreteHess( SymMatrix & H, IotrVector & x, IotrVector & Lm);
00033 public:
00034 
00038   CuterSparseFunctional( CuterAdaptor & a );
00039   virtual PrimalDualSystem *
00040   newPrimalDualSystem( ElementGather * iclow, ElementGather * icupp,
00041                        ElementGather * ieq,
00042                        ElementGather * ixlow, ElementGather * ixupp,
00043                        IotrMask * aXmask );
00044   virtual GenMatrix  * newJacobianMatrix() const;
00045   virtual SymMatrix  * newHessianMatrix()  const;
00046 
00047   virtual int hmz() { return mHmz; }
00048   virtual int jmz() { return mJmz; }
00049   virtual void writeConfiguration( std::ostream & out, char indent[] );
00050 };
00051 
00052 
00053 typedef Handle<CuterSparseFunctional> CuterSparseFunctionalHandle;
00054 
00059 #endif

Generated on Wed Aug 27 10:03:41 2003 for iotr by doxygen1.2.18