# Ipopt::PDSearchDirCalculator Class Reference

Implementation of the search direction calculator that computes the pure primal dual step for the current barrier parameter. More...

`#include <IpPDSearchDirCalc.hpp>`

Inheritance diagram for Ipopt::PDSearchDirCalculator:
[legend]

List of all members.

## Public Member Functions
virtual bool | InitializeImpl (const OptionsList &options, const std::string &prefix)
| overloaded from AlgorithmStrategyObject
virtual bool | ComputeSearchDirection ()
| Method for computing the search direction.
SmartPtr< PDSystemSolver > | PDSolver ()
| Method to return the pd_solver for additional processing.
Constructors/Destructors
| PDSearchDirCalculator (const SmartPtr< PDSystemSolver > &pd_solver)
| Constructor.
virtual | ~PDSearchDirCalculator ()
| Default destructor.
## Static Public Member Functions
static void | RegisterOptions (const SmartPtr< RegisteredOptions > &roptions)
| Methods for IpoptType.
## Private Member Functions
Default Compiler Generated Methods
(Hidden to avoid implicit creation/calling). These methods are not implemented and we do not want the compiler to implement them for us, so we declare them private and do not define them. This ensures that they will not be implicitly created/called.
| PDSearchDirCalculator ()
| Default Constructor.
| PDSearchDirCalculator (const PDSearchDirCalculator &)
| Copy Constructor.
void | operator= (const PDSearchDirCalculator &)
| Overloaded Equals Operator.
## Private Attributes
Strategy objects
SmartPtr< PDSystemSolver > | pd_solver_
Algorithmic parameters
bool | fast_step_computation_
| Flag indicating that we trust that the steps from the linear solver are very good and that we don't need any residual checks.
bool | mehrotra_algorithm_
| Flag indicating if we want to do Mehrotras's algorithm.

## Detailed Description

Implementation of the search direction calculator that computes the pure primal dual step for the current barrier parameter.

Definition at line 21 of file IpPDSearchDirCalc.hpp.

## Constructor & Destructor Documentation

Ipopt::PDSearchDirCalculator::PDSearchDirCalculator | ( | const SmartPtr< PDSystemSolver > & | pd_solver | ) |

Constructor.

virtual Ipopt::PDSearchDirCalculator::~PDSearchDirCalculator | ( |  | ) | `[virtual]`

Default destructor.

Ipopt::PDSearchDirCalculator::PDSearchDirCalculator | ( |  | ) | `[private]`

Default Constructor.

Ipopt::PDSearchDirCalculator::PDSearchDirCalculator | ( | const PDSearchDirCalculator & |  | ) | `[private]`

Copy Constructor.

## Member Function Documentation

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

overloaded from AlgorithmStrategyObject

Implements Ipopt::SearchDirectionCalculator.

virtual bool Ipopt::PDSearchDirCalculator::ComputeSearchDirection | ( |  | ) | `[virtual]`

Method for computing the search direction.

The computed direction is stored in IpData().delta().

Implements Ipopt::SearchDirectionCalculator.

static void Ipopt::PDSearchDirCalculator::RegisterOptions | ( | const SmartPtr< RegisteredOptions > & | roptions | ) | `[static]`

Methods for IpoptType.

SmartPtr<PDSystemSolver> Ipopt::PDSearchDirCalculator::PDSolver | ( |  | ) | `[inline]`

Method to return the pd_solver for additional processing.

Definition at line 47 of file IpPDSearchDirCalc.hpp.

void Ipopt::PDSearchDirCalculator::operator= | ( | const PDSearchDirCalculator & |  | ) | `[private]`

Overloaded Equals Operator.

Reimplemented from Ipopt::SearchDirectionCalculator.

## Member Data Documentation

SmartPtr<PDSystemSolver> Ipopt::PDSearchDirCalculator::pd_solver_`[private]`

Definition at line 73 of file IpPDSearchDirCalc.hpp.

bool Ipopt::PDSearchDirCalculator::fast_step_computation_`[private]`

Flag indicating that we trust that the steps from the linear solver are very good and that we don't need any residual checks.

Definition at line 81 of file IpPDSearchDirCalc.hpp.

bool Ipopt::PDSearchDirCalculator::mehrotra_algorithm_`[private]`

Flag indicating if we want to do Mehrotras's algorithm.

This means that a number of options are ignored, or have to be set (or are automatically set) to certain values.

Definition at line 85 of file IpPDSearchDirCalc.hpp.

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

- src/Algorithm/IpPDSearchDirCalc.hpp

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines