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

Composition of two functions \(f \circ g\). More...

#include <proxsuite-nlp/function-ops.hpp>

Inheritance diagram for proxsuite::nlp::ComposeFunctionTpl< Scalar >:
[legend]
Collaboration diagram for proxsuite::nlp::ComposeFunctionTpl< Scalar >:
[legend]

Public Types

using Scalar = _Scalar
 
using Base = C2FunctionTpl<Scalar>
 
- Public Types inherited from proxsuite::nlp::C2FunctionTpl< _Scalar >
using Scalar
 
using Base
 
- Public Types inherited from proxsuite::nlp::C1FunctionTpl< _Scalar >
using Scalar
 
using Base
 
- Public Types inherited from proxsuite::nlp::BaseFunctionTpl< _Scalar >
using Scalar
 
- Public Types inherited from proxsuite::nlp::math_types< _Scalar >
using Scalar = _Scalar
 

Public Member Functions

 ComposeFunctionTpl (const shared_ptr< Base > &left, const shared_ptr< Base > &right)
 
VectorXs operator() (const ConstVectorRef &x) const
 Evaluate the residual at a given point x.
 
void computeJacobian (const ConstVectorRef &x, MatrixRef Jout) const
 Jacobian matrix of the constraint function.
 
const Baseleft () const
 
const Baseright () const
 
virtual void vectorHessianProduct (const ConstVectorRef &, const ConstVectorRef &, MatrixRef Hout) const
 Vector-hessian product.
 
- Public Member Functions inherited from proxsuite::nlp::C2FunctionTpl< _Scalar >
 C2FunctionTpl (const int nx, const int ndx, const int nr)
 
 C2FunctionTpl (const ManifoldAbstractTpl< _Scalar > &manifold, const int nr)
 
- Public Member Functions inherited from proxsuite::nlp::C1FunctionTpl< _Scalar >
 C1FunctionTpl (const int nx, const int ndx, const int nr)
 
 C1FunctionTpl (const ManifoldAbstractTpl< _Scalar > &manifold, const int nr)
 
MatrixXs computeJacobian (const ConstVectorRef &x) const
 Jacobian matrix of the constraint function.
 
- Public Member Functions inherited from proxsuite::nlp::BaseFunctionTpl< _Scalar >
 BaseFunctionTpl (const int nx, const int ndx, const int nr)
 
 BaseFunctionTpl (const ManifoldAbstractTpl< _Scalar > &manifold, const int nr)
 
virtual ~BaseFunctionTpl ()=default
 
int nx () const
 Get function input vector size (representation of manifold).
 
int ndx () const
 Get input manifold's tangent space dimension.
 
int nr () const
 Get function codimension.
 

Public Attributes

 Scalar
 
- Public Attributes inherited from proxsuite::nlp::C2FunctionTpl< _Scalar >
 Scalar
 
- Public Attributes inherited from proxsuite::nlp::C1FunctionTpl< _Scalar >
 Scalar
 
- Public Attributes inherited from proxsuite::nlp::BaseFunctionTpl< _Scalar >
 Scalar
 
- Public Attributes inherited from proxsuite::nlp::math_types< _Scalar >
 _Scalar
 

Additional Inherited Members

- Protected Attributes inherited from proxsuite::nlp::BaseFunctionTpl< _Scalar >
int nx_
 
int ndx_
 
int nr_
 

Detailed Description

template<typename Scalar>
struct proxsuite::nlp::ComposeFunctionTpl< Scalar >

Composition of two functions \(f \circ g\).

Definition at line 82 of file fwd.hpp.

Member Typedef Documentation

◆ Scalar

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

Definition at line 16 of file function-ops.hpp.

◆ Base

template<typename Scalar >
using proxsuite::nlp::ComposeFunctionTpl< Scalar >::Base = C2FunctionTpl<Scalar>

Definition at line 17 of file function-ops.hpp.

Constructor & Destructor Documentation

◆ ComposeFunctionTpl()

template<typename Scalar >
proxsuite::nlp::ComposeFunctionTpl< Scalar >::ComposeFunctionTpl ( const shared_ptr< Base > & left,
const shared_ptr< Base > & right )
inline

Definition at line 23 of file function-ops.hpp.

Member Function Documentation

◆ operator()()

template<typename Scalar >
VectorXs proxsuite::nlp::ComposeFunctionTpl< Scalar >::operator() ( const ConstVectorRef & x) const
inlinevirtual

Evaluate the residual at a given point x.

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

Definition at line 34 of file function-ops.hpp.

◆ computeJacobian()

template<typename Scalar >
void proxsuite::nlp::ComposeFunctionTpl< Scalar >::computeJacobian ( const ConstVectorRef & x,
MatrixRef Jout ) const
inlinevirtual

Jacobian matrix of the constraint function.

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

Definition at line 38 of file function-ops.hpp.

◆ left()

template<typename Scalar >
const Base & proxsuite::nlp::ComposeFunctionTpl< Scalar >::left ( ) const
inline

Definition at line 43 of file function-ops.hpp.

◆ right()

template<typename Scalar >
const Base & proxsuite::nlp::ComposeFunctionTpl< Scalar >::right ( ) const
inline

Definition at line 44 of file function-ops.hpp.

◆ vectorHessianProduct()

template<typename Scalar >
virtual void proxsuite::nlp::C2FunctionTpl< Scalar >::vectorHessianProduct ( const ConstVectorRef & ,
const ConstVectorRef & ,
MatrixRef Hout ) const
inlinevirtual

Vector-hessian product.

Reimplemented from proxsuite::nlp::C2FunctionTpl< _Scalar >.

Definition at line 91 of file function-base.hpp.

Member Data Documentation

◆ Scalar

template<typename Scalar >
proxsuite::nlp::ComposeFunctionTpl< Scalar >::Scalar

Definition at line 21 of file function-ops.hpp.


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