00001
00002
00003
00004
00005 #ifndef HUBERFACTORY
00006 #define HUBERFACTORY
00007
00008 #include "ProblemFormulation.h"
00009
00025 class Huber : public ProblemFormulation {
00026 public:
00027
00029 Huber() {};
00030
00032 virtual Data * makeData( int nobservations, int npredictors,
00033 double cutoff,
00034 double * dXt = 0, double * dY = 0 );
00035
00037 virtual Data * makeRandomData( int nobservations, int npredictors,
00038 double cutoff );
00039
00042 virtual Data * makeDataFromText(char filename[],
00043 double cutoff, int &iErr);
00044
00046 virtual Residuals * makeResiduals( Data * prob_in );
00047
00049 virtual LinearSystem * makeLinsys( Data * prob_in );
00050
00052 virtual Variables * makeVariables( Data * prob_in );
00053
00056 virtual Variables * makeVariables( Data * prob_in,
00057 double * beta, double * t,
00058 double * lambda1, double * lambda2,
00059 double * gamma1, double * gamma2 );
00060
00062 virtual ~Huber();
00063 };
00064
00065 #endif