00001
00002
00003
00004
00005 #ifndef QPEXAMPLEDENSELINSYS_H
00006 #define QPEXAMPLEDENSELINSYS_H
00007
00008 #include "LinearSystem.h"
00009
00010 class Data;
00011 class Variables;
00012 class Residuals;
00013 class DoubleLinearSolver;
00014 class LinearAlgebraPackage;
00015 class OoqpVector;
00016 #include "OoqpVectorHandle.h"
00017 #include "DenseSymMatrixHandle.h"
00018
00025 class QpExampleDenseLinsys : public LinearSystem
00026 {
00027 protected:
00028
00031 DenseSymMatrix * Mat;
00032
00034 int nx;
00035
00037 int my;
00038
00040 int mz;
00041
00043 DoubleLinearSolver * solver;
00044
00045 QpExampleDenseLinsys(){};
00046 LinearAlgebraPackage * la;
00047
00048 public:
00049
00050 QpExampleDenseLinsys( LinearAlgebraPackage * la, DenseSymMatrix * Mat,
00051 DoubleLinearSolver * solver, int nx, int my, int mz );
00052
00053 virtual ~QpExampleDenseLinsys();
00054
00057 virtual void factor(Data *prob, Variables *vars);
00058
00060 virtual void solve(Data *prob, Variables *vars, Residuals *rhs,
00061 Variables *step);
00062
00069 virtual void joinRHS( OoqpVector& rhs1,
00070 OoqpVector& rhs2,
00071 OoqpVector& rhs );
00072
00079 virtual void separateVars( OoqpVector& vars,
00080 OoqpVector& vars1,
00081 OoqpVector& vars2 );
00082 };
00083
00084
00085 #endif
00086