aligator  0.9.0
A primal-dual augmented Lagrangian-type solver for nonlinear trajectory optimization.
Loading...
Searching...
No Matches
aligator::LinearFunctionTpl< Scalar > Struct Template Reference

Linear function \(f(x,u,y) = Ax + Bu + Cy + d\). More...

#include <aligator/modelling/linear-function.hpp>

Inheritance diagram for aligator::LinearFunctionTpl< Scalar >:
[legend]
Collaboration diagram for aligator::LinearFunctionTpl< Scalar >:
[legend]

Public Types

using Base = StageFunctionTpl<Scalar>
 
using Data = StageFunctionDataTpl<Scalar>
 
- Public Types inherited from aligator::StageFunctionTpl< Scalar >
using Scalar = _Scalar
 
using Data = StageFunctionDataTpl<Scalar>
 

Public Member Functions

 ALIGATOR_DYNAMIC_TYPEDEFS (Scalar)
 
 LinearFunctionTpl (const int ndx, const int nu, const int nr)
 
 LinearFunctionTpl (const ConstMatrixRef A, const ConstMatrixRef B, const ConstVectorRef d)
 
void evaluate (const ConstVectorRef &x, const ConstVectorRef &u, Data &data) const override
 Evaluate the function.
 
void computeJacobians (const ConstVectorRef &, const ConstVectorRef &, Data &data) const override
 Compute Jacobians of this function.
 
virtual shared_ptr< DatacreateData () const override
 Instantiate a Data object.
 
- Public Member Functions inherited from aligator::StageFunctionTpl< Scalar >
 ALIGATOR_DYNAMIC_TYPEDEFS (Scalar)
 
 StageFunctionTpl (const int ndx, const int nu, const int nr)
 
virtual void computeVectorHessianProducts (const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &lbda, Data &data) const
 Compute the vector-hessian products of this function.
 
virtual ~StageFunctionTpl ()=default
 

Public Attributes

MatrixXs A_
 
MatrixXs B_
 
VectorXs d_
 
- Public Attributes inherited from aligator::StageFunctionTpl< Scalar >
const int ndx1
 Current state dimension.
 
const int nu
 Control dimension.
 
const int nr
 Function codimension.
 

Detailed Description

template<typename Scalar>
struct aligator::LinearFunctionTpl< Scalar >

Linear function \(f(x,u,y) = Ax + Bu + Cy + d\).

Definition at line 9 of file linear-function.hpp.

Member Typedef Documentation

◆ Base

template<typename Scalar >
using aligator::LinearFunctionTpl< Scalar >::Base = StageFunctionTpl<Scalar>

Definition at line 12 of file linear-function.hpp.

◆ Data

template<typename Scalar >
using aligator::LinearFunctionTpl< Scalar >::Data = StageFunctionDataTpl<Scalar>

Definition at line 13 of file linear-function.hpp.

Constructor & Destructor Documentation

◆ LinearFunctionTpl() [1/2]

template<typename Scalar >
aligator::LinearFunctionTpl< Scalar >::LinearFunctionTpl ( const int ndx,
const int nu,
const int nr )
inline

Definition at line 19 of file linear-function.hpp.

◆ LinearFunctionTpl() [2/2]

template<typename Scalar >
aligator::LinearFunctionTpl< Scalar >::LinearFunctionTpl ( const ConstMatrixRef A,
const ConstMatrixRef B,
const ConstVectorRef d )
inline

Definition at line 26 of file linear-function.hpp.

Member Function Documentation

◆ ALIGATOR_DYNAMIC_TYPEDEFS()

template<typename Scalar >
aligator::LinearFunctionTpl< Scalar >::ALIGATOR_DYNAMIC_TYPEDEFS ( Scalar )

◆ evaluate()

template<typename Scalar >
void aligator::LinearFunctionTpl< Scalar >::evaluate ( const ConstVectorRef & x,
const ConstVectorRef & u,
Data & data ) const
inlineoverridevirtual

Evaluate the function.

Parameters
xCurrent state.
uControls.
dataData holding struct.

Implements aligator::StageFunctionTpl< Scalar >.

Definition at line 33 of file linear-function.hpp.

◆ computeJacobians()

template<typename Scalar >
void aligator::LinearFunctionTpl< Scalar >::computeJacobians ( const ConstVectorRef & ,
const ConstVectorRef & ,
Data & data ) const
inlineoverridevirtual

Compute Jacobians of this function.

This implementation does nothing: the values of the Jacobians are already set in createData().

Implements aligator::StageFunctionTpl< Scalar >.

Definition at line 45 of file linear-function.hpp.

◆ createData()

template<typename Scalar >
virtual shared_ptr< Data > aligator::LinearFunctionTpl< Scalar >::createData ( ) const
inlineoverridevirtual

Instantiate a Data object.

This override sets the appropriate values of the Jacobians.

Reimplemented from aligator::StageFunctionTpl< Scalar >.

Definition at line 53 of file linear-function.hpp.

Member Data Documentation

◆ A_

template<typename Scalar >
MatrixXs aligator::LinearFunctionTpl< Scalar >::A_

Definition at line 15 of file linear-function.hpp.

◆ B_

template<typename Scalar >
MatrixXs aligator::LinearFunctionTpl< Scalar >::B_

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

◆ d_

template<typename Scalar >
VectorXs aligator::LinearFunctionTpl< Scalar >::d_

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


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