constrainedExample.h
Go to the documentation of this file.
1 /* ----------------------------------------------------------------------------
2 
3  * GTSAM Copyright 2010, Georgia Tech Research Corporation,
4  * Atlanta, Georgia 30332-0415
5  * All Rights Reserved
6  * Authors: Frank Dellaert, et al. (see THANKS for the full author list)
7 
8  * See LICENSE for the license information
9 
10  * -------------------------------------------------------------------------- */
11 
19 #pragma once
20 
21 // #include <gtsam/constrained/ConstrainedOptProblem.h>
26 
28 
29 using namespace gtsam;
30 
32 inline double exp_func(const double& x, gtsam::OptionalJacobian<1, 1> H1 = {}) {
33  double result = exp(x);
34  if (H1) H1->setConstant(result);
35  return result;
36 }
37 
39 inline Double_ exp(const Double_& x) { return Double_(exp_func, x); }
40 
42 class PowFunctor {
43  private:
44  double c_;
45 
46  public:
47  PowFunctor(const double& c) : c_(c) {}
48 
49  double operator()(const double& x, gtsam::OptionalJacobian<1, 1> H1 = {}) const {
50  if (H1) H1->setConstant(c_ * pow(x, c_ - 1));
51  return pow(x, c_);
52  }
53 };
54 
56 inline Double_ pow(const Double_& x, const double& c) {
57  PowFunctor pow_functor(c);
58  return Double_(pow_functor, x);
59 }
60 
62 inline Double_ operator+(const Double_& x, const double& d) { return x + Double_(d); }
63 
65 inline Double_ operator-(const Double_& x) { return Double_(0.0) - x; }
66 
68 Symbol x1_key('x', 1);
69 Symbol x2_key('x', 2);
71 
72 } // namespace constrained_example
73 
constrained_example::PowFunctor::PowFunctor
PowFunctor(const double &c)
Definition: constrainedExample.h:47
constrained_example::x1_key
Symbol x1_key('x', 1)
Keys for creating expressions.
constrained_example::x2_key
Symbol x2_key('x', 2)
constrained_example::x1
Double_ x1(x1_key)
gtsam::Double_
Expression< double > Double_
Definition: nonlinear/expressions.h:28
d
static const double d[K][N]
Definition: igam.h:11
c
Scalar Scalar * c
Definition: benchVecAdd.cpp:17
constrained_example::PowFunctor::c_
double c_
Definition: constrainedExample.h:44
x
set noclip points set clip one set noclip two set bar set border lt lw set xdata set ydata set zdata set x2data set y2data set boxwidth set dummy x
Definition: gnuplot_common_settings.hh:12
constrained_example::exp_func
double exp_func(const double &x, gtsam::OptionalJacobian< 1, 1 > H1={})
Exponential function e^x.
Definition: constrainedExample.h:32
NonlinearEqualityConstraint.h
Nonlinear equality constraints in constrained optimization.
constrained_example
Definition: constrainedExample.h:27
result
Values result
Definition: OdometryOptimize.cpp:8
gtsam::Expression< double >
constrained_example::PowFunctor::operator()
double operator()(const double &x, gtsam::OptionalJacobian< 1, 1 > H1={}) const
Definition: constrainedExample.h:49
expressions.h
Common expressions, both linear and non-linear.
BetweenFactor.h
constrained_example::x2
Double_ x2(x2_key)
constrained_example::pow
Double_ pow(const Double_ &x, const double &c)
Pow function.
Definition: constrainedExample.h:56
constrained_example::operator+
Double_ operator+(const Double_ &x, const double &d)
Plus between Double expression and double.
Definition: constrainedExample.h:62
constrained_example::operator-
Double_ operator-(const Double_ &x)
Negative sign operator.
Definition: constrainedExample.h:65
gtsam
traits
Definition: SFMdata.h:40
gtsam::OptionalJacobian
Definition: OptionalJacobian.h:38
constrained_example::PowFunctor
Pow functor used for pow function.
Definition: constrainedExample.h:42
NonlinearInequalityConstraint.h
Nonlinear inequality constraints in constrained optimization.
gtsam::Symbol
Definition: inference/Symbol.h:37
constrained_example::exp
Double_ exp(const Double_ &x)
Exponential expression e^x.
Definition: constrainedExample.h:39


gtsam
Author(s):
autogenerated on Fri Mar 28 2025 03:01:17