The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Math::Symbolic::Derivative - Derive Math::symbolic trees

SYNOPSIS

  use Math::Symbolic::Derivative qw/:all/;
  $derived = partial_derivative($term, $variable);
  # or:
  $derived = total_derivative($term, $variable);

DESCRIPTION

This module implements derivatives for Math::Symbolic trees. Derivatives are Math::Symbolic::Operators, but their implementation is drawn from this module because it is significantly more complex than the implementation of most operators.

Derivatives come in two flavours. There are partial- and total derivatives.

Explaining the precise difference between partial- and total derivatives is beyond the scope of this document, but in the context of Math::Symbolic, the difference is simply that partial derivatives just derive in terms of explicit dependency on the differential variable while total derivatives recongnize implicit dependencies from variable signatures.

Partial derivatives are faster, have been tested more thoroughly, and are probably what you want for simpler applications anyway.

EXPORT

None by default. But you may choose to import the total_derivative() and partial_derivative() functions.

CLASS DATA

The package variable %Partial_Rules contains partial derivative rules as key-value pairs of names and subroutines.

SUBROUTINES

partial_derivative

Takes a Math::Symbolic tree and a Math::Symbolic::Variable as argument. third argument is an optional boolean indicating whether or not the tree has to be cloned before being derived. If it is true, the subroutine happily stomps on any code that might rely on any components of the Math::Symbolic tree that was passed to the sub as first argument.

total_derivative

Takes a Math::Symbolic tree and a Math::Symbolic::Variable as argument. third argument is an optional boolean indicating whether or not the tree has to be cloned before being derived. If it is true, the subroutine happily stomps on any code that might rely on any components of the Math::Symbolic tree that was passed to the sub as first argument.

AUTHOR

Steffen Mueller, <symbolic-module at steffen-mueller dot net>

New versions of this module can be found on http://steffen-mueller.net or CPAN.

SEE ALSO

Math::Symbolic