/home/coin/SVN-release/CoinAll-1.1.0/Ipopt/src/Algorithm/LinearSolvers/IpTSymDependencyDetector.hpp

Go to the documentation of this file.
00001 // Copyright (C) 2007 International Business Machines and others.
00002 // All Rights Reserved.
00003 // This code is published under the Common Public License.
00004 //
00005 // $Id: IpTSymDependencyDetector.hpp 959 2007-04-19 22:45:03Z andreasw $
00006 //
00007 // Authors:  Andreas Waechter            IBM    2007-04-18
00008 
00009 #ifndef __IPTSYMDEPENDENCYDETECTOR_HPP__
00010 #define __IPTSYMDEPENDENCYDETECTOR_HPP__
00011 
00012 #include "IpTDependencyDetector.hpp"
00013 #include "IpTSymLinearSolver.hpp"
00014 
00015 namespace Ipopt
00016 {
00017 
00020   class TSymDependencyDetector: public TDependencyDetector
00021   {
00022   public:
00025     TSymDependencyDetector(TSymLinearSolver& tsym_linear_solver);
00026 
00027     virtual ~TSymDependencyDetector()
00028     {}
00030 
00032     virtual bool InitializeImpl(const OptionsList& options,
00033                                 const std::string& prefix);
00034 
00043     virtual bool DetermineDependentRows(Index n_rows, Index n_cols,
00044                                         Index n_jac_nz,
00045                                         Number* jac_c_vals,
00046                                         Index* jac_c_iRow,
00047                                         Index* jac_c_jCol,
00048                                         std::list<Index>& c_deps);
00049 
00052     static void RegisterOptions(SmartPtr<RegisteredOptions> roptions);
00053 
00054   private:
00064     TSymDependencyDetector();
00065 
00067     TSymDependencyDetector(const TSymDependencyDetector&);
00068 
00070     void operator=(const TSymDependencyDetector&);
00072 
00073     SmartPtr<const Journalist> jnlst_;
00074 
00075     SmartPtr<TSymLinearSolver> tsym_linear_solver_;
00076   };
00077 
00078 } // namespace Ipopt
00079 
00080 #endif

Generated on Sun Nov 14 14:06:35 2010 for Coin-All by  doxygen 1.4.7