Ipopt Documentation  
 
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 */
15class PColumn;
16
18{
22public:
23
25 SmartPtr<SensBacksolver> backsolver,
27 );
28
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
53private:
56
59
60 std::map<Index, SmartPtr<PColumn> > cols_;
61
62};
63
67{
68public:
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
82private:
84};
85
86}
87
88#endif
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.
std::map< Index, SmartPtr< PColumn > > cols_
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.
This class is the interface for implementations of any class that calculates the matrix of the follo...
This class provides an easy interface for PCalculators with data where columns are not necessarily in...
virtual void GetSchurMatrixRows(const std::vector< Index > *row_idx_B, Number *S) const
PColumn(Number *values)
virtual ~PColumn()
virtual const Number * Values() const
Storing the reference count of all the smart pointers that currently reference it.
Template class for Smart Pointers.
This file contains a base class for all exceptions and a set of macros to help with exceptions.
ipindex Index
Type of all indices of vectors, matrices etc.
Definition IpTypes.hpp:20
EJournalCategory
Category Selection Enum.
EJournalLevel
Print Level Enum.
ipnumber Number
Type of all numbers.
Definition IpTypes.hpp:17