- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

# /home/coin/SVN-release/Ipopt-3.7.1/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 1324 2008-09-16 14:19:26Z 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