Ipopt  3.11.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
SensIndexPCalculator.hpp
Go to the documentation of this file.
1 // Copyright 2009, 2011 Hans Pirnay
2 // All Rights Reserved.
3 // This code is published under the Eclipse Public License.
4 //
5 // Date : 2009-05-06
6 
7 #ifndef __ASINDEXPCALCULATOR_HPP__
8 #define __ASINDEXPCALCULATOR_HPP__
9 
10 #include "SensPCalculator.hpp"
11 
12 namespace Ipopt
13 {
14  /* Forward declarations */
15  class PColumn;
16 
18  {
22  public:
23 
25  SmartPtr<SchurData> A_data);
26 
27  virtual ~IndexPCalculator();
28 
30  virtual bool InitializeImpl(const OptionsList& options,
31  const std::string& prefix);
32 
33  virtual bool ComputeP();
34 
36 
37  virtual void PrintImpl(const Journalist& jnlst,
38  EJournalLevel level,
39  EJournalCategory category,
40  const std::string& name,
41  Index indent,
42  const std::string& prefix) const;
43 
44  private:
45 
48 
51 
52  std::map< Index, SmartPtr<PColumn> > cols_;
53 
54  };
55 
56  class PColumn : public ReferencedObject
57  {
61  public:
62  PColumn(Index nrows, Number* values);
63 
64  virtual ~PColumn();
65 
66  virtual void GetSchurMatrixRows(const std::vector<Index>* row_idx_B, Number* S) const;
67 
68  virtual const Number* Values() const;
69 
70  private:
71 
74  };
75 
76 }
77 
78 #endif