TQpLinSolverDens.h

Go to the documentation of this file.
00001 // @(#)root/quadp:$Id: TQpLinSolverDens.h 20882 2007-11-19 11:31:26Z rdm $
00002 // Author: Eddy Offermann   May 2004
00003 
00004 /*************************************************************************
00005  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
00006  * All rights reserved.                                                  *
00007  *                                                                       *
00008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
00009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
00010  *************************************************************************/
00011 
00012 /*************************************************************************
00013  * Parts of this file are copied from the OOQP distribution and          *
00014  * are subject to the following license:                                 *
00015  *                                                                       *
00016  * COPYRIGHT 2001 UNIVERSITY OF CHICAGO                                  *
00017  *                                                                       *
00018  * The copyright holder hereby grants you royalty-free rights to use,    *
00019  * reproduce, prepare derivative works, and to redistribute this software*
00020  * to others, provided that any changes are clearly documented. This     *
00021  * software was authored by:                                             *
00022  *                                                                       *
00023  *   E. MICHAEL GERTZ      gertz@mcs.anl.gov                             *
00024  *   Mathematics and Computer Science Division                           *
00025  *   Argonne National Laboratory                                         *
00026  *   9700 S. Cass Avenue                                                 *
00027  *   Argonne, IL 60439-4844                                              *
00028  *                                                                       *
00029  *   STEPHEN J. WRIGHT     swright@cs.wisc.edu                           *
00030  *   Computer Sciences Department                                        *
00031  *   University of Wisconsin                                             *
00032  *   1210 West Dayton Street                                             *
00033  *   Madison, WI 53706   FAX: (608)262-9777                              *
00034  *                                                                       *
00035  * Any questions or comments may be directed to one of the authors.      *
00036  *                                                                       *
00037  * ARGONNE NATIONAL LABORATORY (ANL), WITH FACILITIES IN THE STATES OF   *
00038  * ILLINOIS AND IDAHO, IS OWNED BY THE UNITED STATES GOVERNMENT, AND     *
00039  * OPERATED BY THE UNIVERSITY OF CHICAGO UNDER PROVISION OF A CONTRACT   *
00040  * WITH THE DEPARTMENT OF ENERGY.                                        *
00041  *************************************************************************/
00042 
00043 #ifndef ROOT_TQpLinSolverDens
00044 #define ROOT_TQpLinSolverDens
00045 
00046 #include "TQpLinSolverBase.h"
00047 #ifndef ROOT_TQpProbDens
00048 #include "TQpProbDens.h"
00049 #endif
00050 #ifndef ROOT_TQpDataDens
00051 #include "TQpDataDens.h"
00052 #endif
00053 
00054 #include "TDecompLU.h"
00055 
00056 ///////////////////////////////////////////////////////////////////////////
00057 //                                                                       //
00058 // Implements the aspects of the solvers for dense general QP            //
00059 // formulation that are specific to the dense case.                      //
00060 //                                                                       //
00061 ///////////////////////////////////////////////////////////////////////////
00062 
00063 class TQpProbDens;
00064 class TQpLinSolverDens : public TQpLinSolverBase
00065 {
00066 
00067 protected:
00068 
00069    TMatrixDSym fKkt;
00070    TDecompLU   fSolveLU;
00071 
00072 public:
00073    TQpLinSolverDens() {}
00074    TQpLinSolverDens(TQpProbDens *factory,TQpDataDens *data);
00075    TQpLinSolverDens(const TQpLinSolverDens &another);
00076 
00077    virtual ~TQpLinSolverDens() {}
00078 
00079    virtual void Factor         (TQpDataBase *prob,TQpVar *vars);
00080    virtual void SolveCompressed(TVectorD &rhs);
00081    virtual void PutXDiagonal   (TVectorD &xdiag);
00082    virtual void PutZDiagonal   (TVectorD &zdiag);
00083 
00084    TQpLinSolverDens &operator= (const TQpLinSolverDens &source);
00085 
00086    ClassDef(TQpLinSolverDens,1)                // Qp linear solver class for Dens formulation
00087 };
00088 #endif

Generated on Tue Jul 5 14:28:05 2011 for ROOT_528-00b_version by  doxygen 1.5.1