43 #ifndef ROOT_TQpLinSolverBase
44 #define ROOT_TQpLinSolverBase
66 class TQpLinSolverBase :
public TObject
91 TQpProbBase *fFactory;
95 TQpLinSolverBase(TQpProbBase *factory,TQpDataBase *data);
96 TQpLinSolverBase(
const TQpLinSolverBase &another);
98 virtual ~TQpLinSolverBase() {}
100 virtual void Factor (TQpDataBase *prob,TQpVar *vars);
105 virtual void Solve (TQpDataBase *prob,TQpVar *vars,TQpResidual *resids,TQpVar *step);
113 virtual void JoinRHS (TVectorD &rhs, TVectorD &rhs1,TVectorD &rhs2,TVectorD &rhs3);
119 virtual void SeparateVars (TVectorD &vars1,TVectorD &vars2,TVectorD &vars3,TVectorD &vars);
127 virtual void SolveXYZS (TVectorD &stepx,TVectorD &stepy,TVectorD &stepz,TVectorD &steps,
128 TVectorD &ztemp,TQpDataBase *data);
132 virtual void SolveCompressed (TVectorD &rhs) = 0;
139 virtual void PutXDiagonal (TVectorD &xdiag) = 0;
142 virtual void PutZDiagonal (TVectorD& zdiag) = 0;
145 virtual void ComputeDiagonals(TVectorD &dd,TVectorD &omega,TVectorD &t, TVectorD &lambda,
146 TVectorD &u, TVectorD &pi,TVectorD &v, TVectorD &gamma,
147 TVectorD &w, TVectorD &phi);
151 TQpLinSolverBase &operator= (
const TQpLinSolverBase &source);
153 ClassDef(TQpLinSolverBase,1)