Integrator

scalation.dynamics.Integrator
trait Integrator

The Integrator trait provides a template for writing numerical integrators (e.g., Runge-Kutta (RK4) or Dormand-Prince (DOPRI)) to produce trajectories for first-order Ordinary Differential Equations (ODE)s. The ODE is of the form: d/dt y(t) = f(t, y) with initial condition y0 = y(t0) If f is a linear function of the form a(t) * y(t) + b(t), then the ODE is linear, if a(t) = a (i.e., a constant) the ODE has constant coefficients and if b(t) = 0 the ODE is homogeneous. Note this package provides a solver (not an integrator) as an option for linear, constant coefficient, homogeneous, first-order ODE.

Attributes

See also

scalation.dynamics.LinearDiffEq.scala

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object DormandPrince
object ModRosenbrock
object Radau
object RungeKutta
class RungeKutta2
class RungeKutta3
Show all

Members list

Value members

Abstract methods

def integrate(f: Derivative, y0: Double, t: Double, t0: Double, step: Double): Double

Use numerical integration to compute the trajectory of an unknown, time- dependent function y(t) governed by a first-order ODE of the form y(t)' = f(t, y), i.e., the time derivative of y(t) equals f(t, y). The derivative function f(t, y) is integrated using a numerical integrator (e.g., Runge-Kutta) to return the value of y(t) at time t. The derivative function takes a scalar t and a scalar y.

Use numerical integration to compute the trajectory of an unknown, time- dependent function y(t) governed by a first-order ODE of the form y(t)' = f(t, y), i.e., the time derivative of y(t) equals f(t, y). The derivative function f(t, y) is integrated using a numerical integrator (e.g., Runge-Kutta) to return the value of y(t) at time t. The derivative function takes a scalar t and a scalar y.

Value parameters

f

the derivative function f(t, y)

step

the step size

t

the time value at which to compute y(t)

t0

the initial time

y0

the initial value of the y-function at time t0, y0 = y(t0)

Attributes

def integrateVV(f: Array[DerivativeV], y0: VectorD, t: Double, t0: Double, step: Double): VectorD

Use numerical integration to compute the trajectory of an unknown, time- dependent vector function y(t) governed by a system of first-order ODEs of the form y(t)' = f(t, y). The j-th derivative in the array of derivative functions, [f_j(t, y)], takes a scalar t and a vector y (note the other integrate methods take a scalar t and a scalar y.

Use numerical integration to compute the trajectory of an unknown, time- dependent vector function y(t) governed by a system of first-order ODEs of the form y(t)' = f(t, y). The j-th derivative in the array of derivative functions, [f_j(t, y)], takes a scalar t and a vector y (note the other integrate methods take a scalar t and a scalar y.

Value parameters

f

the array of derivative functions [f_j(t, y)]

step

the step size

t

the time value at which to compute y(t)

t0

the initial time

y0

the initial value vector, y0 = y(t0)

Attributes

Concrete methods

def getError: Double

Get the error estimate.

Get the error estimate.

Attributes

def integrateV(f: Array[Derivative], y0: VectorD, t: Double, t0: Double, step: Double): VectorD

Apply the integrate method to each derivative to compute the trajectory of a time-dependent vector function y(t) governed by a separable system of Ordinary Differential Equations (ODE's) where [f_j(t, y_j)] is an array of derivative functions. Each derivative function takes a scalar t and a scalar y_j = y(j).

Apply the integrate method to each derivative to compute the trajectory of a time-dependent vector function y(t) governed by a separable system of Ordinary Differential Equations (ODE's) where [f_j(t, y_j)] is an array of derivative functions. Each derivative function takes a scalar t and a scalar y_j = y(j).

Value parameters

f

the array of derivative functions [f_j(t, y_j)]

step

the step size

t

the time value at which to compute y(t)

t0

the initial time

y0

the initial value vector, y0 = y(t0)

Attributes

Concrete fields

protected val defaultStepSize: Double

The default step size for the t dimension

The default step size for the t dimension

Attributes

protected var error: Double

Estimate of the error in calculating y

Estimate of the error in calculating y

Attributes