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

DensePrimalDualSystem.hh

Go to the documentation of this file.
00001 #ifndef DENSEPRIMALDUALSYSTEM
00002 #define DENSEPRIMALDUALSYSTEM
00003 
00012 #include "PrimalDualSystem.hh"
00013 
00014 class DenseSymSolver;
00015 class DenseSymMatrix;
00016 class IotrMaskSeq;
00017 
00018 typedef Handle<DenseSymMatrix> DenseSymMatrixHandle;
00019 typedef Handle<DenseSymSolver> DenseSymSolverHandle;
00020 typedef Handle<IotrMaskSeq>    IotrMaskSeqHandle;
00021 
00026 class DensePrimalDualSystem : public PrimalDualSystem {
00027 protected:
00028   DenseSymMatrixHandle mMatrix;
00029   DenseSymSolverHandle mSolver;
00030   IotrMaskSeqHandle   mXmask;
00031 public:
00032   DensePrimalDualSystem( ElementGather * iclow, ElementGather * icupp,
00033                          ElementGather * ieq,   
00034                          ElementGather * ixlow, ElementGather * ixupp,
00035                          DenseSymMatrix * matrix, DenseSymSolver * solver,
00036                          IotrMaskSeq * aXmask );
00037 
00038   virtual void assemble( GenMatrix & J, SymMatrix & H,
00039                          IotrVector & Dx, IotrVector & omega );
00040 
00041   virtual void matrixChanged();
00042   virtual void basicSolve( IotrVector & xsol,
00043                            IotrVector & rc );
00044 
00045   virtual int isConvex();
00046   DenseSymMatrix & matrix() { return *mMatrix; }
00047   DenseSymSolver & solver() { return *mSolver; }
00048 };
00049 
00050 typedef Handle<DensePrimalDualSystem> DensePrimalDualSystemHandle;
00051 
00052 #endif

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