Math::Symbolic version 0.129
============================
Math::Symbolic is intended to offer symbolic calculation capabilities
to the Perl programmer without using external (and commercial) libraries
and/or applications.
Unless, however, some interested and knowledgable developers turn up to
participate in the development, the library will be severely limited by
my experience in the area. Symbolic calculations are an active field of
research in CS.
Some information on the state of things:
The interface has been improving steadily. Nonetheless, it'll take some more
polishing. Since version 0.08, a parser for algebraic expressions is
integrated into Math::Symbolic. Since version 0.106, the parser also
parses unknown variables, and since version 0.109, it parses variable
signatures.
Since version 0.102, there is an overloaded interface for arithmetic
operators and some overloadable functions and contexts.
The interface is not optimally documented. Please also refer to the tests
and example programs.
Partial derivatives of logarithms, exponentiations, arithmetic terms
(*,/,+,- and unary minus as well as variables and constants),
trigonometric functions, inverse trigonometric functions, hyperbolic functions,
and area hyperbolic functions work rather well - albeit slowly. Simplification
of algebraic terms is severely limited at this time and its interface has been
significantly refactored in version 0.111. Since then, all method calls that
start with 'is_', 'test_', 'apply_', 'mod_', 'contains_', or 'to_' are
delegated to a special namespace that is populated from user-defined modules
adding reasonably simple means of extension.
Additionally, all builtin tree-modifying and tree-testing methods are being
moved to the aforementioned namespace.
Version 0.116 of this module has been used in conjunction with Math::Complex
to offer symbolic calculation with complex numbers. Please have a look at
the enclosed example scripts.
Version 0.119 introduced some calculus related subroutines including
the symbolic computation of Taylor Polynomials and the associated errors from
Math::Symbolic trees.
Vectorial calculus including gradients, divergence, rotation, Jacobi- and
Hesse matrices, Wronskian Determinants, directional derivatives, total
differentials, and two dimensional Taylor Polynomials is supported by the
Math::Symbolic::VectorCalculus module which is part of the distribution but
not loaded by default.
Similarily, algebra related functions like determinants are offered by
Math::Symbolic::MiscAlgebra.
Since version 0.122, Math::Symbolic trees can be dumped as LaTeX via
the to_latex() method.
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:
Test::More
Exporter
Parse::RecDescent
SEE ALSO
Current versions of this module may be found on http://steffen-mueller.net or
CPAN. The development takes place on Sourceforge at
http://sourceforge.net/projects/math-symbolic
Please send your suggestions, inquiries, and feedback to
math-symbolic-support at lists dot sourceforge dot net. Feel free to
subscribe to the developers mailing list:
math-symbolic-develop at lists dot sourceforge dot net
COPYRIGHT AND LICENCE
Copyright (C) 2003-2004 Steffen Mueller
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
CONTRIBUTIONS
Steffen Müller, symbolic-module at steffen-mueller dot net
Stray Toaster, mwk at users dot sourceforge dot net
Oliver Ebenhöh