proxsuite-nlp  0.10.0
A primal-dual augmented Lagrangian-type solver for nonlinear programming on manifolds.
Loading...
Searching...
No Matches
fwd.hpp
Go to the documentation of this file.
1
4#pragma once
5
6#ifdef EIGEN_DEFAULT_IO_FORMAT
7#undef EIGEN_DEFAULT_IO_FORMAT
8#endif
9#define EIGEN_DEFAULT_IO_FORMAT \
10 Eigen::IOFormat(Eigen::StreamPrecision, 0, ",", "\n", "[", "]")
11
12#include <memory>
13
18namespace proxsuite {
19namespace nlp {
20
22namespace autodiff {}
23
25namespace helpers {}
26
28using std::shared_ptr;
30using std::unique_ptr;
31
32} // namespace nlp
33} // namespace proxsuite
34
38#include "proxsuite-nlp/config.hpp"
39#include "proxsuite-nlp/deprecated.hpp"
40#include "proxsuite-nlp/warning.hpp"
41
42namespace xyz {
43// fwd-decl for boost override later
44template <class T, class A> class polymorphic;
45} // namespace xyz
46
50
51namespace boost {
52template <typename T, typename A>
54 const T *r = x.operator->();
55 return const_cast<T *>(r);
56}
57} // namespace boost
58
59namespace proxsuite {
60namespace nlp {
61
63
64// fwd BCLParams
65template <typename Scalar> struct BCLParamsTpl;
66
67/* Function types */
68
69// fwd BaseFunction
70template <typename Scalar> struct BaseFunctionTpl;
71
72// fwd C1FunctionTpl
73template <typename Scalar> struct C1FunctionTpl;
74
75// fwd C2FunctionTpl
76template <typename Scalar> struct C2FunctionTpl;
77
78// fwd func_to_cost
79template <typename Scalar> struct func_to_cost;
80
81// fwd ComposeFunctionTpl
82template <typename Scalar> struct ComposeFunctionTpl;
83
84template <typename Scalar>
85auto compose(const shared_ptr<C2FunctionTpl<Scalar>> &left,
86 const shared_ptr<C2FunctionTpl<Scalar>> &right);
87
88// fwd Cost
89template <typename Scalar> struct CostFunctionBaseTpl;
90
91/* Manifolds */
92
93// fwd ManifoldAbstractTpl
94template <typename Scalar, int Options = 0> struct ManifoldAbstractTpl;
95
96template <typename Scalar, int Dim = Eigen::Dynamic, int Options = 0>
97struct VectorSpaceTpl;
98
99template <typename Scalar> struct CartesianProductTpl;
100
101template <typename Base> struct TangentBundleTpl;
102
103// fwd ConstraintSetTpl
104template <typename Scalar> struct ConstraintSetTpl;
105
106template <typename Scalar>
107using ConstraintSetBase PROXSUITE_NLP_DEPRECATED_MESSAGE(
108 "This template class has been renamed to ConstraintSetTpl.") =
110
111// fwd ConstraintObject
112template <typename Scalar> struct ConstraintObjectTpl;
113
114/* Solver structs */
115
116// fwd Problem
117template <typename Scalar> struct ProblemTpl;
118
119// fwd ResultsTpl
120template <typename Scalar> struct ResultsTpl;
121
122// fwd WorkspaceTpl
123template <typename Scalar> struct WorkspaceTpl;
124
126enum VerboseLevel { QUIET = 0, VERBOSE = 1, VERYVERBOSE = 2 };
127
128template <typename Scalar> class ProxNLPSolverTpl;
129
130} // namespace nlp
131} // namespace proxsuite
Definition fwd.hpp:51
T * get_pointer(::xyz::polymorphic< T, A > const &x)
Definition fwd.hpp:53
VerboseLevel
Verbosity level.
Definition fwd.hpp:126
auto compose(const shared_ptr< C2FunctionTpl< Scalar > > &left, const shared_ptr< C2FunctionTpl< Scalar > > &right)
Compose two function objects.
Main package namespace.
Definition bcl-params.hpp:5
Definition fwd.hpp:42
Base function type.
Definition fwd.hpp:70
Differentiable function, with method for the Jacobian.
Definition fwd.hpp:73
Twice-differentiable function, with method Jacobian and vector-hessian product evaluation.
Definition fwd.hpp:76
The cartesian product of two or more manifolds.
Composition of two functions .
Definition fwd.hpp:82
Packs a ConstraintSetTpl and C2FunctionTpl together.
Definition fwd.hpp:112
Base constraint set type.
Definition fwd.hpp:104
Base class for differentiable cost functions.
Definition fwd.hpp:89
Results struct, holding the returned data from the solver.
Definition results.hpp:20
Tangent bundle of a base manifold M.
Standard Euclidean vector space.