Drake
Drake C++ Documentation
Loading...
Searching...
No Matches
trigonometric_polynomial.h File Reference
#include <unordered_map>
#include <utility>
#include <vector>
#include "drake/common/drake_copyable.h"
#include "drake/common/symbolic/expression.h"
#include "drake/common/symbolic/rational_function.h"
Include dependency graph for trigonometric_polynomial.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  SinCos
 Represents a pair of Variables corresponding to sin(q) and cos(q). More...

Namespaces

namespace  drake
namespace  drake::symbolic

Typedefs

using SinCosSubstitution = std::unordered_map<Variable, SinCos>

Enumerations

enum class  SinCosSubstitutionType { kAngle , kHalfAnglePreferSin , kHalfAnglePreferCos }

Functions

Expression Substitute (const Expression &e, const SinCosSubstitution &subs)
 Given a substitution map q => {s, c}, substitutes instances of sin(q) and cos(q) in e with s and c, with partial support for trigonometric expansions.
template<typename Derived>
MatrixLikewise< Expression, Derived > Substitute (const Eigen::MatrixBase< Derived > &m, const SinCosSubstitution &subs)
 Matrix version of sin/cos substitution.
symbolic::RationalFunction SubstituteStereographicProjection (const symbolic::Polynomial &e, const std::vector< SinCos > &sin_cos, const VectorX< symbolic::Variable > &t)
 Substitutes the variables representing sine and cosine functions with their stereographic projection.