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
74
75 virtual void Factor (TQpDataBase *prob,TQpVar *vars);
76 virtual void SolveCompressed(TVectorD &rhs);
77 virtual void PutXDiagonal (TVectorD &xdiag);
78 virtual void PutZDiagonal (TVectorD &zdiag);
79
81
82 ClassDef(TQpLinSolverSparse,1) // Qp linear solver class for Sparse formulation
83};
84#endif
#define ClassDef(name, id)
Definition Rtypes.h:325
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
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.
dense matrix problem formulation
Class containing the variables for the general QP formulation.
Definition TQpVar.h:60