Ipopt Documentation  
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
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::cols_
std::map< Index, SmartPtr< PColumn > > cols_
Definition: SensIndexPCalculator.hpp:60
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
This class provides an easy interface for PCalculators with data where columns are not necessarily in...
Definition: SensIndexPCalculator.hpp:66
Ipopt
This file contains a base class for all exceptions and a set of macros to help with exceptions.
Definition: IpInexactAlgBuilder.hpp:13
Ipopt::Number
double Number
Type of all numbers.
Definition: IpTypes.hpp:15
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:31
Ipopt::Index
int Index
Type of all indices of vectors, matrices etc.
Definition: IpTypes.hpp:17
Ipopt::PColumn::PColumn
PColumn(Number *values)
Ipopt::PColumn::~PColumn
virtual ~PColumn()
Ipopt::SmartPtr
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:171
Ipopt::EJournalCategory
EJournalCategory
Category Selection Enum.
Definition: IpJournalist.hpp:51
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:58
Ipopt::PColumn::val_
Number * val_
Definition: SensIndexPCalculator.hpp:83
Ipopt::IndexPCalculator::~IndexPCalculator
virtual ~IndexPCalculator()
Ipopt::IndexPCalculator
Definition: SensIndexPCalculator.hpp:17
Ipopt::PColumn::Values
virtual const Number * Values() const
Ipopt::Journalist
Class responsible for all message output.
Definition: IpJournalist.hpp:116
Ipopt::PCalculator
This class is the interface for implementations of any class that calculates the matrix of the follo...
Definition: SensPCalculator.hpp:26
Ipopt::IndexPCalculator::nrows_
Index nrows_
Rows of P = Rows of KKT.
Definition: SensIndexPCalculator.hpp:55
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:32
Ipopt::ReferencedObject
Storing the reference count of all the smart pointers that currently reference it.
Definition: IpReferenced.hpp:169
SensPCalculator.hpp
Ipopt::IndexPCalculator::InitializeImpl
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)
Overloaded from PCalculator.