Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

executable file 36 lines (29 sloc) 1.038 kb
#!/usr/bin/perl
# interfc
# v0.2 Keith Lofstrom 2008 Sept 18
# with tweaks by Jonathan Leto
#
# Compare the results of numerical integration of
# (2.0/sqrt(PI)*integral[x,inf](e^(-x^2) ) with the
# erfc() function.
#
# The results are pretty good, within 1e-14 or better
# for the examples tried
use Math::GSL::SF qw/:all/;
use Math::GSL::Integration qw/:all/;
use Math::GSL::Const qw/:all/;
use strict;
my $workspace = gsl_integration_workspace_alloc(101);
my $maxdiff = 0;
printf " arg erfc int() difference\n";
for( my $i=-5.2 ; $i<=5.201 ; $i += 0.1 ) {
my $e = gsl_sf_erfc($i);
my ($status, $result, $abserr ) = gsl_integration_qagiu(
sub { exp( -($_[0]**2) ) },
$i, 0, 1e-9, 100, $workspace );
my $yy = $M_2_SQRTPI * $result ;
my $diff=$yy-$e ;
$maxdiff = abs($diff) > $maxdiff ? abs($diff) : $maxdiff;
printf "%4.1f%18.12f%18.12f %.18g\n", $i, $e, $yy, $diff ;
}
printf "Maximum local error: %.12g\n", $maxdiff;
Jump to Line
Something went wrong with that request. Please try again.