Ipopt 3.11.9
Loading...
Searching...
No Matches
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
12namespace Ipopt
13{
14 /* Forward declarations */
15 class PColumn;
16
18 {
22 public:
23
25 SmartPtr<SchurData> A_data);
26
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
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
std::map< Index, SmartPtr< PColumn > > cols_
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)
Overloaded from PCalculator.
virtual void PrintImpl(const Journalist &jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent, const std::string &prefix) const
IndexPCalculator(SmartPtr< SensBacksolver > backsolver, SmartPtr< SchurData > A_data)
This class is the implementation of the PCalculator that corresponds to IndexSchurData.
virtual bool ComputeP()
Function to start the computation of P from E_0 and KKT.
Index nrows_
Rows of P = Rows of KKT.
virtual bool GetSchurMatrix(const SmartPtr< const SchurData > &B, SmartPtr< Matrix > &S)
Function to extract a SchurMatrix corresponding to $B K^{-1} A$.
Class responsible for all message output.
This class stores a list of user set options.
virtual void GetSchurMatrixRows(const std::vector< Index > *row_idx_B, Number *S) const
virtual ~PColumn()
virtual const Number * Values() const
PColumn(Index nrows, Number *values)
This class provides an easy interface for PCalculators with data where columns are not necessarily in...
ReferencedObject class.
Template class for Smart Pointers.
EJournalCategory
Category Selection Enum.
int Index
Type of all indices of vectors, matrices etc.
Definition IpTypes.hpp:19
EJournalLevel
Print Level Enum.
double Number
Type of all numbers.
Definition IpTypes.hpp:17