# Ipopt::InexactCq Class Reference

Class for all Chen-Goldfarb penalty method specific calculated quantities. More...

`#include <IpInexactCq.hpp>`

Inheritance diagram for Ipopt::InexactCq:
[legend]

List of all members.

## Public Member Functions
bool | Initialize (const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
| This method must be called to initialize the global algorithmic parameters.
SmartPtr< const Vector > | curr_jac_cdT_times_curr_cdminuss ()
| Gradient of infeasibility w.r.t.
SmartPtr< const Vector > | curr_scaling_slacks ()
| Vector of all inequality slacks for doing the slack-based scaling.
SmartPtr< const Vector > | curr_slack_scaled_d_minus_s ()
| Vector with the slack-scaled d minus s inequalities.
Number | curr_scaled_Ac_norm ()
| Scaled norm of Ac.
Number | curr_scaled_A_norm2 ()
| Scaled, squared norm of A.
Number | slack_scaled_norm (const Vector &x, const Vector &s)
| Compute the 2-norm of a slack-scaled vector with x and s component.
SmartPtr< const Vector > | curr_W_times_vec_x (const Vector &vec_x)
| Compute x component of the W*vec product for the current Hessian and a vector.
SmartPtr< const Vector > | curr_W_times_vec_s (const Vector &vec_s)
| Compute s component of the W*vec product for the current Hessian and a vector.
SmartPtr< const Vector > | curr_Wu_x ()
| Compute x component of the W*u product for the current values.
SmartPtr< const Vector > | curr_Wu_s ()
| Compute s component of the W*u product for the current values.
Number | curr_uWu ()
| Compute the u^T*W*u product for the current values.
SmartPtr< const Vector > | curr_jac_times_normal_c ()
| Compute the c-component of the product of the current constraint Jacobian with the current normal step.
SmartPtr< const Vector > | curr_jac_times_normal_d ()
| Compute the d-component of the product of the current constraint Jacobian with the current normal step.
Constructors/Destructors
| InexactCq (IpoptNLP *ip_nlp, IpoptData *ip_data, IpoptCalculatedQuantities *ip_cq)
| Constructor.
virtual | ~InexactCq ()
| Default destructor.
## Static Public Member Functions
static void | RegisterOptions (const SmartPtr< RegisteredOptions > &roptions)
| Methods for IpoptType.
## Private Member Functions
InexactData & | InexData ()
| Method to easily access Inexact data.
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.
| InexactCq ()
| Default Constructor.
| InexactCq (const InexactCq &)
| Copy Constructor.
void | operator= (const InexactCq &)
| Overloaded Equals Operator.
## Private Attributes
Number | slack_scale_max_
| Upper bound on slack-based scaling factors.
Pointers for easy access to data and NLP information. To
avoid circular references of Smart Pointers, we use a regular pointer here.
IpoptNLP * | ip_nlp_
IpoptData * | ip_data_
IpoptCalculatedQuantities * | ip_cq_
Caches
CachedResults< SmartPtr< const Vector > > | curr_jac_cdT_times_curr_cdminuss_cache_
CachedResults< SmartPtr< const Vector > > | curr_scaling_slacks_cache_
CachedResults< SmartPtr< const Vector > > | curr_slack_scaled_d_minus_s_cache_
CachedResults< Number > | curr_scaled_Ac_norm_cache_
CachedResults< Number > | slack_scaled_norm_cache_
CachedResults< SmartPtr< const Vector > > | curr_W_times_vec_x_cache_
CachedResults< SmartPtr< const Vector > > | curr_W_times_vec_s_cache_
CachedResults< SmartPtr< const Vector > > | curr_Wu_x_cache_
CachedResults< SmartPtr< const Vector > > | curr_Wu_s_cache_
CachedResults< Number > | curr_uWu_cache_
CachedResults< SmartPtr< const Vector > > | curr_jac_times_normal_c_cache_
CachedResults< SmartPtr< const Vector > > | curr_jac_times_normal_d_cache_

## Detailed Description

Class for all Chen-Goldfarb penalty method specific calculated quantities.

Definition at line 22 of file IpInexactCq.hpp.

## Constructor & Destructor Documentation

Ipopt::InexactCq::InexactCq | ( | IpoptNLP * | ip_nlp,
|  | IpoptData * | ip_data,
|  | IpoptCalculatedQuantities * | ip_cq |
| ) |  |  |

Constructor.

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

Default destructor.

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

Default Constructor.

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

Copy Constructor.

## Member Function Documentation

bool Ipopt::InexactCq::Initialize | ( | const Journalist & | jnlst,
|  | const OptionsList & | options,
|  | const std::string & | prefix |
| ) |  |  | `[virtual]`

This method must be called to initialize the global algorithmic parameters.

The parameters are taken from the OptionsList object.

Implements Ipopt::IpoptAdditionalCq.

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

Methods for IpoptType.

SmartPtr<const Vector> Ipopt::InexactCq::curr_jac_cdT_times_curr_cdminuss | ( |  | ) |

Gradient of infeasibility w.r.t.

x. Jacobian of equality constraints transpose times the equality constraints plus Jacobian of the inequality constraints transpose times the inequality constraints (including slacks).

SmartPtr<const Vector> Ipopt::InexactCq::curr_scaling_slacks | ( |  | ) |

Vector of all inequality slacks for doing the slack-based scaling.

SmartPtr<const Vector> Ipopt::InexactCq::curr_slack_scaled_d_minus_s | ( |  | ) |

Vector with the slack-scaled d minus s inequalities.

Number Ipopt::InexactCq::curr_scaled_Ac_norm | ( |  | ) |

Scaled norm of Ac.

Number Ipopt::InexactCq::curr_scaled_A_norm2 | ( |  | ) |

Scaled, squared norm of A.

Number Ipopt::InexactCq::slack_scaled_norm | ( | const Vector & | x,
|  | const Vector & | s |
| ) |  |  |

Compute the 2-norm of a slack-scaled vector with x and s component.

SmartPtr<const Vector> Ipopt::InexactCq::curr_W_times_vec_x | ( | const Vector & | vec_x | ) |

Compute x component of the W*vec product for the current Hessian and a vector.

SmartPtr<const Vector> Ipopt::InexactCq::curr_W_times_vec_s | ( | const Vector & | vec_s | ) |

Compute s component of the W*vec product for the current Hessian and a vector.

SmartPtr<const Vector> Ipopt::InexactCq::curr_Wu_x | ( |  | ) |

Compute x component of the W*u product for the current values.

u here is the tangential step.

SmartPtr<const Vector> Ipopt::InexactCq::curr_Wu_s | ( |  | ) |

Compute s component of the W*u product for the current values.

u here is the tangential step.

Number Ipopt::InexactCq::curr_uWu | ( |  | ) |

Compute the u^T*W*u product for the current values.

u here is the tangential step.

SmartPtr<const Vector> Ipopt::InexactCq::curr_jac_times_normal_c | ( |  | ) |

Compute the c-component of the product of the current constraint Jacobian with the current normal step.

SmartPtr<const Vector> Ipopt::InexactCq::curr_jac_times_normal_d | ( |  | ) |

Compute the d-component of the product of the current constraint Jacobian with the current normal step.

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

Overloaded Equals Operator.

Reimplemented from Ipopt::IpoptAdditionalCq.

InexactData& Ipopt::InexactCq::InexData | ( |  | ) | `[inline, private]`

Method to easily access Inexact data.

Definition at line 128 of file IpInexactCq.hpp.

## Member Data Documentation

IpoptNLP* Ipopt::InexactCq::ip_nlp_`[private]`

Definition at line 122 of file IpInexactCq.hpp.

IpoptData* Ipopt::InexactCq::ip_data_`[private]`

Definition at line 123 of file IpInexactCq.hpp.

IpoptCalculatedQuantities* Ipopt::InexactCq::ip_cq_`[private]`

Definition at line 124 of file IpInexactCq.hpp.

CachedResults<SmartPtr<const Vector> > Ipopt::InexactCq::curr_jac_cdT_times_curr_cdminuss_cache_`[private]`

Definition at line 138 of file IpInexactCq.hpp.

CachedResults<SmartPtr<const Vector> > Ipopt::InexactCq::curr_scaling_slacks_cache_`[private]`

Definition at line 139 of file IpInexactCq.hpp.

CachedResults<SmartPtr<const Vector> > Ipopt::InexactCq::curr_slack_scaled_d_minus_s_cache_`[private]`

Definition at line 140 of file IpInexactCq.hpp.

CachedResults<Number> Ipopt::InexactCq::curr_scaled_Ac_norm_cache_`[private]`

Definition at line 141 of file IpInexactCq.hpp.

CachedResults<Number> Ipopt::InexactCq::slack_scaled_norm_cache_`[private]`

Definition at line 142 of file IpInexactCq.hpp.

CachedResults<SmartPtr<const Vector> > Ipopt::InexactCq::curr_W_times_vec_x_cache_`[private]`

Definition at line 143 of file IpInexactCq.hpp.

CachedResults<SmartPtr<const Vector> > Ipopt::InexactCq::curr_W_times_vec_s_cache_`[private]`

Definition at line 144 of file IpInexactCq.hpp.

CachedResults<SmartPtr<const Vector> > Ipopt::InexactCq::curr_Wu_x_cache_`[private]`

Definition at line 145 of file IpInexactCq.hpp.

CachedResults<SmartPtr<const Vector> > Ipopt::InexactCq::curr_Wu_s_cache_`[private]`

Definition at line 146 of file IpInexactCq.hpp.

CachedResults<Number> Ipopt::InexactCq::curr_uWu_cache_`[private]`

Definition at line 147 of file IpInexactCq.hpp.

CachedResults<SmartPtr<const Vector> > Ipopt::InexactCq::curr_jac_times_normal_c_cache_`[private]`

Definition at line 148 of file IpInexactCq.hpp.

CachedResults<SmartPtr<const Vector> > Ipopt::InexactCq::curr_jac_times_normal_d_cache_`[private]`

Definition at line 149 of file IpInexactCq.hpp.

Number Ipopt::InexactCq::slack_scale_max_`[private]`

Upper bound on slack-based scaling factors.

Definition at line 153 of file IpInexactCq.hpp.

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

- src/Algorithm/Inexact/IpInexactCq.hpp

All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines