=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 for an upper limit are allowed as well (triggering the C-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 is given, the C engine will be used if possible. Other values (the C type engines) are determined internally as needed. The default is C 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 INSTALLTION REQUIREMENTS This module needs the GSL library installed and available. The C environment variable may be used to pass the C<--libs> linker flags; if this is not specified, the command C is executed to find them. Future plans include using an L module to provide the GSL in a more CPAN-friendly manner. =head1 SEE ALSO =over 4 =item * L =item * L =item * L =back =head1 SOURCE REPOSITORY L =head1 AUTHOR Joel Berger, Ejoel.a.berger@gmail.comE =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)