![]() |
OASIS
Open Algebra Software
|
The Derivative class template calculates the derivative of given expressions. More...
#include <Oasis/Derivative.hpp>
Public Member Functions | |
| Derivative ()=default | |
| Derivative (const Derivative< DependentT, IndependentT > &other) | |
| Derivative (const DependentT &exp, const IndependentT &var) | |
| auto | operator= (const Derivative &other) -> Derivative &=default |
Public Member Functions inherited from Oasis::BinaryExpression< DerivedT, MostSigOpT, LeastSigOpT > | |
| BinaryExpression ()=default | |
| BinaryExpression (const BinaryExpression &other) | |
| BinaryExpression (const MostSigOpT &mostSigOp, const LeastSigOpT &leastSigOp) | |
| template<IExpression Op1T, IExpression Op2T, IExpression... OpsT> | |
| BinaryExpression (const Op1T &op1, const Op2T &op2, const OpsT &... ops) | |
| auto | Copy () const -> std::unique_ptr< Expression > final |
| Copies this expression. | |
| auto | Differentiate (const Expression &differentiationVariable) const -> std::unique_ptr< Expression > override |
| Tries to differentiate this function. | |
| auto | Equals (const Expression &other) const -> bool final |
| Compares this expression to another expression for equality. | |
| auto | Generalize () const -> std::unique_ptr< Expression > final |
| Converts this expression to a more general expression. | |
| auto | Integrate (const Expression &integrationVariable) const -> std::unique_ptr< Expression > override |
| Attempts to integrate this expression using integration rules. | |
| auto | StructurallyEquivalent (const Expression &other) const -> bool final |
| Checks whether this expression is structurally equivalent to another expression. | |
| auto | Flatten (std::vector< std::unique_ptr< Expression > > &out) const -> void |
| Flattens this expression. | |
| auto | GetMostSigOp () const -> const MostSigOpT & |
| Gets the most significant operand of this expression. | |
| auto | GetLeastSigOp () const -> const LeastSigOpT & |
| Gets the least significant operand of this expression. | |
| auto | HasMostSigOp () const -> bool |
| Gets whether this expression has a most significant operand. | |
| auto | HasLeastSigOp () const -> bool |
| Gets whether this expression has a least significant operand. | |
| template<typename T > requires IsAnyOf<T, MostSigOpT, Expression> | |
| auto | SetMostSigOp (const T &op) -> bool |
| Sets the most significant operand of this expression. | |
| template<typename T > requires IsAnyOf<T, LeastSigOpT, Expression> | |
| auto | SetLeastSigOp (const T &op) -> bool |
| Sets the least significant operand of this expression. | |
| auto | Substitute (const Expression &var, const Expression &val) -> std::unique_ptr< Expression > override |
| auto | SwapOperands () const -> DerivedT< LeastSigOpT, MostSigOpT > |
| Swaps the operands of this expression. | |
| auto | operator= (const BinaryExpression &other) -> BinaryExpression &=default |
| auto | AcceptInternal (Visitor &visitor) const -> any override |
| This function serializes the expression object. | |
Public Member Functions inherited from Oasis::Expression | |
| auto | FindZeros () const -> std::vector< std::unique_ptr< Expression > > |
| The FindZeros function finds all rational real zeros, and up to 2 irrational/complex zeros of a polynomial. | |
| virtual auto | GetCategory () const -> uint32_t |
| Gets the category of this expression. | |
| virtual auto | GetType () const -> ExpressionType |
| Gets the type of this expression. | |
| virtual auto | IntegrateWithBounds (const Expression &, const Expression &, const Expression &) -> std::unique_ptr< Expression > |
| Attempts to integrate this expression using integration rules. | |
| template<IExpression T> | |
| bool | Is () const |
| Gets whether this expression is of a specific type. | |
| template<template< typename > typename T> requires (DerivedFromUnaryExpression<T<Expression>> && !DerivedFromBinaryExpression<T<Expression>>) | |
| bool | Is () const |
| template<template< typename, typename > typename T> requires DerivedFromBinaryExpression<T<Expression, Expression>> | |
| bool | Is () const |
| auto | Simplify () const -> std::unique_ptr< Expression > |
| Simplifies this expression. | |
| template<IVisitor T> requires ExpectedWithString<typename T::RetT> | |
| auto | Accept (T &visitor) const -> std::expected< typename T::RetT, std::string_view > |
| template<IVisitor T> requires ExpectedWithString<typename T::RetT> | |
| auto | Accept (T &visitor) const -> typename T::RetT |
| virtual | ~Expression ()=default |
Additional Inherited Members | |
Public Attributes inherited from Oasis::BinaryExpression< DerivedT, MostSigOpT, LeastSigOpT > | |
| std::unique_ptr< MostSigOpT > | mostSigOp |
| std::unique_ptr< LeastSigOpT > | leastSigOp |
The Derivative class template calculates the derivative of given expressions.
The Derivative class template can take two and only two parameters.
|
default |
|
inline |
|
inline |
|
default |