Ipopt  trunk
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
SensDenseGenSchurDriver.hpp
Go to the documentation of this file.
00001 // Copyright 2009, 2011 Hans Pirnay
00002 // All Rights Reserved.
00003 // This code is published under the Eclipse Public License.
00004 //
00005 // Date   : 2009-11-19
00006 
00007 #ifndef __ASIFTSCHURDRIVER_HPP__
00008 #define __ASIFTSCHURDRIVER_HPP__
00009 
00010 #include "SensSchurDriver.hpp"
00011 #include "SensBacksolver.hpp"
00012 #include "IpDenseGenMatrix.hpp"
00013 
00014 namespace Ipopt
00015 {
00016 
00017   class DenseGenSchurDriver: public SchurDriver
00018   {
00019 
00020   public:
00021 
00022     DenseGenSchurDriver(SmartPtr<SensBacksolver> backsolver,
00023                         SmartPtr<PCalculator> pcalc,
00024                         SmartPtr<SchurData> data_B);
00025 
00026     virtual ~DenseGenSchurDriver();
00027 
00029     virtual bool SchurBuild();
00030 
00032     virtual bool SchurFactorize();
00033 
00052     virtual bool SchurSolve(SmartPtr<IteratesVector> x,
00053                             SmartPtr<const IteratesVector> f,
00054                             SmartPtr<Vector> g,
00055                             SmartPtr<IteratesVector> Kf=NULL);
00056 
00062   private:
00063     SmartPtr<SchurData> ift_data_;
00064     SmartPtr<SensBacksolver> backsolver_;
00065     SmartPtr<DenseGenMatrix> S_;
00066 
00067   };
00068 }
00069 
00070 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines