Integral Problems


Defines an integral problem. Documentation Page:

Mathematical Specification of a Integral Problem

Integral problems are multi-dimensional integrals defined as:

\[\int_{lb}^{ub} f(u,p) du\]

where $p$ are parameters. u is a Number or AbstractArray whose geometry matches the space being integrated.

Problem Type


IntegralProblem{iip}(f,lb,ub,p=NullParameters(); nout=1, batch = 0, kwargs...)

  • f: the integrand, dx=f(x,p) for out-of-place or f(dx,x,p) for in-place.
  • lb: Either a number or vector of lower bounds.
  • ub: Either a number or vector of upper bounds.
  • p: The parameters associated with the problem.
  • nout: The output size of the function f. Defaults to 1, i.e., a scalar integral output.
  • batch: The preferred number of points to batch. This allows user-side parallelization of the integrand. If batch != 0, then each x[:,i] is a different point of the integral to calculate, and the output should be nout x batchsize. Note that batch is a suggestion for the number of points, and it is not necessarily true that batch is the same as batchsize in all algorithms.
  • kwargs:: Keyword arguments copied to the solvers.

Additionally, we can supply iip like IntegralProblem{iip}(...) as true or false to declare at compile time whether the integrator function is in-place.


The fields match the names of the constructor arguments.