ROOT  6.06/09
Reference Guide
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 #ifndef ROOT_TQpProbSparse
48 #include "TQpProbSparse.h"
49 #endif
50 #ifndef ROOT_TQpDataSparse
51 #include "TQpDataSparse.h"
52 #endif
53 
54 #include "TDecompSparse.h"
55 
56 ///////////////////////////////////////////////////////////////////////////
57 // //
58 // Implements the aspects of the solvers for dense general QP //
59 // formulation that are specific to the dense case. //
60 // //
61 ///////////////////////////////////////////////////////////////////////////
62 
63 class TQpProbSparse;
65 {
66 
67 protected:
68 
71 
72 public:
75  TQpLinSolverSparse(const TQpLinSolverSparse &another);
76 
77  virtual ~TQpLinSolverSparse() {}
78 
79  virtual void Factor (TQpDataBase *prob,TQpVar *vars);
80  virtual void SolveCompressed(TVectorD &rhs);
81  virtual void PutXDiagonal (TVectorD &xdiag);
82  virtual void PutZDiagonal (TVectorD &zdiag);
83 
85 
86  ClassDef(TQpLinSolverSparse,1) // Qp linear solver class for Sparse formulation
87 };
88 #endif
virtual void PutXDiagonal(TVectorD &xdiag)
Places the diagonal resulting from the bounds on x into the augmented system matrix.
TQpLinSolverSparse & operator=(const TQpLinSolverSparse &source)
Assignment operator.
#define ClassDef(name, id)
Definition: Rtypes.h:254
virtual void SolveCompressed(TVectorD &rhs)
Perform the actual solve using the factors produced in factor.
virtual void Factor(TQpDataBase *prob, TQpVar *vars)
Sets up the matrix for the main linear system in "augmented system" form.
TDecompSparse fSolveSparse
virtual void PutZDiagonal(TVectorD &zdiag)
Places the diagonal resulting from the bounds on Cx into the augmented system matrix.
Definition: TQpVar.h:65