Math::Symbolic::Custom::Transformation is a Perl 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.

SYNOPSIS

use Math::Symbolic::Custom::Transformation;
my $trafo = Math::Symbolic::Custom::Transformation->new(
'TREE_x + TREE_x' => '2 * TREE_x'
);

my $modified = $trafo->apply($math_symbolic_tree);
if (defined $modified) {
print "Outermost operator is a sum of two identical trees.
";
print "Transformed it into a product. ($modified)
";
}
else {
print "Transformation could not be applied.
";
}

# shortcut: new_trafo
use Math::Symbolic::Custom::Transformation qw/new_trafo/;

# use the value() function to have the transformation compute the value
# of the expression after the replacements. simplify{} works similar.
my $another_trafo = new_trafo(
'TREE_foo / CONST_bar' => 'value{1/CONST_bar} * TREE_foo'
);

# If you'll need the same transformation but don't want to keep it around in
# an object, just do this:
use Memoize;
memoize('new_trafo');
# Then, passing the same transformation strings will result in a speedup of
# about a factor 130 (on my machine) as compared to complete recreation
# from strings. This is only 20% slower than using an existing. .

Similar software

Math::Symbolic::Operator
(Popularity: )
:
Math::Symbolic::Operator is a Perl module with operators in symbolic calculations.

SYNOPSIS

use Math::Symbolic::Operator;

my $sum = Math::Symbolic::Operator->new('+', $term1, $term2);

# or:
my $division =
Math::Symbolic::Operator->new(
{
type => B_DIVISON,
operands => [$term1, $term2],
}
);

my $derivative =
Math::Symbolic::Operator->new(
{
type ... Math::Symbolic::Constant
(Popularity: )
:
Math::Symbolic::Constant is a Perl module that offers constants in symbolic calculations.

SYNOPSIS

use Math::Symbolic::Constant;
my $const = Math::Symbolic::Constant->new(25);
my $zero = Math::Symbolic::Constant->zero();
my $one = Math::Symbolic::Constant->one();
my $euler = Math::Symbolic::Constant->euler();
# e = 2.718281828...

This module implements numeric constants for Math::Symbolic trees.. ... Math::Symbolic::Variable
(Popularity: )
:
Math::Symbolic::Variable is a Perl module which implements variables in symbolic calculations.

SYNOPSIS

use Math::Symbolic::Variable;

my $var1 = Math::Symbolic::Variable->new('name');
$var1->value(5);

my $var2 = Math::Symbolic::Variable->new('x', 2);

my $var3 =
Math::Symbolic::Variable->new(
{
name => 'variable',
value => 1,
}
);

This class implements variables for ... #Calculation Component
(Popularity: )
:
#Calculation component is a powerful calculation engine for your applications. This ActiveX component integrates expression parsing and evaluation. Generally speaking, #Calculation is very useful in two main areas: first, when a formula has to be defined and evaluated at runtime ... Math::Logic
(Popularity: )
:
Math::Logic is a Perl module that provides pure 2, 3 or multi-value logic.

use Math::Logic ':NUM' ; # $TRUE $FALSE $UNDEF -- what you normally want

use ... Math::GMPq
(Popularity: )
:
Math::GMPq is a bigrational Perl module utilising the Gnu MP (GMP) library. Basically this module simply wraps all of the 'mpq' (rational number) functions provided by that library. The documentation below extensively plagiarises the GMP documentation (which can be found ... Math::MPC
(Popularity: )
:
A multiple precision complex number module utilising the MPC library. Basically, this module simply wraps the 'mpc' complex number functions provided by that library. Operator overloading is also available.

Math::MPC is a Perl module that needs the MPC, MPFR and GMP ... Dial for Linux
(Popularity: )
:
Dia is designed to be much like the commercial Windows program 'Visio'. It can be used to draw many different kinds of diagrams.

Dia project currently has special objects to help draw entity relationship diagrams, UML diagrams, network diagrams, flowcharts, and ... Movie Player Pro ActiveX OCX SDK
(Popularity: )
:
For Professional Windows Developers who need to provide video/audio media playback function within their business application.

Overlay text and bitmap on video in same time.
Multi-Line Scrolling text on video.
Support Mov, M4a, Mp4, 3gp, Divx, AVI, WMV, MPEG-1,RM(need RM ... Skypz NewsLine PRL v2.4
(Popularity: )
:
Features of Skypz NewsLine PRL v2.4

General:
1- Easy to install.
2- The administration/publishing interface is web browser-based, so it can be accessed from anywhere.
3- The site design can be completely customized.
4- Format content easily with the WYSIWYG ... Math::Symbolic::Constant
(Popularity: )
:
Math::Symbolic::Constant is a Perl module that offers constants in symbolic calculations.

SYNOPSIS

use Math::Symbolic::Constant;
my $const = Math::Symbolic::Constant->new(25);
my $zero = Math::Symbolic::Constant->zero();
my $one = Math::Symbolic::Constant->one();
my $euler = Math::Symbolic::Constant->euler();
# e = 2.718281828...

This module implements numeric constants for Math::Symbolic trees.. ... Mozilla Firefox for Linux
(Popularity: )
:
Mozilla Firefox project is a redesign of Mozilla's browser component, written using the XUL user interface language and designed to be cross-platform.

Firefoxefox browser is a fast, small and very easy to use browser that offers many advantages over other web ...