Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TQpLinSolverDens.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_TQpLinSolverDens
44#define ROOT_TQpLinSolverDens
45
46#include "TQpLinSolverBase.h"
47#include "TQpProbDens.h"
48#include "TQpDataDens.h"
49
50#include "TDecompLU.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 TQpProbDens;
61{
62
63protected:
64
67
68public:
71 TQpLinSolverDens(const TQpLinSolverDens &another);
72
73 virtual ~TQpLinSolverDens() {}
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(TQpLinSolverDens,1) // Qp linear solver class for Dens formulation
83};
84#endif
#define ClassDef(name, id)
Definition Rtypes.h:325
LU Decomposition class.
Definition TDecompLU.h:24
Data for the general QP formulation.
Definition TQpDataBase.h:61
Data for the dense QP formulation.
Definition TQpDataDens.h:63
Implementation of main solver for linear systems.
Implements the aspects of the solvers for dense general QP formulation that are specific to the dense...
virtual void PutXDiagonal(TVectorD &xdiag)
Places the diagonal resulting from the bounds on x into the augmented system matrix.
TQpLinSolverDens & operator=(const TQpLinSolverDens &source)
Assignment operator.
virtual void PutZDiagonal(TVectorD &zdiag)
Places the diagonal resulting from the bounds on Cx into the augmented system matrix.
virtual void Factor(TQpDataBase *prob, TQpVar *vars)
Sets up the matrix for the main linear system in "augmented system" form.
virtual void SolveCompressed(TVectorD &rhs)
Perform the actual solve using the factors produced in factor.
virtual ~TQpLinSolverDens()
dense matrix problem formulation
Definition TQpProbDens.h:61
Class containing the variables for the general QP formulation.
Definition TQpVar.h:60