Ipopt  3.11.9
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
Ipopt::IndexPCalculator::PrintImpl
virtual void PrintImpl(const Journalist &jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent, const std::string &prefix) const
Ipopt::IndexPCalculator::IndexPCalculator
IndexPCalculator(SmartPtr< SensBacksolver > backsolver, SmartPtr< SchurData > A_data)
This class is the implementation of the PCalculator that corresponds to IndexSchurData.
Ipopt::PColumn
Definition: SensIndexPCalculator.hpp:57
Ipopt::PColumn::nrows_
Index nrows_
Definition: SensIndexPCalculator.hpp:72
Ipopt
Definition: matlabjournal.hpp:14
Ipopt::Number
double Number
Type of all numbers.
Definition: IpTypes.hpp:17
Ipopt::PColumn::GetSchurMatrixRows
virtual void GetSchurMatrixRows(const std::vector< Index > *row_idx_B, Number *S) const
Ipopt::EJournalLevel
EJournalLevel
Print Level Enum.
Definition: IpJournalist.hpp:51
Ipopt::Index
int Index
Type of all indices of vectors, matrices etc.
Definition: IpTypes.hpp:19
Ipopt::PColumn::~PColumn
virtual ~PColumn()
Ipopt::SmartPtr
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:183
Ipopt::EJournalCategory
EJournalCategory
Category Selection Enum.
Definition: IpJournalist.hpp:70
Ipopt::IndexPCalculator::GetSchurMatrix
virtual bool GetSchurMatrix(const SmartPtr< const SchurData > &B, SmartPtr< Matrix > &S)
Function to extract a SchurMatrix corresponding to $B K^{-1} A$.
Ipopt::IndexPCalculator::ncols_
Index ncols_
Cols of P.
Definition: SensIndexPCalculator.hpp:50
Ipopt::PColumn::val_
Number * val_
Definition: SensIndexPCalculator.hpp:73
Ipopt::IndexPCalculator::~IndexPCalculator
virtual ~IndexPCalculator()
Ipopt::PColumn::PColumn
PColumn(Index nrows, Number *values)
This class provides an easy interface for PCalculators with data where columns are not necessarily in...
Ipopt::IndexPCalculator
Definition: SensIndexPCalculator.hpp:18
Ipopt::PColumn::Values
virtual const Number * Values() const
Ipopt::Journalist
Class responsible for all message output.
Definition: IpJournalist.hpp:135
Ipopt::PCalculator
Definition: SensPCalculator.hpp:18
Ipopt::IndexPCalculator::nrows_
Index nrows_
Rows of P = Rows of KKT.
Definition: SensIndexPCalculator.hpp:47
Ipopt::IndexPCalculator::ComputeP
virtual bool ComputeP()
Function to start the computation of P from E_0 and KKT.
Ipopt::OptionsList
This class stores a list of user set options.
Definition: IpOptionsList.hpp:33
Ipopt::ReferencedObject
ReferencedObject class.
Definition: IpReferenced.hpp:175
SensPCalculator.hpp
Ipopt::IndexPCalculator::cols_
std::map< Index, SmartPtr< PColumn > > cols_
Definition: SensIndexPCalculator.hpp:52
Ipopt::IndexPCalculator::InitializeImpl
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)
Overloaded from PCalculator.