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: IpMc19TSymScalingMethod.hpp 699 2006-04-05 21:05:18Z andreasw $ 00006 // 00007 // Authors: Carl Laird, Andreas Waechter IBM 2004-03-17 00008 00009 #ifndef __IPMC19TSYMSCALINGMETHOD_HPP__ 00010 #define __IPMC19TSYMSCLAINGMETHOD_HPP__ 00011 00012 #include "IpUtils.hpp" 00013 #include "IpTSymScalingMethod.hpp" 00014 00015 namespace Ipopt 00016 { 00017 00021 class Mc19TSymScalingMethod: public TSymScalingMethod 00022 { 00023 public: 00026 Mc19TSymScalingMethod() 00027 {} 00028 00029 virtual ~Mc19TSymScalingMethod() 00030 {} 00032 00034 virtual bool InitializeImpl(const OptionsList& options, 00035 const std::string& prefix); 00036 00039 virtual bool ComputeSymTScalingFactors(Index n, 00040 Index nnz, 00041 const ipfint* airn, 00042 const ipfint* ajcn, 00043 const double* a, 00044 double* scaling_factors); 00045 private: 00053 Mc19TSymScalingMethod(const Mc19TSymScalingMethod&); 00054 00056 void operator=(const Mc19TSymScalingMethod&); 00057 }; 00058 00059 00060 } // namespace Ipopt 00061 00062 #endif