Package space.kscience.kmath.integration

Types

GaussIntegrator
Link copied to clipboard
class GaussIntegrator<T : Any>(algebra: Field<T>) : Integrator<UnivariateIntegrand<T>>
A simple one-pass integrator based on Gauss rule
GaussIntegratorRuleFactory
Link copied to clipboard
interface GaussIntegratorRuleFactory : IntegrandFeature
GaussLegendreRuleFactory
Link copied to clipboard
object GaussLegendreRuleFactory : GaussIntegratorRuleFactory
Gauss integrator rule based ont Legendre polynomials.
Integrand
Link copied to clipboard
interface Integrand
IntegrandAbsoluteAccuracy
Link copied to clipboard
class IntegrandAbsoluteAccuracy(accuracy: Double) : IntegrandFeature
IntegrandCallsPerformed
Link copied to clipboard
class IntegrandCallsPerformed(calls: Int) : IntegrandFeature
IntegrandFeature
Link copied to clipboard
interface IntegrandFeature
IntegrandMaxCalls
Link copied to clipboard
class IntegrandMaxCalls(maxCalls: Int) : IntegrandFeature
IntegrandRelativeAccuracy
Link copied to clipboard
class IntegrandRelativeAccuracy(accuracy: Double) : IntegrandFeature
IntegrandValue
Link copied to clipboard
class IntegrandValue<T : Any>(value: T) : IntegrandFeature
IntegrationRange
Link copied to clipboard
class IntegrationRange(range: ClosedRange<Double>) : IntegrandFeature
Integrator
Link copied to clipboard
interface Integrator<I : Integrand>
A general interface for all integrators.
MultivariateIntegrand
Link copied to clipboard
class MultivariateIntegrand<T : Any> : Integrand
UnivariateIntegrand
Link copied to clipboard
class UnivariateIntegrand<T : Any> : Integrand
UnivariateIntegrandRanges
Link copied to clipboard
class UnivariateIntegrandRanges(ranges: List<Pair<ClosedRange<Double>, Int>>) : IntegrandFeature
Set of univariate integration ranges.
UnivariateIntegrator
Link copied to clipboard
typealias UnivariateIntegrator<T> = Integrator<UnivariateIntegrand<T>>

Functions

build
Link copied to clipboard
fun GaussIntegratorRuleFactory.build(numPoints: Int, range: ClosedRange<Double>): Pair<Buffer<Double>, Buffer<Double>>
Create an integration rule by scaling existing normalized rule
getFeature
Link copied to clipboard
inline fun <T : IntegrandFeature> Integrand.getFeature(): T?
integrate
Link copied to clipboard
fun <T : Any> Field<T>.integrate(vararg features: IntegrandFeature, function: (Double) -> T): UnivariateIntegrand<T>
Integrate T-valued univariate function using provided set of IntegrandFeature Following features are evaluated:
fun UnivariateIntegrator<Double>.integrate(range: ClosedRange<Double>, vararg features: IntegrandFeature, function: (Double) -> Double): Double
A shortcut method to integrate a function in range with additional features.
fun UnivariateIntegrator<Double>.integrate(range: ClosedRange<Double>, function: (Double) -> Double, featureBuilder: MutableList<IntegrandFeature>.() -> Unit = {}): Double
A shortcut method to integrate a function in range with additional features.
fun <T : Any> Field<T>.integrate(range: ClosedRange<Double>, order: Int = 10, intervals: Int = 10, vararg features: IntegrandFeature, function: (Double) -> T): UnivariateIntegrand<T>
Use GaussIntegrator.Companion.
MultivariateIntegrand
Link copied to clipboard
fun <T : Any> MultivariateIntegrand(vararg features: IntegrandFeature, function: (Point<T>) -> T): MultivariateIntegrand<T>
UnivariateIntegrand
Link copied to clipboard
fun <T : Any> UnivariateIntegrand(function: (Double) -> T, vararg features: IntegrandFeature): UnivariateIntegrand<T>

Properties

calls
Link copied to clipboard
val Integrand.calls: Int
value
Link copied to clipboard
val <T : Any> MultivariateIntegrand<T>.value: T?
value
Link copied to clipboard
val <T : Any> UnivariateIntegrand<T>.value: T?