43#ifndef ROOT_TQpLinSolverBase
44#define ROOT_TQpLinSolverBase
#define ClassDefOverride(name, id)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
Mother of all ROOT objects.
Data for the general QP formulation.
Implementation of main solver for linear systems.
virtual void JoinRHS(TVectorD &rhs, TVectorD &rhs1, TVectorD &rhs2, TVectorD &rhs3)
Assembles a single vector object from three given vectors .
virtual void Solve(TQpDataBase *prob, TQpVar *vars, TQpResidual *resids, TQpVar *step)
Solves the system for a given set of residuals.
TQpLinSolverBase & operator=(const TQpLinSolverBase &source)
Assignment operator.
virtual void SolveCompressed(TVectorD &rhs)=0
virtual void Factor(TQpDataBase *prob, TQpVar *vars)
Sets up the matrix for the main linear system in "augmented system" form.
virtual void ComputeDiagonals(TVectorD &dd, TVectorD &omega, TVectorD &t, TVectorD &lambda, TVectorD &u, TVectorD &pi, TVectorD &v, TVectorD &gamma, TVectorD &w, TVectorD &phi)
Computes the diagonal matrices in the augmented system from the current set of variables.
virtual void PutXDiagonal(TVectorD &xdiag)=0
TQpLinSolverBase()
Default constructor.
virtual void SeparateVars(TVectorD &vars1, TVectorD &vars2, TVectorD &vars3, TVectorD &vars)
Extracts three component vectors from a given aggregated vector.
virtual void SolveXYZS(TVectorD &stepx, TVectorD &stepy, TVectorD &stepz, TVectorD &steps, TVectorD &ztemp, TQpDataBase *data)
Assemble right-hand side of augmented system and call SolveCompressed to solve it.
~TQpLinSolverBase() override
virtual void PutZDiagonal(TVectorD &zdiag)=0
default general problem formulation:
The Residuals class calculates and stores the quantities that appear on the right-hand side of the li...
Class containing the variables for the general QP formulation.