autogenu-jupyter
An automatic code generator and the continuation/GMRES (C/GMRES) based numerical solvers for nonlinear MPC
Loading...
Searching...
No Matches
cgmres::detail::ContinuationGMRESCondensing< NLP > Class Template Reference

#include <continuation_gmres_condensing.hpp>

Public Member Functions

 ContinuationGMRESCondensing (const NLP &nlp, const Scalar finite_difference_epsilon, const Scalar zeta)
 
 ContinuationGMRESCondensing ()=default
 
 ~ContinuationGMRESCondensing ()=default
 
Scalar optError () const
 
template<typename VectorType >
void eval_fonc (const Scalar t, const MatrixBase< VectorType > &x0, const Vector< dim > &solution, const std::array< Vector< nx >, N+1 > &x, const std::array< Vector< nx >, N+1 > &lmd, const std::array< Vector< nub >, N > &dummy, const std::array< Vector< nub >, N > &mu)
 
template<typename VectorType1 , typename VectorType2 , typename VectorType3 , typename VectorType4 >
void eval_b (const Scalar t, const MatrixBase< VectorType1 > &x0, const MatrixBase< VectorType2 > &solution, const std::array< Vector< nx >, N+1 > &x, const std::array< Vector< nx >, N+1 > &lmd, const std::array< Vector< nub >, N > &dummy, const std::array< Vector< nub >, N > &mu, const MatrixBase< VectorType3 > &solution_update, const MatrixBase< VectorType4 > &b_vec)
 
template<typename VectorType1 , typename VectorType2 , typename VectorType3 , typename VectorType4 >
void eval_Ax (const Scalar t, const MatrixBase< VectorType1 > &x0, const MatrixBase< VectorType2 > &solution, const std::array< Vector< nx >, N+1 > &x, const std::array< Vector< nx >, N+1 > &lmd, const std::array< Vector< nub >, N > &dummy, const std::array< Vector< nub >, N > &mu, const MatrixBase< VectorType3 > &solution_update, const MatrixBase< VectorType4 > &ax_vec)
 
template<typename VectorType1 , typename VectorType2 , typename VectorType3 >
void expansion (const Scalar t, const MatrixBase< VectorType1 > &x0, const MatrixBase< VectorType2 > &solution, std::array< Vector< nx >, N+1 > &x, std::array< Vector< nx >, N+1 > &lmd, std::array< Vector< nub >, N > &dummy, std::array< Vector< nub >, N > &mu, const MatrixBase< VectorType3 > &solution_update, const Scalar dt, const Scalar min_dummy)
 
template<typename VectorType >
void retrive_x (const Scalar t, const MatrixBase< VectorType > &x0, const Vector< dim > &solution, std::array< Vector< nx >, N+1 > &x)
 
template<typename VectorType >
void retrive_lmd (const Scalar t, const MatrixBase< VectorType > &x0, const Vector< dim > &solution, const std::array< Vector< nx >, N+1 > &x, std::array< Vector< nx >, N+1 > &lmd)
 
void retrive_dummy (const Vector< dim > &solution, std::array< Vector< nub >, N > &dummy, const std::array< Vector< nub >, N > &mu, const Scalar min_dummy)
 
void retrive_mu (const Vector< dim > &solution, const std::array< Vector< nub >, N > &dummy, std::array< Vector< nub >, N > &mu)
 
const NLP & get_nlp () const
 
void synchronize_ocp ()
 

Static Public Attributes

static constexpr int nx = NLP::nx
 
static constexpr int nu = NLP::nu
 
static constexpr int nc = NLP::nc
 
static constexpr int nuc = nu + nc
 
static constexpr int nub = NLP::nub
 
static constexpr int dim = NLP::dim
 
static constexpr int N = dim / nuc
 

Constructor & Destructor Documentation

◆ ContinuationGMRESCondensing() [1/2]

template<class NLP >
cgmres::detail::ContinuationGMRESCondensing< NLP >::ContinuationGMRESCondensing ( const NLP &  nlp,
const Scalar  finite_difference_epsilon,
const Scalar  zeta 
)
inline

◆ ContinuationGMRESCondensing() [2/2]

template<class NLP >
cgmres::detail::ContinuationGMRESCondensing< NLP >::ContinuationGMRESCondensing ( )
default

◆ ~ContinuationGMRESCondensing()

Member Function Documentation

◆ eval_Ax()

template<class NLP >
template<typename VectorType1 , typename VectorType2 , typename VectorType3 , typename VectorType4 >
void cgmres::detail::ContinuationGMRESCondensing< NLP >::eval_Ax ( const Scalar  t,
const MatrixBase< VectorType1 > &  x0,
const MatrixBase< VectorType2 > &  solution,
const std::array< Vector< nx >, N+1 > &  x,
const std::array< Vector< nx >, N+1 > &  lmd,
const std::array< Vector< nub >, N > &  dummy,
const std::array< Vector< nub >, N > &  mu,
const MatrixBase< VectorType3 > &  solution_update,
const MatrixBase< VectorType4 > &  ax_vec 
)
inline

◆ eval_b()

template<class NLP >
template<typename VectorType1 , typename VectorType2 , typename VectorType3 , typename VectorType4 >
void cgmres::detail::ContinuationGMRESCondensing< NLP >::eval_b ( const Scalar  t,
const MatrixBase< VectorType1 > &  x0,
const MatrixBase< VectorType2 > &  solution,
const std::array< Vector< nx >, N+1 > &  x,
const std::array< Vector< nx >, N+1 > &  lmd,
const std::array< Vector< nub >, N > &  dummy,
const std::array< Vector< nub >, N > &  mu,
const MatrixBase< VectorType3 > &  solution_update,
const MatrixBase< VectorType4 > &  b_vec 
)
inline

◆ eval_fonc()

template<class NLP >
template<typename VectorType >
void cgmres::detail::ContinuationGMRESCondensing< NLP >::eval_fonc ( const Scalar  t,
const MatrixBase< VectorType > &  x0,
const Vector< dim > &  solution,
const std::array< Vector< nx >, N+1 > &  x,
const std::array< Vector< nx >, N+1 > &  lmd,
const std::array< Vector< nub >, N > &  dummy,
const std::array< Vector< nub >, N > &  mu 
)
inline

◆ expansion()

template<class NLP >
template<typename VectorType1 , typename VectorType2 , typename VectorType3 >
void cgmres::detail::ContinuationGMRESCondensing< NLP >::expansion ( const Scalar  t,
const MatrixBase< VectorType1 > &  x0,
const MatrixBase< VectorType2 > &  solution,
std::array< Vector< nx >, N+1 > &  x,
std::array< Vector< nx >, N+1 > &  lmd,
std::array< Vector< nub >, N > &  dummy,
std::array< Vector< nub >, N > &  mu,
const MatrixBase< VectorType3 > &  solution_update,
const Scalar  dt,
const Scalar  min_dummy 
)
inline

◆ get_nlp()

template<class NLP >
const NLP & cgmres::detail::ContinuationGMRESCondensing< NLP >::get_nlp ( ) const
inline

◆ optError()

template<class NLP >
Scalar cgmres::detail::ContinuationGMRESCondensing< NLP >::optError ( ) const
inline

◆ retrive_dummy()

template<class NLP >
void cgmres::detail::ContinuationGMRESCondensing< NLP >::retrive_dummy ( const Vector< dim > &  solution,
std::array< Vector< nub >, N > &  dummy,
const std::array< Vector< nub >, N > &  mu,
const Scalar  min_dummy 
)
inline

◆ retrive_lmd()

template<class NLP >
template<typename VectorType >
void cgmres::detail::ContinuationGMRESCondensing< NLP >::retrive_lmd ( const Scalar  t,
const MatrixBase< VectorType > &  x0,
const Vector< dim > &  solution,
const std::array< Vector< nx >, N+1 > &  x,
std::array< Vector< nx >, N+1 > &  lmd 
)
inline

◆ retrive_mu()

template<class NLP >
void cgmres::detail::ContinuationGMRESCondensing< NLP >::retrive_mu ( const Vector< dim > &  solution,
const std::array< Vector< nub >, N > &  dummy,
std::array< Vector< nub >, N > &  mu 
)
inline

◆ retrive_x()

template<class NLP >
template<typename VectorType >
void cgmres::detail::ContinuationGMRESCondensing< NLP >::retrive_x ( const Scalar  t,
const MatrixBase< VectorType > &  x0,
const Vector< dim > &  solution,
std::array< Vector< nx >, N+1 > &  x 
)
inline

◆ synchronize_ocp()

template<class NLP >
void cgmres::detail::ContinuationGMRESCondensing< NLP >::synchronize_ocp ( )
inline

Member Data Documentation

◆ dim

template<class NLP >
constexpr int cgmres::detail::ContinuationGMRESCondensing< NLP >::dim = NLP::dim
staticconstexpr

◆ N

template<class NLP >
constexpr int cgmres::detail::ContinuationGMRESCondensing< NLP >::N = dim / nuc
staticconstexpr

◆ nc

template<class NLP >
constexpr int cgmres::detail::ContinuationGMRESCondensing< NLP >::nc = NLP::nc
staticconstexpr

◆ nu

template<class NLP >
constexpr int cgmres::detail::ContinuationGMRESCondensing< NLP >::nu = NLP::nu
staticconstexpr

◆ nub

template<class NLP >
constexpr int cgmres::detail::ContinuationGMRESCondensing< NLP >::nub = NLP::nub
staticconstexpr

◆ nuc

template<class NLP >
constexpr int cgmres::detail::ContinuationGMRESCondensing< NLP >::nuc = nu + nc
staticconstexpr

◆ nx

template<class NLP >
constexpr int cgmres::detail::ContinuationGMRESCondensing< NLP >::nx = NLP::nx
staticconstexpr

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