proxsuite-nlp  0.10.0
A primal-dual augmented Lagrangian-type solver for nonlinear programming on manifolds.
Loading...
Searching...
No Matches
proxsuite::nlp::NegativeOrthantTpl< _Scalar > Struct Template Reference

Negative orthant, for constraints \(h(x)\leq 0\). More...

#include <proxsuite-nlp/modelling/constraints/negative-orthant.hpp>

Inheritance diagram for proxsuite::nlp::NegativeOrthantTpl< _Scalar >:
[legend]
Collaboration diagram for proxsuite::nlp::NegativeOrthantTpl< _Scalar >:
[legend]

Public Types

using Scalar = _Scalar
 
using Base = ConstraintSetTpl<Scalar>
 
using ActiveType = typename Base::ActiveType
 
- Public Types inherited from proxsuite::nlp::ConstraintSetTpl< _Scalar >
using Scalar
 
using ActiveType
 

Public Member Functions

 NegativeOrthantTpl ()=default
 
 NegativeOrthantTpl (const NegativeOrthantTpl &)=default
 
NegativeOrthantTploperator= (const NegativeOrthantTpl &)=default
 
 NegativeOrthantTpl (NegativeOrthantTpl &&)=default
 
NegativeOrthantTploperator= (NegativeOrthantTpl &&)=default
 
void projection (const ConstVectorRef &z, VectorRef zout) const
 Compute projection of variable z onto the constraint set.
 
void normalConeProjection (const ConstVectorRef &z, VectorRef zout) const
 Compute projection of z onto the normal cone to the set. The default implementation is just \( \mathrm{id} - P\).
 
void computeActiveSet (const ConstVectorRef &z, Eigen::Ref< ActiveType > out) const
 The elements of the active set are the components such that \(z_i > 0\).
 
- Public Member Functions inherited from proxsuite::nlp::ConstraintSetTpl< _Scalar >
 ConstraintSetTpl ()=default
 
virtual bool disableGaussNewton () const
 
virtual _Scalar evaluate (const ConstVectorRef &) const
 
virtual void applyProjectionJacobian (const ConstVectorRef &z, MatrixRef Jout) const
 Apply a jacobian of the projection/proximal operator to a matrix.
 
virtual void applyNormalConeProjectionJacobian (const ConstVectorRef &z, MatrixRef Jout) const
 Apply the jacobian of the projection on the normal cone.
 
void setProxParameter (const _Scalar mu) const
 Update proximal parameter; this applies to when this class is a proximal operator that isn't a projection (e.g. \( \ell_1 \)).
 
virtual ~ConstraintSetTpl ()=default
 
bool operator== (const ConstraintSetTpl< _Scalar > &rhs)
 
_Scalar evaluateMoreauEnvelope (const ConstVectorRef &zin, const ConstVectorRef &zproj) const
 Evaluate the Moreau envelope with parameter mu for the given contraint set or nonsmooth penalty \(g\) at point zin.
 
_Scalar computeMoreauEnvelope (const ConstVectorRef &zin, VectorRef zprojout) const
 Evaluate the Moreau envelope with parameter mu for the given contraint set or nonsmooth penalty \(g\) at point zin. This variant evaluates the prox map.
 
_Scalar mu () const
 
_Scalar mu_inv () const
 

Public Attributes

 Scalar
 
- Public Attributes inherited from proxsuite::nlp::ConstraintSetTpl< _Scalar >
 Scalar
 

Additional Inherited Members

- Protected Attributes inherited from proxsuite::nlp::ConstraintSetTpl< _Scalar >
_Scalar mu_
 
_Scalar mu_inv_
 

Detailed Description

template<typename _Scalar>
struct proxsuite::nlp::NegativeOrthantTpl< _Scalar >

Negative orthant, for constraints \(h(x)\leq 0\).

Negative orthant, corresponding to constraints of the form

\[ h(x) \leq 0 \]

where \(h : \mathcal{X} \to \RR^p\) is a given residual.

Definition at line 19 of file negative-orthant.hpp.

Member Typedef Documentation

◆ Scalar

template<typename _Scalar >
using proxsuite::nlp::NegativeOrthantTpl< _Scalar >::Scalar = _Scalar

Definition at line 20 of file negative-orthant.hpp.

◆ Base

template<typename _Scalar >
using proxsuite::nlp::NegativeOrthantTpl< _Scalar >::Base = ConstraintSetTpl<Scalar>

Definition at line 29 of file negative-orthant.hpp.

◆ ActiveType

template<typename _Scalar >
using proxsuite::nlp::NegativeOrthantTpl< _Scalar >::ActiveType = typename Base::ActiveType

Definition at line 30 of file negative-orthant.hpp.

Constructor & Destructor Documentation

◆ NegativeOrthantTpl() [1/3]

template<typename _Scalar >
proxsuite::nlp::NegativeOrthantTpl< _Scalar >::NegativeOrthantTpl ( )
default

◆ NegativeOrthantTpl() [2/3]

template<typename _Scalar >
proxsuite::nlp::NegativeOrthantTpl< _Scalar >::NegativeOrthantTpl ( const NegativeOrthantTpl< _Scalar > & )
default

◆ NegativeOrthantTpl() [3/3]

template<typename _Scalar >
proxsuite::nlp::NegativeOrthantTpl< _Scalar >::NegativeOrthantTpl ( NegativeOrthantTpl< _Scalar > && )
default

Member Function Documentation

◆ operator=() [1/2]

template<typename _Scalar >
NegativeOrthantTpl & proxsuite::nlp::NegativeOrthantTpl< _Scalar >::operator= ( const NegativeOrthantTpl< _Scalar > & )
default

◆ operator=() [2/2]

template<typename _Scalar >
NegativeOrthantTpl & proxsuite::nlp::NegativeOrthantTpl< _Scalar >::operator= ( NegativeOrthantTpl< _Scalar > && )
default

◆ projection()

template<typename _Scalar >
void proxsuite::nlp::NegativeOrthantTpl< _Scalar >::projection ( const ConstVectorRef & z,
VectorRef zout ) const
inlinevirtual

Compute projection of variable z onto the constraint set.

Parameters
[in]zInput vector
[out]zoutOutput projection

Implements proxsuite::nlp::ConstraintSetTpl< _Scalar >.

Definition at line 32 of file negative-orthant.hpp.

◆ normalConeProjection()

template<typename _Scalar >
void proxsuite::nlp::NegativeOrthantTpl< _Scalar >::normalConeProjection ( const ConstVectorRef & z,
VectorRef zout ) const
inlinevirtual

Compute projection of z onto the normal cone to the set. The default implementation is just \( \mathrm{id} - P\).

Parameters
[in]zInput vector
[out]zoutOutput projection on the normal projection

Implements proxsuite::nlp::ConstraintSetTpl< _Scalar >.

Definition at line 36 of file negative-orthant.hpp.

◆ computeActiveSet()

template<typename _Scalar >
void proxsuite::nlp::NegativeOrthantTpl< _Scalar >::computeActiveSet ( const ConstVectorRef & z,
Eigen::Ref< ActiveType > out ) const
inlinevirtual

The elements of the active set are the components such that \(z_i > 0\).

Implements proxsuite::nlp::ConstraintSetTpl< _Scalar >.

Definition at line 41 of file negative-orthant.hpp.

Member Data Documentation

◆ Scalar

template<typename _Scalar >
proxsuite::nlp::NegativeOrthantTpl< _Scalar >::Scalar

Definition at line 21 of file negative-orthant.hpp.


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