00001 /* OOQP * 00002 * Authors: E. Michael Gertz, Stephen J. Wright * 00003 * (C) 2001 University of Chicago. See Copyright Notification in OOQP */ 00004 00005 #ifndef HuberLINSYS_H 00006 #define HuberLINSYS_H 00007 00008 #include "LinearSystem.h" 00009 00010 class Data; 00011 class Variables; 00012 class Residuals; 00013 class DoubleLinearSolver; 00014 00015 #include "DenseSymMatrixHandle.h" 00016 #include "SimpleVectorHandle.h" 00017 00025 class HuberLinsys : public LinearSystem 00026 { 00027 private: 00030 DenseSymMatrixHandle L; 00031 00034 DoubleLinearSolver * solver; 00035 00038 SimpleVectorHandle mDinv; 00039 00042 SimpleVectorHandle mDinvColX, mColOfL; 00043 public: 00044 00045 00046 HuberLinsys( Data * prob ); 00047 ~HuberLinsys(); 00048 virtual void factor(Data *prob, Variables *vars); 00049 virtual void solve(Data *prob, Variables *vars, Residuals *rhs, 00050 Variables *step); 00051 }; 00052 00053 00054 #endif 00055