Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

SvmVars.h

00001 /* OOQP                                                               *
00002  * Authors: E. Michael Gertz, Stephen J. Wright                       *
00003  * (C) 2001 University of Chicago. See Copyright Notification in OOQP */
00004 
00005 #ifndef SVMVARS_H
00006 #define SVMVARS_H
00007 
00008 #include "SimpleVectorHandle.h"
00009 #include <iostream>
00010 #include <fstream>
00011 using namespace std;
00012 
00013 #include "Variables.h"
00014 
00022 class SvmVars : public Variables
00023 {
00024 public:
00025 
00027   int hyperplanedim;
00028 
00030   int nobservations;
00031 
00035   SimpleVectorHandle z, w, u, v, s;
00036   double beta;
00037 
00040   SvmVars(int hyperplanedim_in, int nobservations_in);
00041 
00045   SvmVars(int hyperplanedim_in, int nobservations_in,
00046           double w[], double v[], double z[], double u[], double s[] );
00047 
00049   virtual ~SvmVars();
00050 
00052   virtual void saxpy( Variables *b, double alpha );
00053 
00054   virtual void negate();
00055 
00056   virtual double mu();
00057 
00058   virtual double mustep(Variables *step, double alpha);
00059 
00060   virtual double stepbound( Variables *b );
00061 
00062   virtual void interiorPoint( double alpha, double beta );
00063   virtual void shiftBoundVariables( double alpha, double beta );
00064   virtual double violation();
00065 
00066   virtual void print();
00067 
00070   virtual void printCoefs();
00071 
00072   virtual void copy(Variables *b);
00073 
00074   virtual double findBlocking( Variables * step, 
00075                                double & primalValue,
00076                                double & primalStep,
00077                                double & dualValue,
00078                                double & dualStep,
00079                                int& firstOrSecond );
00080 
00082   virtual void asMfile( ostream& os );
00083 
00084   virtual double onenorm();
00085   virtual double infnorm();
00086 };
00087 
00088 #endif
00089 
00090 
00091 
00092 

Generated on Wed Mar 22 13:58:33 2006 for OOQP by doxygen 1.3.5