=head1 NAME
PerlGSL::Integration::SingleDim - A Perlish Interface to the GSL 1D Integration Library
=head1 SYNOPSIS
use PerlGSL::Integration::SingleDim qw/int_1d/;
my $result = int_1d(sub{ exp( -($_[0]**2) ) }, 0, 'Inf');
=head1 DESCRIPTION
This module is an interface to the GSL's Single Dimensional numerical integration routines.
=head1 FUNCTIONS
No functions are exported by default.
=over 4
=item int_1d
This is the main interface provided by the module. It takes three required arguments and an (optional) options hash. The first argument is a subroutine reference defining the integrand. The next two are numbers defining the lower and upper bound of integration. The strings C<-Inf> for a lower limit, and C<Inf> for an upper limit are allowed as well (triggering the C<qagi>-type engines).
The options hash reference accepts the following keys:
=over 4
=item *
epsabs - The maximum allowable absolute error. The default is C<0> (ignored).
=item *
epsrel - The maximum allowable relative error. The default is C<1e-7>.
=item *
calls - The number of points sampled in the function space. The default is 1000.
=item *
engine - This key is mostly for internal use, however if the value C<fast> is given, the C<qng> engine will be used if possible. Other values (the C<qag> type engines) are determined internally as needed. The default is C<qag> with a 21 point sample (this sampling setting is not configurable yet, but this is a reasonable choice).
=back
In scalar context the result is returned, in list context the result and the standard deviation (error) are returned.
=back
=head1 INSTALLATION REQUIREMENTS
This module needs the GSL library installed and available. The C<PERLGSL_LIBS> environment variable may be used to pass the C<--libs> linker flags; if this is not specified, the command C<gsl-config --libs> is executed to find them. Future plans include using an L<Alien> module to provide the GSL in a more CPAN-friendly manner.
=head1 SEE ALSO
=over 4
=item *
L<PerlGSL>
=item *
L<PerlGSL::Integration::MultiDim>
=item *
L<
http://www.gnu.org/software/gsl/manual/html_node/Numerical-Integration.html>
=back
=head1 SOURCE REPOSITORY
L<
http://github.com/jberger/PerlGSL-Integration-SingleDim>
=head1 AUTHOR
Joel Berger, E<lt>
[email protected]<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2012 by Joel Berger
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
The GSL is licensed under the terms of the GNU General Public License (GPL)