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

NlpLinsysDiag.hh

00001 #ifndef NLPLINSYSDIAG
00002 #define NLPLINSYSDIAG
00003 
00004 #include "IotrRefCount.hh"
00005 #include "IotrHandle.hh"
00006 
00007 class NlpIterate;
00008 class NlpResiduals;
00009 class NlpResidualShift;
00010 class NlpLinsysDiag;
00011 class NlpLinsysSol;
00012 class IotrVector;
00013 
00014 typedef Handle<IotrVector> IotrVectorHandle;
00015 
00037 class NlpLinsysDiag : public IotrRefCount {
00038 protected:
00039   IotrVectorHandle mDx;
00040   IotrVectorHandle mDy;
00041   IotrVectorHandle mDgamma;
00042   IotrVectorHandle mDphi;
00043   IotrVectorHandle mDlambda;
00044   IotrVectorHandle mDpi;
00045 public:
00046   IotrVector & Dx()         { return *mDx; }
00047   IotrVector & Dy()         { return *mDy; }
00048   IotrVector & Dgamma()  { return *mDgamma; }
00049   IotrVector & Dphi()    { return *mDphi; }
00050   IotrVector & Dlambda() { return *mDlambda; }
00051   IotrVector & Dpi()     { return *mDpi; }
00052 
00053   NlpLinsysDiag( IotrVector * x,      IotrVector * y,
00054                  IotrVector * lambda, IotrVector * pi,
00055                  IotrVector * gamma,  IotrVector * phi );
00056 
00057   virtual ~NlpLinsysDiag();
00058   virtual void calcDiagonal( NlpIterate & vars, NlpResiduals & resids,
00059                              NlpResidualShift & rshift );
00060   virtual void calcTrustDiagonal( NlpLinsysDiag & diag, double sigma );
00061 
00062   virtual void copyFrom( NlpLinsysDiag & diag );
00063   virtual void invertDual();
00064   virtual void squareRoot();
00065   virtual void copyInto( IotrVector & avec );
00066   virtual void inspect();
00067 };
00068 
00069 typedef Handle<NlpLinsysDiag> NlpLinsysDiagHandle;
00070 
00071 #endif

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