Symbolic Algebra in Pure Perl
This package supplies a set of functions and operators to manipulate Perl expressions algebraically:
Example symbols.pl
#!perl -w -I.. #______________________________________________________________________ # Symbolic algebra. # Perl License. # PhilipRBrenan@yahoo.com, 2004. #______________________________________________________________________ use Math::Algebra::Symbols hyper=>1; use Test::Simple tests=>5; ($n, $x, $y) = symbols(qw(n x y)); $a += ($x**8 - 1)/($x-1); $b += sin($x)**2 + cos($x)**2; $c += (sin($n*$x) + cos($n*$x))->d->d->d->d / (sin($n*$x)+cos($n*$x)); $d = tanh($x+$y) == (tanh($x)+tanh($y))/(1+tanh($x)*tanh($y)); ($e,$f) = @{($x**2 eq 5*$x-6) > $x}; print "$a\n$b\n$c\n$d\n$e,$f\n"; ok("$a" eq '$x+$x**2+$x**3+$x**4+$x**5+$x**6+$x**7+1'); ok("$b" eq '1'); ok("$c" eq '$n**4'); ok("$d" eq '1'); ok("$e,$f" eq '2,3');
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
This is alpha code. It is written in pure Perl. It uses the standard Perl install mechanism.
Download from CPAN, untar and:
perl Makefile.PL make make test make install
If you are on Windows, use nmake, available at:
http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-US/Nmake15.exe
Following the excellent work done by Steffen Müller (CPAN Author: SMUELLER), I believe that we should try to capture all known Mathematics symbolically in Perl. Indeed, can you say that you know any Mathematics at all if you cannot explain it in Pure Perl?
For bug reports or suggestions please send email to: philiprbrenan@yahoo.com
Help with this project would be appreciated:
Allow substitution and solution for simple expressions like miles/gallon.
Recognize sin, cos, sinh, cosh etc. in expressions involving exp.
Sigma,Product
Taylor series
Integrals
Fourier
Laplace
Groups
Sets
Graphing using Tk.
normalizeSqrts(), see t/polynomial.t
1 POD Error
The following errors were encountered while parsing the POD:
Non-ASCII character seen before =encoding in 'Müller'. Assuming CP1252
To install Math::Algebra::Symbols, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Math::Algebra::Symbols
CPAN shell
perl -MCPAN -e shell install Math::Algebra::Symbols
For more information on module installation, please visit the detailed CPAN module installation guide.