NAME
Math::GSL::Integration - Routines for performing numerical integration (quadrature) of a function in one dimension
SYNOPSIS
This module is not yet implemented. Patches Welcome!
use Math::GSL::Integration qw /:all/;
DESCRIPTION
Here is a list of all the functions in this module :
gsl_integration_workspace_alloc($n)
- This function allocates a workspace sufficient to hold $n double precision intervals, their integration results and error estimates.gsl_integration_workspace_free($w)
- This function frees the memory associated with the workspace $w.gsl_integration_qaws_table_alloc($alpha, $beta, $mu, $nu)
- This function allocates space for a gsl_integration_qaws_table struct describing a singular weight function W(x) with the parameters ($alpha, $beta, $mu, $nu), W(x) = (x-a)^alpha (b-x)^beta log^mu (x-a) log^nu (b-x) where $alpha > -1, $beta > -1, and $mu = 0, 1, $nu = 0, 1. The weight function can take four different forms depending on the values of $mu and $nu,W(x) = (x-a)^alpha (b-x)^beta (mu = 0, nu = 0) W(x) = (x-a)^alpha (b-x)^beta log(x-a) (mu = 1, nu = 0) W(x) = (x-a)^alpha (b-x)^beta log(b-x) (mu = 0, nu = 1) W(x) = (x-a)^alpha (b-x)^beta log(x-a) log(b-x) (mu = 1, nu = 1)
The singular points (a,b) do not have to be specified until the integral is computed, where they are the endpoints of the integration range. The function returns a pointer to the newly allocated table gsl_integration_qaws_table if no errors were detected, and 0 in the case of error.
gsl_integration_qaws_table_set($t, $alpha, $beta, $mu, $nu)
- This function modifies the parameters ($alpha, $beta, $mu, $nu) of an existing gsl_integration_qaws_table struct $t.gsl_integration_qaws_table_free($t)
- This function frees all the memory associated with the gsl_integration_qaws_table struct $t.gsl_integration_qawo_table_alloc($omega, $L, $sine, $n)
gsl_integration_qawo_table_set($t, $omega, $L, $sine, $n)
- This function changes the parameters omega, L and sine of the existing workspace $t.gsl_integration_qawo_table_set_length($t, $L)
- This function allows the length parameter $L of the workspace $t to be changed.gsl_integration_qawo_table_free($t)
- This function frees all the memory associated with the workspace $t.gsl_integration_qk15
gsl_integration_qk21
gsl_integration_qk31
gsl_integration_qk41
gsl_integration_qk51
gsl_integration_qk61
gsl_integration_qcheb
gsl_integration_qk
gsl_integration_qng
gsl_integration_qag
gsl_integration_qagi
gsl_integration_qagiu
gsl_integration_qagil
gsl_integration_qags($func,$a,$b,$epsabs,$epsrel,$limit,$workspace)
($status, $result, $abserr) = gsl_integration_qags ( sub { 1/$_[0]} , 1, 10, 0, 1e-7, 1000, $workspace, ); This function applies the Gauss-Kronrod 21-point integration rule adaptively until an estimate of the integral of $func over ($a,$b) is achieved within the desired absolute and relative error limits, $epsabs and $epsrel.
gsl_integration_qagp
gsl_integration_qawc
gsl_integration_qaws
gsl_integration_qawo
gsl_integration_qawf
This module also includes the following constants :
$GSL_INTEG_COSINE
$GSL_INTEG_SINE
$GSL_INTEG_GAUSS15
$GSL_INTEG_GAUSS21
$GSL_INTEG_GAUSS31
$GSL_INTEG_GAUSS41
$GSL_INTEG_GAUSS51
$GSL_INTEG_GAUSS61
The following errors constants are part of the Math::GSL::Errno module and can be returned by the gsl_integration functions :
$GSL_EMAXITER - the maximum number of subdivisions was exceeded.
$GSL_EROUND - cannot reach tolerance because of roundoff error, or roundoff error was detected in the extrapolation table.
GSL_ESING - a non-integrable singularity or other bad integrand behavior was found in the integration interval.
GSL_EDIVERGE - the integral is divergent, or too slowly convergent to be integrated numerically.
For more informations on the functions, we refer you to the GSL offcial documentation: http://www.gnu.org/software/gsl/manual/html_node/
Tip : search on google: site:http://www.gnu.org/software/gsl/manual/html_node/ name_of_the_function_you_want
AUTHORS
Jonathan Leto <jonathan@leto.net> and Thierry Moisan <thierry.moisan@gmail.com>
COPYRIGHT AND LICENSE
Copyright (C) 2008 Jonathan Leto and Thierry Moisan
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.