(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 is a website building & hosting documentation for Clojure/Script libraries
× close