|
TVM
0.9.4
|
#include <tvm/internal/FirstOrderProvider.h>


Classes | |
| struct | slice_linear |
| struct | slice_matrix |
Public Member Functions | |
| virtual const Eigen::VectorXd & | value () const |
| virtual MatrixConstRefWithProperties | jacobian (const Variable &x) const |
| bool | linearIn (const Variable &x) const |
| const Space & | imageSpace () const |
| int | size () const |
| int | rSize () const |
| int | tSize () const |
| const VariableVector & | variables () const |
Public Member Functions inherited from tvm::graph::internal::AbstractNode | |
| template<typename EnumT > | |
| bool | isUpdateEnabled (EnumT e) const |
| virtual bool | isUpdateStaticallyEnabled (int) const |
| virtual bool | isUpdateCustomEnabled (int) const |
| virtual | ~AbstractNode ()=default |
| void | update (int i) |
Public Member Functions inherited from tvm::graph::internal::Inputs | |
| virtual | ~Inputs ()=default |
| template<typename T , typename EnumI , typename... Args> | |
| void | addInput (std::shared_ptr< T > source, EnumI i, Args... args) |
| template<typename T , typename EnumI , typename... Args, typename std::enable_if< std::is_base_of< abstract::Outputs, T >::value, int >::type = 0> | |
| void | addInput (T &source, EnumI i, Args... args) |
| template<typename T > | |
| void | removeInput (T *source) |
| template<typename T , typename... Args> | |
| void | removeInput (T *source, Args... args) |
| template<typename T > | |
| Iterator | getInput (T *source) |
| template<typename T > | |
| Iterator | getInput (const std::shared_ptr< T > &source) |
Public Member Functions inherited from tvm::graph::abstract::Outputs | |
| virtual | ~Outputs ()=default |
| template<typename EnumT > | |
| bool | isOutputEnabled (EnumT e) const |
| bool | isOutputEnabled (int i) const |
| virtual bool | isOutputStaticallyEnabled (int) const |
| virtual bool | isOutputCustomEnabled (int) const |
Protected Member Functions | |
| FirstOrderProvider (int m) | |
| FirstOrderProvider (Space image) | |
| virtual void | resizeCache () |
| void | resizeValueCache () |
| void | resizeJacobianCache () |
| void | addVariable (VariablePtr v, bool linear) |
| void | removeVariable (VariablePtr v) |
| void | addVariable (const VariableVector &v, bool linear) |
| virtual void | addVariable_ (VariablePtr) |
| virtual void | removeVariable_ (VariablePtr) |
| void | splitJacobian (const MatrixConstRef &J, const std::vector< VariablePtr > &vars, bool keepProperties=false) |
| void | splitJacobian (const MatrixConstRef &J, const VariableVector &vars, bool keepProperties=false) |
| void | resize (int m) |
Protected Member Functions inherited from tvm::graph::abstract::Node< FirstOrderProvider > | |
| void | registerUpdates (EnumT u, void(U::*fn)(), Args... args) |
| void | registerUpdates (EnumT u, void(U::*fn)()) |
| void | addOutputDependency (EnumO o, EnumU u) |
| void | addOutputDependency (std::initializer_list< EnumO > os, EnumU u) |
| void | addInternalDependency (EnumU1 uDependent, EnumU2 u) |
| void | addInputDependency (EnumU u, std::shared_ptr< S > source, EnumO i, Args... args) |
| void | addInputDependency (EnumU u, S &source, EnumO i, Args... args) |
| void | addDirectDependency (EnumO o, std::shared_ptr< S > source, EnumI i) |
| void | addDirectDependency (EnumO o, S &source, EnumI i) |
Protected Attributes | |
| Eigen::VectorXd | value_ |
| utils::internal::MapWithVariableAsKey< MatrixWithProperties, slice_matrix, true > | jacobian_ |
| Space | imageSpace_ |
| VariableVector | variables_ |
| utils::internal::MapWithVariableAsKey< bool, slice_linear > | linear_ |
Protected Attributes inherited from tvm::graph::internal::AbstractNode | |
| std::map< int, std::function< void(AbstractNode &)> > | updates_ |
| std::map< int, std::vector< int > > | outputDependencies_ |
| std::map< int, std::vector< int > > | internalDependencies_ |
| std::map< int, input_dependency_t > | inputDependencies_ |
| std::map< int, std::pair< Outputs *, int > > | directDependencies_ |
Protected Attributes inherited from tvm::graph::abstract::Outputs | |
| bool | is_node_ = false |
Additional Inherited Members | |
Public Types inherited from tvm::graph::internal::AbstractNode | |
| enum class | Update_ |
| using | UpdateParent = AbstractNode |
| using | UpdateBase = AbstractNode |
Public Types inherited from tvm::graph::internal::Inputs | |
| using | inputs_t = std::unordered_map< abstract::Outputs *, std::set< int > > |
| using | store_t = std::unordered_set< std::shared_ptr< abstract::Outputs > > |
Public Types inherited from tvm::graph::abstract::Outputs | |
| enum class | Output_ |
| using | OutputParent = Outputs |
| using | OutputBase = Outputs |
Static Public Member Functions inherited from tvm::graph::internal::AbstractNode | |
| static constexpr const char * | UpdateName (Update_) |
| template<typename EnumT > | |
| static constexpr bool | UpdateStaticallyEnabled (EnumT) |
Static Public Member Functions inherited from tvm::graph::abstract::Outputs | |
| static constexpr const char * | OutputName (Output_) |
| template<typename EnumT > | |
| static constexpr bool | OutputStaticallyEnabled (EnumT) |
Static Public Attributes inherited from tvm::graph::internal::AbstractNode | |
| static constexpr unsigned int | UpdateSize = 0 |
| static constexpr auto | UpdateBaseName = "AbstractNode" |
Static Public Attributes inherited from tvm::graph::abstract::Outputs | |
| static constexpr unsigned int | OutputSize = 0 |
| static constexpr auto | OutputBaseName = "Outputs" |
Protected Types inherited from tvm::graph::internal::AbstractNode | |
| using | input_dependency_t = std::map< Outputs *, std::set< int > > |
Describes an entity that can provide a value and its jacobian
|
protected |
Constructor for a function/constraint with value in \( \mathbb{R}^m \).
| m | the size of the function/constraint image space, i.e. the row size of the jacobians (or equivalently in this case the size of the output value). |
|
protected |
Constructor for a function/constraint with value in a specified space.
| image | Description of the image space |
|
protected |
Add a variable vector.
Convenience function similar to adding each elements of the vector individually with the same linear parameter
|
protected |
Add a variable. Cache is automatically updated.
| v | The variable to add |
| linear | Specify that the entity is depending linearly on the variable or not. |
|
protectedvirtual |
To be overridden by derived classes that need to react to the addition of a variable. Called at the end of addVariable();
Reimplemented in tvm::function::abstract::Function.
|
inline |
|
inlinevirtual |
Return the jacobian matrix of this entity corresponding to the variable x
Reimplemented in tvm::constraint::internal::LinearizedTaskConstraint.
|
inline |
Linearity w.r.t x
|
protected |
Remove variable v. Cache is automatically updated.
|
protectedvirtual |
To be overridden by derived classes that need to react to the removal of a variable. Called at the end of removeVariable();
Reimplemented in tvm::function::abstract::Function.
|
protected |
Resize the function
|
protectedvirtual |
Resize all cache members corresponding to active outputs.
This can be overridden in case you do not need all of the default mechanism (typically if you will not use part of the cache). If you override to perform additional operations, do not forget to call this base version in the derived classes.
Reimplemented in tvm::function::abstract::LinearFunction, tvm::function::abstract::Function, and tvm::constraint::abstract::Constraint.
|
protected |
Sub-methods of resizeCache resizing the jacobian cache matrices (if used). To be used by derived classes that need this level of granularity.
|
protected |
Sub-methods of resizeCache resizing the value cache vector (if used). To be used by derived classes that need this level of granularity.
|
inline |
Size of the output value (representation size of the image space).
|
inline |
Return the image space size.
|
protected |
Split a jacobian matrix J into its components Ji corresponding to the provided variables.
| J | The matrix to be split |
| vars | The vector of variables giving the layout of J. It is the user's responsibility to ensure these variables are part of variables_ and that J has the correct size. |
| keepProperties | If true, the properties associated with matrices Ji are kept, if not they are reset to default. |
|
inlineprotected |
Overload for VariableVector operations
|
inline |
Size of the tangent space to the image space (or equivalently row size of the jacobian matrices).
|
inlinevirtual |
Return the value of this entity
Reimplemented in tvm::robot::JointsSelector.
|
inline |
Return the variables
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |