# Ipopt::PCalculator Class Reference

`#include <SensPCalculator.hpp>`

Inheritance diagram for Ipopt::PCalculator:
[legend]

List of all members.

## Public Member Functions
| PCalculator (SmartPtr< SensBacksolver > backsolver, SmartPtr< SchurData > A_data)
| This class is the interface for implementations of any class that calculates the matrix of the following matrix: .
virtual | ~PCalculator ()
virtual bool | InitializeImpl (const OptionsList &options, const std::string &prefix)
| Overloaded from AlgorithmStrategyObject.
virtual bool | ComputeP ()=0
| Function to start the computation of P from E_0 and KKT.
virtual bool | GetSchurMatrix (const SmartPtr< const SchurData > &B, SmartPtr< Matrix > &S)=0
| Function to extract a SchurMatrix corresponding to $B K^{-1} A$.
virtual void | PrintImpl (const Journalist &jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent, const std::string &prefix) const =0
void | Print (const Journalist &jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent=0, const std::string &prefix="") const
void | Print (SmartPtr< const Journalist > jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent, const std::string &prefix) const
SmartPtr< SensBacksolver > | Solver () const
| Accessor methods for data and backsolver.
SmartPtr< const SchurData > | data_A () const
SmartPtr< SchurData > | data_A_nonconst () const
void | reset_data_A ()
## Private Attributes
SmartPtr< SensBacksolver > | backsolver_
SmartPtr< const SchurData > | data_A_init
SmartPtr< SchurData > | data_A_

## Detailed Description

Definition at line 17 of file SensPCalculator.hpp.

## Constructor & Destructor Documentation

Ipopt::PCalculator::PCalculator | ( | SmartPtr< SensBacksolver > | backsolver,
|  | SmartPtr< SchurData > | A_data |
| ) |  |  | `[inline]`

This class is the interface for implementations of any class that calculates the matrix of the following matrix:

.

Definition at line 31 of file SensPCalculator.hpp.

virtual Ipopt::PCalculator::~PCalculator | ( |  | ) | `[inline, virtual]`

Definition at line 40 of file SensPCalculator.hpp.

## Member Function Documentation

virtual bool Ipopt::PCalculator::InitializeImpl | ( | const OptionsList & | options,
|  | const std::string & | prefix |
| ) |  |  | `[inline, virtual]`

Overloaded from AlgorithmStrategyObject.

Implements Ipopt::AlgorithmStrategyObject.

Reimplemented in Ipopt::IndexPCalculator.

Definition at line 45 of file SensPCalculator.hpp.

virtual bool Ipopt::PCalculator::ComputeP | ( |  | ) | `[pure virtual]`

Function to start the computation of P from E_0 and KKT.

Implemented in Ipopt::IndexPCalculator.

virtual bool Ipopt::PCalculator::GetSchurMatrix | ( | const SmartPtr< const SchurData > & | B,
|  | SmartPtr< Matrix > & | S |
| ) |  |  | `[pure virtual]`

Function to extract a SchurMatrix corresponding to $B K^{-1} A$.

If B==NULL, use A=B

Implemented in Ipopt::IndexPCalculator.

virtual void Ipopt::PCalculator::PrintImpl | ( | const Journalist & | jnlst,
|  | EJournalLevel | level,
|  | EJournalCategory | category,
|  | const std::string & | name,
|  | Index | indent,
|  | const std::string & | prefix |
| ) |  |  | const`[pure virtual]`

Implemented in Ipopt::IndexPCalculator.

void Ipopt::PCalculator::Print | ( | const Journalist & | jnlst,
|  | EJournalLevel | level,
|  | EJournalCategory | category,
|  | const std::string & | name,
|  | Index | indent = `0`,
|  | const std::string & | prefix = `""` |
| ) |  |  | const`[inline]`

Definition at line 64 of file SensPCalculator.hpp.

void Ipopt::PCalculator::Print | ( | SmartPtr< const Journalist > | jnlst,
|  | EJournalLevel | level,
|  | EJournalCategory | category,
|  | const std::string & | name,
|  | Index | indent,
|  | const std::string & | prefix |
| ) |  |  | const`[inline]`

Definition at line 76 of file SensPCalculator.hpp.

SmartPtr<SensBacksolver> Ipopt::PCalculator::Solver | ( |  | ) | const`[inline]`

Accessor methods for data and backsolver.

This unconstness seems kind of dangerous but I don't think there is a way around it. Anyway, there is no difference between this and the IpData() method of AlgStrategy.

Definition at line 91 of file SensPCalculator.hpp.

SmartPtr<const SchurData> Ipopt::PCalculator::data_A | ( |  | ) | const`[inline]`

Definition at line 96 of file SensPCalculator.hpp.

SmartPtr<SchurData> Ipopt::PCalculator::data_A_nonconst | ( |  | ) | const`[inline]`

Definition at line 101 of file SensPCalculator.hpp.

void Ipopt::PCalculator::reset_data_A | ( |  | ) | `[inline]`

Definition at line 106 of file SensPCalculator.hpp.

## Member Data Documentation

SmartPtr<SensBacksolver> Ipopt::PCalculator::backsolver_`[private]`

Definition at line 113 of file SensPCalculator.hpp.

SmartPtr<const SchurData> Ipopt::PCalculator::data_A_init`[private]`

Definition at line 115 of file SensPCalculator.hpp.

SmartPtr<SchurData> Ipopt::PCalculator::data_A_`[private]`

Definition at line 116 of file SensPCalculator.hpp.

The documentation for this class was generated from the following file:

- contrib/sIPOPT/src/SensPCalculator.hpp

All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines