Provides symbolic differentiation routines (runtime and compiletime). More...
#include "viennamath/forwards.h"#include "viennamath/runtime/unary_expr.hpp"#include "viennamath/manipulation/simplify.hpp"Go to the source code of this file.
Data Structures | |
| struct | diff< ARG, VAR > | 
| Returns the type of the expression after differentiation of 'ARG' with respect to the variable 'VAR'.  More... | |
| struct | diff< ct_binary_expr< LHS, op_plus< default_numeric_type >, RHS >, ct_variable< id > > | 
| Specialization implementing the rule (u + v)' = u' + v'.  More... | |
| struct | diff< ct_binary_expr< LHS, op_minus< default_numeric_type >, RHS >, ct_variable< id > > | 
| Specialization implementing the rule (u - v)' = u' - v'.  More... | |
| struct | diff< ct_binary_expr< LHS, op_mult< default_numeric_type >, RHS >, ct_variable< id > > | 
| Specialization implementing the rule (u * v)' = u'*v + u*v'.  More... | |
| struct | diff< ct_binary_expr< LHS, op_div< default_numeric_type >, RHS >, ct_variable< id > > | 
| Specialization implementing the rule (u/v)' = (u'*v - u*v') / v^2.  More... | |
| struct | diff< ct_variable< other_id >, ct_variable< id > > | 
| Specialization of (d x_i) / (d x_j) for i != j.  More... | |
| struct | diff< ct_variable< id >, ct_variable< id > > | 
| Specialization for (d x) / (d x) = 1.  More... | |
| struct | diff< ct_constant< value >, ct_variable< id > > | 
| Specialization: The derivative of a constant is zero.  More... | |
Namespaces | |
| namespace | viennamath | 
The main ViennaMath namespace. All types and functions for the user reside here.  | |
| namespace | viennamath::result_of | 
The namespace containing a set of metafunctions which can be used by the ViennaMath library user.  | |
Functions | |
| template<typename InterfaceType > | |
| rt_expr< InterfaceType > | diff (rt_binary_expr< InterfaceType > const &e, rt_variable< InterfaceType > const &var) | 
| Returns the derivative of the provided runtime binary expression.   | |
| template<typename InterfaceType > | |
| rt_expr< InterfaceType > | diff (rt_unary_expr< InterfaceType > const &e, rt_variable< InterfaceType > const &var) | 
| Returns the derivative of the provided runtime unary expression.   | |
| template<typename InterfaceType > | |
| rt_expr< InterfaceType > | diff (rt_expr< InterfaceType > const &e, rt_variable< InterfaceType > const &var) | 
| Returns the derivative of the provided runtime expression wrapper.   | |
| template<typename InterfaceType , id_type id> | |
| rt_expr< InterfaceType > | diff (rt_binary_expr< InterfaceType > const &e, ct_variable< id > const &var) | 
| Returns the derivative of the provided runtime binary expression.   | |
| template<typename InterfaceType , id_type id> | |
| rt_expr< InterfaceType > | diff (rt_unary_expr< InterfaceType > const &e, ct_variable< id > const &var) | 
| Returns the derivative of the provided runtime unary expression.   | |
| template<typename InterfaceType , id_type id> | |
| rt_expr< InterfaceType > | diff (rt_expr< InterfaceType > const &e, ct_variable< id > const &var) | 
| Returns the derivative of the provided runtime expression wrapper.   | |
| template<typename InterfaceType > | |
| rt_expr< InterfaceType > | diff (rt_function_symbol< InterfaceType > const &other, rt_variable< InterfaceType > const &var) | 
| Returns a symbolic representation of a differentiated function.   | |
| template<typename InterfaceType , id_type id> | |
| rt_expr< InterfaceType > | diff (rt_function_symbol< InterfaceType > const &other, ct_variable< id > const &var) | 
| Returns a symbolic representation of a differentiated function.   | |
| template<typename InterfaceType > | |
| rt_constant< typename  InterfaceType::numeric_type >  | diff (typename InterfaceType::numeric_type value, rt_variable< InterfaceType > const &var) | 
| Overload for the derivative of a function.   | |
| template<typename OtherScalarType , typename InterfaceType > | |
| rt_constant< typename  InterfaceType::numeric_type >  | diff (rt_constant< OtherScalarType, InterfaceType > const &c, rt_variable< InterfaceType > const &var) | 
| Overload for the derivative of a ViennaMath runtime constant.   | |
| template<id_type other_id, typename InterfaceType , id_type id> | |
| rt_constant< typename  InterfaceType::numeric_type >  | diff (rt_variable< InterfaceType > const &c, rt_variable< InterfaceType > const &var) | 
| Overload for computing the derivative of a runtime variable.   | |
| template<typename ExpressionType , id_type id> | |
| result_of::diff < ExpressionType, ct_variable < id > >::result_type  | diff (ExpressionType const &c, ct_variable< id > const &var) | 
| The user function for differentiation of a compile time expression with respect to a compile time variable.   | |
Provides symbolic differentiation routines (runtime and compiletime).
 1.7.1