Ipopt 3.12.10

- Main Page
- Classes
- Files

- File List
- File Members

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
17 class IndexPCalculator : public PCalculator
18 {
22 public:
23
24 IndexPCalculator(SmartPtr<SensBacksolver> backsolver,
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
35 virtual bool GetSchurMatrix(const SmartPtr<const SchurData>& B, SmartPtr<Matrix>& S);
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
47 Index nrows_;
48
50 Index ncols_;
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
72 Index nrows_;
73 Number* val_;
74 };
75
76 }
77
78 #endif
Ipopt::PColumn
Definition: SensIndexPCalculator.hpp:56
Ipopt::IndexPCalculator::cols_
std::map< Index, SmartPtr< PColumn > > cols_
Definition: SensIndexPCalculator.hpp:52
Ipopt::IndexPCalculator::~IndexPCalculator
virtual ~IndexPCalculator()
Ipopt::PColumn::~PColumn
virtual ~PColumn()
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::PColumn::Values
virtual const Number * Values() const
Ipopt::PColumn::GetSchurMatrixRows
virtual void GetSchurMatrixRows(const std::vector< Index > *row_idx_B, Number *S) const
Ipopt::PCalculator
Definition: SensPCalculator.hpp:17
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::Number
double Number
Type of all numbers.
Definition: IpTypes.hpp:17
Ipopt::IndexPCalculator::ncols_
Index ncols_
Cols of P.
Definition: SensIndexPCalculator.hpp:50
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::EJournalLevel
EJournalLevel
Print Level Enum.
Definition: IpJournalist.hpp:51
Ipopt::IndexPCalculator::nrows_
Index nrows_
Rows of P = Rows of KKT.
Definition: SensIndexPCalculator.hpp:47
Ipopt::SmartPtr
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:172
Ipopt::ReferencedObject
ReferencedObject class.
Definition: IpReferenced.hpp:174
Ipopt::OptionsList
This class stores a list of user set options.
Definition: IpOptionsList.hpp:32
Ipopt::Index
int Index
Type of all indices of vectors, matrices etc.
Definition: IpTypes.hpp:19
Ipopt::IndexPCalculator::InitializeImpl
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)
Overloaded from PCalculator.
Ipopt::Journalist
Class responsible for all message output.
Definition: IpJournalist.hpp:134
Ipopt::IndexPCalculator
Definition: SensIndexPCalculator.hpp:17
Ipopt::IndexPCalculator::ComputeP
virtual bool ComputeP()
Function to start the computation of P from E_0 and KKT.
Ipopt::IndexPCalculator::IndexPCalculator
IndexPCalculator(SmartPtr< SensBacksolver > backsolver, SmartPtr< SchurData > A_data)
This class is the implementation of the PCalculator that corresponds to IndexSchurData.
SensPCalculator.hpp
Ipopt::PColumn::val_
Number * val_
Definition: SensIndexPCalculator.hpp:73
Ipopt::PColumn::nrows_
Index nrows_
Definition: SensIndexPCalculator.hpp:72
Ipopt::EJournalCategory
EJournalCategory
Category Selection Enum.
Definition: IpJournalist.hpp:70