Provided by: libmath-calculus-newtonraphson-perl_0.1-4_all 

NAME
Math::Calculus::NewtonRaphson - Algebraic Newton Raphson Implementation
SYNOPSIS
use Math::Calculus::NewtonRaphson;
# Create an object.
my $exp = Math::Calculus::NewtonRaphson->new;
# Set a variable and expression.
$exp->addVariable('x');
$exp->setExpression('x^2 - 5') or die $exp->getError;
# Apply Newton Raphson.
my $result = $exp->newtonRaphson(2) or die $exp->getError;
print $result; # Prints 1.4142...
DESCRIPTION
This module can take an algebraic expression, parses it and then uses the Newton Raphson method to solve
the it. The Newton Raphson method relies on the fact that the expression you pass in evaluates to zero
where there is a solution. That is, to solve:-
x^2 = 5
You would need to pass in:-
x^2 - 5
It understands expressions containing any of the operators +, -, *, / and ^ (raise to power), bracketed
expressions to enable correct precedence and the functions ln, exp, sin, cos, tan, sec, cosec, cot, sinh,
cosh, tanh, sech, cosech, coth, asin, acos, atan, asinh, acosh and atanh.
EXPORT
None by default.
METHODS
new
$exp = Math::Calculus::NewtonRaphson->new;
Creates a new instance of the Newton Raphson object, which can hold an individual expression.
addVariable
$exp->addVariable('x');
Sets a certain named value in the expression as being a variable. A named value must be an alphabetic
character.
setExpression
$exp->setExpression('x^2 + 5*x);
Takes an expression in human-readable form and stores it internally as a tree structure, checking it
is a valid expression that the module can understand in the process. Note that the engine is strict
about syntax. For example, note above that you must write 5*x and not just 5x. Whitespace is allowed
in the expression, but does not have any effect on precedence. If you require control of precedence,
use brackets; bracketed expressions will always be evaluated first, as you would normally expect. The
module follows the BODMAS precedence convention. Returns undef on failure and a true value on
success.
getExpression
$expr = $exp->getExpression;
Returns a textaul, human readable representation of the expression that is being stored.
newtonRaphson
$result = $exp->newtonRaphson($variable, $guess, %mappings);
Attempts to solve the expression for the given variable using the Newton Raphson method, using the
passed value as the first guess. The mappings hash allows any other non-numeric constants to be
mapped to numeric values - a pre-requisite for solving such equations.
getTraceback
$exp->getTraceback;
When setExpression and newtonRaphson are called, a traceback is generated to describe what these
functions did. If an error occurs, this traceback can be extremely useful in helping track down the
source of the error.
getError
$exp->getError;
When any method other than getTraceback is called, the error message stored is cleared, and then any
errors that occur during the execution of the method are stored. If failure occurs, call this method
to get a textual representation of the error.
SEE ALSO
The author of this module has a website at <http://www.jwcs.net/~jonathan/>, which has the latest news
about the module and a web-based frontend to allow you to test the module out for yourself.
AUTHOR
Jonathan Worthington, <jonathan@jwcs.net>
COPYRIGHT AND LICENSE
Copyright (C) 2004 by Jonathan Worthington
This library is free software; you can redistribute it and/or modify it under the same terms as Perl
itself, either Perl version 5.8.1 or, at your option, any later version of Perl 5 you may have available.
perl v5.36.0 2022-12-08 NewtonRaphson(3pm)