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¶
Please send feedback, bug reports, and support requests to the Math::Symbolic
support mailing list: math-symbolic-support at lists dot sourceforge dot net.
Please consider letting us know how you use Math::Symbolic. Thank you.
If you're interested in helping with the development or extending the module's
functionality, please contact the developers' mailing list:
math-symbolic-develop at lists dot sourceforge dot net.
List of contributors:
Steffen Mueller, symbolic-module at steffen-mueller dot net
Stray Toaster, mwk at users dot sourceforge dot net
Oliver Ebenhoeh
SEE ALSO¶
New versions of this module can be found on
http://steffen-mueller.net or CPAN.
The module development takes place on Sourceforge at
http://sourceforge.net/projects/math-symbolic/
Math::Symbolic