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 RungeKutta

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