117 diag[i+
fNx+
fMy] = zdiag[i];
137 if (
this != &source) {
virtual void SetMatrix(const TMatrixDSparse &a)
Set matrix to be decomposed .
static void Solve(const Int_t n, TArrayD &Aa, TArrayI &Aiw, TArrayD &Aw, const Int_t maxfrt, TVectorD &b, TArrayI &Aiw1, const Int_t nsteps, Int_t *icntl, Int_t *info)
Main routine for solving Ax=b.
virtual TMatrixTBase< Element > & ResizeTo(Int_t nrows, Int_t ncols, Int_t nr_nonzeros=-1)
Set size of the matrix to nrows x ncols with nr_nonzeros non-zero entries if nr_nonzeros > 0 .
TQpLinSolverBase & operator=(const TQpLinSolverBase &source)
Assignment opeartor.
virtual void Factor(TQpDataBase *prob, TQpVar *vars)
Sets up the matrix for the main linear system in "augmented system" form.
TDecompSparse fSolveSparse
virtual void Factor(TQpDataBase *prob, TQpVar *vars)
Sets up the matrix for the main linear system in "augmented system" form.
TQpLinSolverSparse & operator=(const TQpLinSolverSparse &source)
Assignment operator.
virtual void PutZDiagonal(TVectorD &zdiag)
Places the diagonal resulting from the bounds on Cx into the augmented system matrix.
virtual void SolveCompressed(TVectorD &rhs)
Perform the actual solve using the factors produced in factor.
virtual void PutXDiagonal(TVectorD &xdiag)
Places the diagonal resulting from the bounds on x into the augmented system matrix.