Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TQpLinSolverSparse.h
Go to the documentation of this file.
1// @(#)root/quadp:$Id$
2// Author: Eddy Offermann May 2004
3
4/*************************************************************************
5 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12/*************************************************************************
13 * Parts of this file are copied from the OOQP distribution and *
14 * are subject to the following license: *
15 * *
16 * COPYRIGHT 2001 UNIVERSITY OF CHICAGO *
17 * *
18 * The copyright holder hereby grants you royalty-free rights to use, *
19 * reproduce, prepare derivative works, and to redistribute this software*
20 * to others, provided that any changes are clearly documented. This *
21 * software was authored by: *
22 * *
23 * E. MICHAEL GERTZ gertz@mcs.anl.gov *
24 * Mathematics and Computer Science Division *
25 * Argonne National Laboratory *
26 * 9700 S. Cass Avenue *
27 * Argonne, IL 60439-4844 *
28 * *
29 * STEPHEN J. WRIGHT swright@cs.wisc.edu *
30 * Computer Sciences Department *
31 * University of Wisconsin *
32 * 1210 West Dayton Street *
33 * Madison, WI 53706 FAX: (608)262-9777 *
34 * *
35 * Any questions or comments may be directed to one of the authors. *
36 * *
37 * ARGONNE NATIONAL LABORATORY (ANL), WITH FACILITIES IN THE STATES OF *
38 * ILLINOIS AND IDAHO, IS OWNED BY THE UNITED STATES GOVERNMENT, AND *
39 * OPERATED BY THE UNIVERSITY OF CHICAGO UNDER PROVISION OF A CONTRACT *
40 * WITH THE DEPARTMENT OF ENERGY. *
41 *************************************************************************/
42
43#ifndef ROOT_TQpLinSolverSparse
44#define ROOT_TQpLinSolverSparse
45
46#include "TQpLinSolverBase.h"
47#include "TQpProbSparse.h"
48#include "TQpDataSparse.h"
49
50#include "TDecompSparse.h"
51
52///////////////////////////////////////////////////////////////////////////
53// //
54// Implements the aspects of the solvers for dense general QP //
55// formulation that are specific to the dense case. //
56// //
57///////////////////////////////////////////////////////////////////////////
58
59class TQpProbSparse;
61{
62
63protected:
64
67
68public:
72
73 ~TQpLinSolverSparse() override {}
74
75 void Factor (TQpDataBase *prob,TQpVar *vars) override;
76 void SolveCompressed(TVectorD &rhs) override;
77 void PutXDiagonal (TVectorD &xdiag) override;
78 void PutZDiagonal (TVectorD &zdiag) override;
79
81
82 ClassDefOverride(TQpLinSolverSparse,1) // Qp linear solver class for Sparse formulation
83};
84#endif
#define ClassDefOverride(name, id)
Definition Rtypes.h:346
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
Sparse Symmetric Decomposition class.
Data for the general QP formulation.
Definition TQpDataBase.h:61
Data for the sparse QP formulation.
Implementation of main solver for linear systems.
Implements the aspects of the solvers for dense general QP formulation that are specific to the dense...
TDecompSparse fSolveSparse
void PutZDiagonal(TVectorD &zdiag) override
Places the diagonal resulting from the bounds on Cx into the augmented system matrix.
void PutXDiagonal(TVectorD &xdiag) override
Places the diagonal resulting from the bounds on x into the augmented system matrix.
void Factor(TQpDataBase *prob, TQpVar *vars) override
Sets up the matrix for the main linear system in "augmented system" form.
TQpLinSolverSparse & operator=(const TQpLinSolverSparse &source)
Assignment operator.
void SolveCompressed(TVectorD &rhs) override
Perform the actual solve using the factors produced in factor.
dense matrix problem formulation
Class containing the variables for the general QP formulation.
Definition TQpVar.h:60