Math::Symbolic::Custom::Transformation is an extension to the
Math::Symbolic module. You're assumed to be remotely familiar with that
module throughout the documentation.
This package implements transformations of Math::Symbolic trees using
Math::Symbolic trees. I'll try to explain what this means in the following
paragraphs.
Until now, in order to be able to inspect a Math::Symbolic tree, one had
to use the low-level Math::Symbolic interface like comparing the top
node's term type with a constant (such as T_OPERATOR) and then its
operator type with more constants. This has changed with the release of
Math::Symbolic::Custom::Pattern.
To modify the tree, you had to use equally low-level or even
encapsulation-breaking methods. This is meant to be changed by this
distribution.
Math::FixedPrecision provides a way to do decimal math without floating
point errors.
WARNING: In order for all tests to complete successfully, you must replace
the stock BigFloat.pm with the one located in this distribution. This file
will also be updated as part of the 5.6.1 distribution, when that is released.
Please copy the included BigFloat.pm to {PERLVERSION}/lib/Math/BigFloat.pm.
This module extends the functionality of Math::Symbolic by offering
facilities to test a Math::Symbolic tree for existance of a specific
subtree in the Math::Symbolic tree.
This module was adapted from Math::Vector.
It uses most of the same algorithms, and currently preserves the same
names as the original functions, though some aliases have been added
to make the interface more natural.
The "object" for the object oriented calling style is a blessed array
reference which contains a vector of the form [x,y,z]. Methods will
typically return a list.
The rpn function will take a scalar or list of sclars which
contain an RPN expression as a set of comma delimited values and
operators, and return the result or stack, depending on context.
Mathematical subprogram libraries for Fortran 77.
Created by CalTech.
This module is an extension to the Math::Symbolic module. A basic
familiarity with that module is required.
The Math::Symbolic::Custom::Pattern module implements pattern matching
routines on Math::Symbolic trees. The patterns itself are constructed from
Math::Symbolic trees with just a few variables which have a special
meaning.
The module provides two interfaces. You can use the new() and match()
methods this class provides, or you can use the to_pattern() and
is_of_form() methods on any Math::Symbolic tree. (Exported by the
Math::Symbolic::Custom::Pattern::Export module. Refer to that module for
details on is_of_form().)
Math::BigInt::GMP - Use the GMP library for Math::BigInt routines.
Provides support for big integer calculations via means of the GMP c-library.
Math::BigInt::GMP now no longer uses Math::GMP, but provides its own XS layer
to access the GMP c-library. This cuts out another (perl sub routine) layer and
also reduces the memory footprint by not loading Math::GMP and Carp at all.
This module offers facilities to turn off the builtin Math::Symbolic
simplification routines and replace them with routines that just clone the
objects. You may want to do this in cases where the simplification
routines fail to simplify the Math::Symbolic trees and waste a lot of CPU
time. (For example, calculating the first order Taylor polynomial of a
moderately complex test function was sped up by 100% on my machine.)
A word of caution, however: If you turn off the simplification routines,
some procedures may produce very, very large trees. One such procedure
would be the consecutive application of many derivatives to a product
without intermediate simplification. This would yield exponential growth
of nodes. (And may, in fact, still do if you keep the simplification
heuristics turned on because most expressions cannot be simplified
significantly.)
This installs Math::Symbolic and a load of easily installable (i.e. pure Perl)
plugins that make the module so much more powerful.