This module is an extension to the Math::Symbolic module. A basic familiarity with that module is required.
Math::Symbolic offers some builtin simplification routines. These, however, are not capable of complex simplifications. This extension offers facilities to override the default simplification routines through means of subclassing this module. A subclass of this module is required to define a C<simplify> object method that implements a simplification of Math::Symbolic trees.
From the synopsis:
package Math::Symbolic::Custom::MySimplification;
use base 'Math::Symbolic::Custom::Simplification';
sub simplify {
my $tree = shift;
# ... simplify tree ...
return $simplified;
}
1;
# Then, in another portion of your code.
Math::Symbolic::Custom::MySimplification->register();
# Code that uses MySimplification:
# $tree->simplify() invokes
# Math::Symbolic::Custom::MySimplification::simplify($tree).
Math::Symbolic::Custom::MySimplification->unregister();
# Code that uses the default simplification routines or whichever # simplification routines where registered before.
INSTALLATION
To install this module type the following:
perl Makefile.PL
make
make test
make install
DEPENDENCIES
This module requires these other modules and libraries:
Math::Symbolic (version 0.150 and higher) Test::More
COPYRIGHT AND LICENCE
Copyright (C) 2005 by Steffen Müller
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.6.1, at your option, any later version of Perl 5 you may have available.