(change-of-variable [a b])Takes the num-interval and returns a map containing:
::multiplicative-fn
::converter-fn -- for within the function to integrate.
::intervals/finite-interval.
Takes the num-interval and returns a map containing: `::multiplicative-fn` `::converter-fn` -- for within the function to integrate. `::intervals/finite-interval`.
(integration number->tensor [a b])(integration number->tensor
[a b]
{:keys [:provisdom.math.integrals/points :provisdom.math.core/accu
:provisdom.math.integrals/iter-interval]
:or {accu m/dbl-close iter-interval [10 1000]}})Returns the integral of a function number->tensor over the num-interval
from a to b using global adaptive integration of the Gauss-Kronrod
Quadrature Formula.
Options:
::points -- 15, 21, 31, 41, 51, 61; default is 21 or 15 if num-interval is
infinite
::m/accu -- default is m/dbl-close (accuracy is also adjusted for
Gauss-Konrod quadrature type)
::iter-interval -- default is [10 1000].
Known Limitations:
Very large absolute ranges (not infinite) can cause approximation errors due
to limited rounded accuracy of the 'double' type.
Example Problem: exp(-x^2) from -166 (or more negative) to Inf+ returns zero
instead of sqrt of PI with default ::iter-interval and 51 ::points.
Solution: use a change of variable, or increase minimum of
::iter-interval, or increase ::points.
Returns the integral of a function `number->tensor` over the num-interval
from `a` to `b` using global adaptive integration of the Gauss-Kronrod
Quadrature Formula.
Options:
`::points` -- 15, 21, 31, 41, 51, 61; default is 21 or 15 if num-interval is
infinite
`::m/accu` -- default is m/*dbl-close* (accuracy is also adjusted for
Gauss-Konrod quadrature type)
`::iter-interval` -- default is [10 1000].
Known Limitations:
Very large absolute ranges (not infinite) can cause approximation errors due
to limited rounded accuracy of the 'double' type.
Example Problem: exp(-x^2) from -166 (or more negative) to Inf+ returns zero
instead of sqrt of PI with default `::iter-interval` and 51 `::points`.
Solution: use a change of variable, or increase minimum of
`::iter-interval`, or increase `::points`.(non-rectangular-2D-integration number2->tensor
outer-interval
outer->inner-interval)(non-rectangular-2D-integration
number2->tensor
outer-interval
outer->inner-interval
{:keys [:provisdom.math.integrals/points :provisdom.math.core/accu
:provisdom.math.integrals/iter-interval]
:or {points 15 accu m/dbl-close iter-interval [10 1000]}
:as props})Returns the integral of a function number2->tensor over the outer and inner
intervals using global adaptive integration of the Gauss-Kronrod Quadrature
Formula. Use rectangular-integration for rectangular integration with
numbers because that function is faster. number2->tensor should be a
function of (outer, inner). outer-interval is [a b]. outer->inner-interval
takes the outer number and returns an interval [c d].
Options:
::points -- 15, 21, 31, 41, 51, 61; default is 15
::m/accu -- default is m/dbl-close per dimension (accuracy is adjusted
for quadrature type)
::iter-interval -- default per dimension is [10 1000].
Returns the integral of a function `number2->tensor` over the outer and inner
intervals using global adaptive integration of the Gauss-Kronrod Quadrature
Formula. Use [[rectangular-integration]] for rectangular integration with
numbers because that function is faster. `number2->tensor` should be a
function of (outer, inner). `outer-interval` is [a b]. `outer->inner-interval`
takes the outer number and returns an interval [c d].
Options:
`::points` -- 15, 21, 31, 41, 51, 61; default is 15
`::m/accu` -- default is m/*dbl-close* per dimension (accuracy is adjusted
for quadrature type)
`::iter-interval` -- default per dimension is [10 1000].(non-rectangular-3D-integration number3->tensor
outer-interval
outer->middle-interval
outer+middle->inner-interval)(non-rectangular-3D-integration
number3->tensor
outer-interval
outer->middle-interval
outer+middle->inner-interval
{:keys [:provisdom.math.integrals/points :provisdom.math.core/accu
:provisdom.math.integrals/iter-interval]
:or {points 15 accu m/sgl-close iter-interval [3 300]}
:as props})Returns the integral of a function number3->tensor over the outer, middle,
and inner intervals using global adaptive integration of the Gauss-Kronrod
Quadrature Formula. Use rectangular-integration for rectangular
integration with numbers because that function is faster. number3->tensor
should be a function of (outer, middle, inner). outer-interval is [a b].
outer->middle-interval takes the outer number and returns an interval [c d].
outer+middle->inner-interval takes the outer and middle number and returns
an interval [e f]. Options:
::points -- 15, 21, 31, 41, 51, 61; default is 15
::m/accu -- default is m/sgl-close per dimension (accuracy is adjusted
for quadrature type)
::iter-interval -- default per dimension is [3 300].
Returns the integral of a function `number3->tensor` over the outer, middle,
and inner intervals using global adaptive integration of the Gauss-Kronrod
Quadrature Formula. Use [[rectangular-integration]] for rectangular
integration with numbers because that function is faster. `number3->tensor`
should be a function of (outer, middle, inner). `outer-interval` is [a b].
`outer->middle-interval` takes the outer number and returns an interval [c d].
`outer+middle->inner-interval` takes the outer and middle number and returns
an interval [e f]. Options:
`::points` -- 15, 21, 31, 41, 51, 61; default is 15
`::m/accu` -- default is m/*sgl-close* per dimension (accuracy is adjusted
for quadrature type)
`::iter-interval` -- default per dimension is [3 300].(non-rectangular-4D-integration number4->tensor
outer-interval
outer->outer-middle-interval
outer+outer-middle->inner-middle-interval
outer+outer-middle+inner-middle->inner-interval)(non-rectangular-4D-integration
number4->tensor
outer-interval
outer->outer-middle-interval
outer+outer-middle->inner-middle-interval
outer+outer-middle+inner-middle->inner-interval
{:keys [:provisdom.math.integrals/points :provisdom.math.core/accu
:provisdom.math.integrals/iter-interval]
:or {points 15 accu m/sgl-close iter-interval [2 200]}
:as props})Returns the integral of a function number4->tensor over the outer,
outer-middle, outer-inner, and inner intervals using global adaptive
integration of the Gauss-Kronrod Quadrature Formula. Use
rectangular-integration for rectangular integration with numbers because
that function is faster. number4->tensor should be a function of (outer,
outer-middle, inner-middle, inner). outer-interval is [a b].
outer->outer-middle-interval takes the outer number and returns an interval
[c d]. outer+outer-middle->inner-middle-interval takes the outer and
outer-middle number and returns an interval [e f].
outer+outer-middle+inner-middle->inner-interval takes the outer,
outer-middle, and inner-middle numbers and returns and interval [g h].
Options:
::points -- 15, 21, 31, 41, 51, 61; default is 15
::m/accu -- default is m/sgl-close per dimension (accuracy is adjusted
for quadrature type)
::iter-interval -- default per dimension is [2 200].
Returns the integral of a function `number4->tensor` over the outer,
outer-middle, outer-inner, and inner intervals using global adaptive
integration of the Gauss-Kronrod Quadrature Formula. Use
[[rectangular-integration]] for rectangular integration with numbers because
that function is faster. `number4->tensor` should be a function of (outer,
outer-middle, inner-middle, inner). `outer-interval` is [a b].
`outer->outer-middle-interval` takes the outer number and returns an interval
[c d]. `outer+outer-middle->inner-middle-interval` takes the outer and
outer-middle number and returns an interval [e f].
`outer+outer-middle+inner-middle->inner-interval` takes the outer,
outer-middle, and inner-middle numbers and returns and interval [g h].
Options:
`::points` -- 15, 21, 31, 41, 51, 61; default is 15
`::m/accu` -- default is m/*sgl-close* per dimension (accuracy is adjusted
for quadrature type)
`::iter-interval` -- default per dimension is [2 200].(rectangular-integration v->tensor num-intervals)(rectangular-integration v->tensor
num-intervals
{:keys [:provisdom.math.integrals/points
:provisdom.math.core/accu
:provisdom.math.integrals/iter-interval]
:or {points 15 iter-interval [10 1000]}})Returns the integral of a function v->tensor over the rectangular
num-intervals using global adaptive integration of the Gauss-Kronrod
Quadrature Formula. v->tensor takes a vector with one element for each
num-interval and returns a tensor.
Options:
::points -- 15, 21, 31, 41, 51, 61; default is 15
::m/accu -- default is m/dbl-close and (m/sgl-close for 4+ variables
or for 3+ variables if any num-interval is infinite) (accuracy is also
adjusted for for Gauss-Konrod quadrature type)
::iter-interval -- default is [10 1000].
Known Limitations: With more than 4 dimensions, use Monte Carlo simulation instead for speed. Very large absolute ranges (not infinite) can cause approximation errors due to limited rounded accuracy of the 'double' type.
Returns the integral of a function `v->tensor` over the rectangular
`num-intervals` using global adaptive integration of the Gauss-Kronrod
Quadrature Formula. `v->tensor` takes a vector with one element for each
num-interval and returns a tensor.
Options:
`::points` -- 15, 21, 31, 41, 51, 61; default is 15
`::m/accu` -- default is m/*dbl-close* and (m/*sgl-close* for 4+ variables
or for 3+ variables if any num-interval is infinite) (accuracy is also
adjusted for for Gauss-Konrod quadrature type)
`::iter-interval` -- default is [10 1000].
Known Limitations:
With more than 4 dimensions, use Monte Carlo simulation instead for speed.
Very large absolute ranges (not infinite) can cause approximation errors due
to limited rounded accuracy of the 'double' type.cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |