Ipopt Documentation  
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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<SensBacksolver> backsolver,
26  SmartPtr<SchurData> A_data
27  );
28 
29  virtual ~IndexPCalculator();
30 
32  virtual bool InitializeImpl(
33  const OptionsList& options,
34  const std::string& prefix
35  );
36 
37  virtual bool ComputeP();
38 
39  virtual bool GetSchurMatrix(
42  );
43 
44  virtual void PrintImpl(
45  const Journalist& jnlst,
46  EJournalLevel level,
47  EJournalCategory category,
48  const std::string& name,
49  Index indent,
50  const std::string& prefix
51  ) const;
52 
53 private:
56 
59 
60  std::map<Index, SmartPtr<PColumn> > cols_;
61 
62 };
63 
67 {
68 public:
69  PColumn(
70  Number* values
71  );
72 
73  virtual ~PColumn();
74 
75  virtual void GetSchurMatrixRows(
76  const std::vector<Index>* row_idx_B,
77  Number* S
78  ) const;
79 
80  virtual const Number* Values() const;
81 
82 private:
84 };
85 
86 }
87 
88 #endif
This class provides an easy interface for PCalculators with data where columns are not necessarily in...
PColumn(Number *values)
virtual ~PColumn()
virtual void PrintImpl(const Journalist &jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent, const std::string &prefix) const
virtual const Number * Values() const
std::map< Index, SmartPtr< PColumn > > cols_
virtual void GetSchurMatrixRows(const std::vector< Index > *row_idx_B, Number *S) const
This class is the interface for implementations of any class that calculates the matrix of the follo...
virtual bool GetSchurMatrix(const SmartPtr< const SchurData > &B, SmartPtr< Matrix > &S)
Function to extract a SchurMatrix corresponding to $B K^{-1} A$.
double Number
Type of all numbers.
Definition: IpTypes.hpp:15
EJournalLevel
Print Level Enum.
Index nrows_
Rows of P = Rows of KKT.
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:171
Storing the reference count of all the smart pointers that currently reference it.
This class stores a list of user set options.
int Index
Type of all indices of vectors, matrices etc.
Definition: IpTypes.hpp:17
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)
Overloaded from PCalculator.
Class responsible for all message output.
virtual bool ComputeP()
Function to start the computation of P from E_0 and KKT.
IndexPCalculator(SmartPtr< SensBacksolver > backsolver, SmartPtr< SchurData > A_data)
This class is the implementation of the PCalculator that corresponds to IndexSchurData.
EJournalCategory
Category Selection Enum.