Scilab Home Page | Wiki | Bug Tracker | Forge | Mailing List Archives | Scilab Online Help | File Exchange
ATOMS : Integration Problems details
Login with GitLab

Integration Problems

Provides 23 functions for multidimensional integration.
(3968 downloads for this version - 11663 downloads for all versions)
Details
Version
0.4.1
Authors
Michael Baudin - Digiteo
John Burkardt
Alan Genz
Owner Organization
Digiteo, and others
Maintainers
Vincent COUVERT
Allan CORNET
Michael BAUDIN
License
Dependencies
Creation Date
July 17, 2014
Source created on
Scilab 5.5.x
Binaries available on
Scilab 5.5.x:
Windows 64-bit Windows 32-bit Linux 64-bit Linux 32-bit macOS
Install command
--> atomsInstall("intprbs")
Description
            Purpose
-------

The goal of this toolbox is to provide integration test problems
in order to test integration algorithms.
This allows to test integration algorithms on a larger base of 
functions.
Developping these functions is error-prone, so that using this 
module allows to save much time.
Moreover, testing an algorithm leads to the difficulty 
of chosing a set of test functions.
But all functions are not equally difficult to integrate; 
while some are simple, other might be particularily difficult,
leading to poor results. 
Comparing two algorithms, each on a different set of functions 
will not lead to an accurate view of the algorithm.
This module allows to compare the algorithms more precisely.

In spirit, this module has the same motivations as the Unconstrained 
Optimization Scilab toolbox based on the More, Garbow and Hillstrom 
collection of functions.

A User Manual is available in pdf at :

http://forge.scilab.org/index.php/p/intprbs/downloads/344/

It provides a detailed analysis of each function and references
where each function is used or analysed.

Overview
--------

The module currently provides 23 functions :

No.    file            n    Name
---    ----            -    ----
#  1.  SUM             (10) Sum of X  
#  2.  SQSUM           (10) Sum of Squares
#  3.  SUMSQROOT       (10) Sum of Square Roots
#  4.  PRODONES        (10) Product of Signed Ones
#  5.  PRODEXP         (10) Product of Exponentials
#  6.  PRODCUB         (10) Product of Cubes
#  7.  PRODX           (10) Product of X
#  8.  SUMFIFJ         (10) Sum of fi fj
#  9.  SUMF1FJ         (10) Sum of f1 fj
# 10.  HELLEKALEK      (10) Hellekalek
# 11.  ROOSARNOLD1     (10) Roos and Arnold 1
# 12.  ROOSARNOLD2     (10) Roos and Arnold 2
# 13.  ROOSARNOLD3     (10) Roos and Arnold 3
# 14.  RST1            (10) Radovic, Sobol, Tichy (aj=1)
# 15.  RST2            (10) Radovic, Sobol, Tichy (aj=j)
# 16.  RST3            (10) Radovic, Sobol, Tichy (aj=j^2)
# 17.  SOBOLPROD       (10) Sobol Product
# 18.  OSCILL          (6)  Genz - Oscillatory
# 19.  PRPEAK          (6)  Genz - Product Peak
# 20.  CORPEAK         (6)  Genz - Corner Peak
# 21.  GAUSSIAN        (6)  Genz - Gaussian
# 22.  C0              (6)  Genz - C0 
# 23.  DISCONT         (6)  Genz - Discontinuous

Features
---------

The following is a list of functions of the module.

 * intprb_getexpect : Returns the expectation of the problem.
 * intprb_getfcn : Returns the function value.
 * intprb_getname : Returns the name.
 * intprb_getproblems : Lists the problems.
 * intprb_getsetup : Returns the parameters of the problem.
 * intprb_getvariance : Compute the variance.
 * intprb_getvarprbs : Returns the array of problems with variable n.
 * Integration Algorithms
   * intprb_crudeld : Estimates a multidimensional integral using a Low
Discrepancy sequence.
   * intprb_crudemc : Estimates a multidimensional integral using Monte Carlo.
   * intprb_getcrudeld : Uses a crude Quasi Monte-Carlo to estimate the
integral.
   * intprb_getcrudemc : Uses a crude Monte-Carlo to estimate the integral.
   * intprb_montecarlo : Estimates a multidimensional integral using iterated
Monte Carlo.
 * Support Functions
   * intprb_contour : Plots a 2D contour of the function.
   * intprb_muvblockupdate : Update the mean and the variance of x, given the
mean and the value of disjoint parts of x.
   * intprb_muvstepstart : Returns the starting values for the step-by-step
(mean,variance) computation.
   * intprb_muvstepstop : Finish the computation of the step-by-step
(mean,variance) computation.
   * intprb_muvstepupdate : Update values for the step-by-step (mean,variance)
computation.
   * intprb_shragerandom : A portable random number generator by Schrage.
   * intprb_tuplenext : Computes the next element of a tuple space.

Demos
-----

 * genzphi : Estimates the normal cumulative density function
 * bench_mc : Test intprb_getcrudemc on all problems
 * bench_lowdisc : Test intprb_getcrudeld on all problems

References
----------

 * "Integration Test Problems User's Manual", Michael Baudin, 2010.
 * "Computational investigations of low-discrepancy sequences", Kocis,
L. and Whiten, W. J. 1997. ACM Trans. Math. Softw. 23, 2 (Jun. 1997), 266-294.
 * "Quadrature Rule Applied to Test Integrals", http://people.sc.fsu.edu/~jburkardt/m_src/quadrature_test/quadrature_test.html,
John Burkardt, 2007
 * "Testing Multidimensional Integration Routines", http://people.sc.fsu.edu/~jburkardt/m_src/testpack/testpack.html,
John Burkardt, 2007
 * "Multi-dimensional Integration Test Functions", http://people.sc.fsu.edu/~jburkardt/m_src/test_nint/test_nint.html,
John Burkardt, 2007
 * "Testpack", http://www.math.wsu.edu/faculty/genz/software/fort77/testpack.f,
Alan Genz, 1987

Authors
-------

 * Copyright (C) 2011 - Michael Baudin
 * Copyright (C) 2010 - DIGITEO - Michael Baudin
 * Copyright (C) 2007 - John Burkardt
 * Copyright (C) 1987 - Alan Genz
            
Files (2)
[1.73 MB]
Source code archive
Same sources as in previous toolbox version, updated to make it available for
Scilab 5.5.0
[1.88 MB]
OS-independent binary for Scilab 5.5.x
Binary version
Automatically generated by the ATOMS compilation chain

News (0)
Comments (0)
Leave a comment
You must register and log in before leaving a comment.
Login with GitLab
Email notifications
Send me email when this toolbox has changes, new files or a new release.
You must register and log in before setting up notifications.