NAME
Games::Go::Erf - error and scaled and unscaled complementary error functions and their inverses
SYNOPSIS
use Games::Go::Erf qw(erf erfc erfcx erfinv erfcinv erfcxinv);
Imports all the routines explicitly. Use a subset of the list for the routines you want.
use Games::Go::Erf qw(:all);
Imports all the routines, as well.
DESCRIPTION
This module implements the error function, erf, and its inverse erfinv, the complementary error function, erfc, and its inverse erfcinv, and the scaled complementary error function, erfcx, and its inverse erfcxinv.
For references and details about the algorithms, see the comments inside this module.
FUNCTIONS
- erf EXPR
- erf
-
Returns the error function evaluated at EXPR. If EXPR is omitted,
$_is used. The error function iserf(x) = 2/sqrt(PI) * integral from 0 to x of exp(-t*t) dt - erfinv EXPR
- erfinv
-
Returns the inverse of the error function evaluated at EXPR. If EXPR is omitted,
$_is used. - erfc EXPR
- erfc
-
Returns the complementary error function evaluated at EXPR. If EXPR is omitted,
$_is used. The complementary error function iserfc(x) = 2/sqrt(PI) * integral from x to infinity of exp(-t*t) dt = 1 - erf(x)Here is a function returning the lower tail probability of the standard normal distribution function
use Games::Go::Erf qw(erfc); sub ltpnorm ($) { erfc( - $_[0] / sqrt(2) )/2; } - erfcinv EXPR
- erfcinv
-
Returns the inverse complementary error function evaluated at EXPR. If EXPR is omitted,
$_is used.Here is a function returning the lower tail quantile of the standard normal distribution function
use Games::Go::Erf qw(erfcinv); sub ltqnorm ($) { -sqrt(2) * erfcinv( 2 * $_[0] ); } - erfcx EXPR
- erfcx
-
Returns the scaled complementary error function evaluated at EXPR. If EXPR is omitted,
$_is used. The scaled complementary error function iserfcx(x) = exp(x*x) * erfc(x) - erfcxinv EXPR
- erfcxinv
-
Returns the inverse scaled complementary error function evaluated at EXPR. If EXPR is omitted,
$_is used.
HISTORY
- Version 0.03
-
Added the inverse functions.
- Version 0.02
-
Minor code tweaking.
- Version 0.01
-
First release.
AUTHOR
Perl translation by Peter J. Acklam <pjacklam@online.no>
FORTRAN code by W. J. Cody, Argonne National Laboratory, March 19, 1990. FORTRAN code can be found at http://www.netlib.org/specfun/erf
COPYRIGHT
Copyright (c) 1999-2000 Peter J. Acklam. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.