- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

# /home/coin/SVN-release/Ipopt-3.2.1/Ipopt/src/Algorithm/LinearSolvers/IpTSymScalingMethod.hpp

Go to the documentation of this file.

    00001 // Copyright (C) 2004, 2006 International Business Machines and others.
    00002 // All Rights Reserved.
    00003 // This code is published under the Common Public License.
    00004 //
    00005 // $Id: IpTSymScalingMethod.hpp 759 2006-07-07 03:07:08Z andreasw $
    00006 //
    00007 // Authors:  Carl Laird, Andreas Waechter     IBM    2004-03-17
    00008
    00009 #ifndef __IPTSYMSCALINGMETHOD_HPP__
    00010 #define __IPTSYMSCALINGMETHOD_HPP__
    00011
    00012 #include "IpUtils.hpp"
    00013 #include "IpAlgStrategy.hpp"
    00014
    00015 namespace Ipopt
    00016 {
    00017
    00018   DECLARE_STD_EXCEPTION(ERROR_IN_LINEAR_SCALING_METHOD);
    00019
    00023   class TSymScalingMethod: public AlgorithmStrategyObject
    00024   {
    00025   public:
    00028     TSymScalingMethod()
    00029     {}
    00030
    00031     ~TSymScalingMethod()
    00032     {}
    00034
    00036     virtual bool InitializeImpl(const OptionsList& options,
    00037                                 const std::string& prefix) = 0;
    00038
    00041     virtual bool ComputeSymTScalingFactors(Index n,
    00042                                            Index nnz,
    00043                                            const Index* airn,
    00044                                            const Index* ajcn,
    00045                                            const double* a,
    00046                                            double* scaling_factors) = 0;
    00047   private:
    00055     TSymScalingMethod(const TSymScalingMethod&);
    00056
    00058     void operator=(const TSymScalingMethod&);
    00059   };
    00060
    00061 } // namespace Ipopt
    00062
    00063 #endif