Package-level declarations

Types

Link copied to clipboard

Use double pass Simpson rule integration with a fixed number of points. Requires UnivariateIntegrandRanges or IntegrationRange and IntegrandMaxCalls.

Link copied to clipboard

A simplified double-based spline-interpolation-based analytic integration

Link copied to clipboard

A simple one-pass integrator based on Gauss rule Following integrand features are accepted:

Link copied to clipboard

Gauss integrator rule based ont Legendre polynomials. All rules are normalized to

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
class IntegrandMaxCalls(val maxCalls: Int) : IntegrandFeature
Link copied to clipboard
Link copied to clipboard
class IntegrandValue<out T : Any>(val value: T) : IntegrandFeature
Link copied to clipboard
Link copied to clipboard
interface Integrator<I : Integrand>

A general interface for all integrators.

Link copied to clipboard
Link copied to clipboard

Use double pass Simpson rule integration with a fixed number of points. Requires UnivariateIntegrandRanges or IntegrationRange and IntegrandMaxCalls.

Link copied to clipboard

A generic spline-interpolation-based analytic integration

Link copied to clipboard
Link copied to clipboard

Set of univariate integration ranges. First components correspond to the ranges themselves, second components to number of integration nodes per range.

Functions

Link copied to clipboard

Create an integration rule by scaling existing normalized rule

Link copied to clipboard
Link copied to clipboard

Compute analytical indefinite integral of this PiecewisePolynomial, keeping all intervals intact

Compute definite integral of given PiecewisePolynomial piece by piece in a given range Requires UnivariateIntegrationNodes or IntegrationRange and IntegrandMaxCalls

A shortcut method to integrate a function with additional features. Range must be provided in features. The function is placed in the end position to allow passing a lambda.

A shortcut method to integrate a function in range with additional features. The function is placed in the end position to allow passing a lambda.

A shortcut method to integrate a function in range with additional features. The function is placed in the end position to allow passing a lambda.

fun <T : Any> GaussIntegrator<T>.integrate(range: ClosedRange<Double>, order: Int = 10, intervals: Int = 10, vararg features: IntegrandFeature, function: (Double) -> T): UnivariateIntegrand<T>

Integrate using intervals segments with Gauss-Legendre rule of order order.

Link copied to clipboard
fun <T : Any> MultivariateIntegrand(vararg features: IntegrandFeature, function: (Point<T>) -> T): MultivariateIntegrand<T>
Link copied to clipboard
fun <T : Any> UnivariateIntegrand(function: (Double) -> T, vararg features: IntegrandFeature): UnivariateIntegrand<T>

Properties

Link copied to clipboard
Link copied to clipboard

Create a Gauss integrator for this field. By default, uses Legendre rule to compute points and weights. Custom rules could be provided by GaussIntegratorRuleFactory feature.

Link copied to clipboard

Value of the integrand or error

Link copied to clipboard

Value of the integrand if it is present or null