API

Criteria

DynamicOED.ACriterionType
struct ACriterion <: DynamicOED.AbstractInformationCriterion

The A-Criterion for experimental design.

tr(inv(F))
DynamicOED.DCriterionType
struct DCriterion <: DynamicOED.AbstractInformationCriterion

The D-Criterion for experimental design.

det(inv(F))
DynamicOED.ECriterionType
struct ECriterion <: DynamicOED.AbstractInformationCriterion

The E-Criterion for experimental design.

max(eigvals(F))
DynamicOED.FisherACriterionType
struct FisherACriterion <: DynamicOED.AbstractInformationCriterion

The Fisher A-Criterion for experimental design.

-tr(F)
DynamicOED.FisherDCriterionType
struct FisherDCriterion <: DynamicOED.AbstractInformationCriterion

The Fisher D-Criterion for experimental design.

-det(F)
DynamicOED.FisherECriterionType
struct FisherECriterion <: DynamicOED.AbstractInformationCriterion

The Fisher E-Criterion for experimental design.

-min(eigvals(F))

Problem

DynamicOED.OEDProblemType
struct OEDProblem{S, O, T, A, DO}

The basic definition of an optimal experimental design problem.

Fields

  • system: The optimal experimental design system in form of an ODESystem

  • objective: The objective criterion

  • timegrid: The time grid

  • alg: Solver for the differential equations

  • diffeq_options: Differential equations options

DynamicOED.TimegridType
struct Timegrid{V, I, G, T}

A structure for holding a multi-variable time grid.

Fields

  • variables: The variables

  • indicators: The indicator for switching variables

  • timegrids: The individual time grids

  • timespans: The overall time grid

Symbolic Differentiation Backends

DynamicOED.MTKBackendType
struct MTKBackend <: DynamicOED.AbstractAugmentationBackened

Uses ModelingToolkit as a backened to augment the system.

ModelingToolkit Extensions

DynamicOED.VariableRateType
struct VariableRate

Indicator that a given state is subject to a fixed rate. Is used for modeling the rate of observation of observed variables and the rate of control for control variables. If the provided rate is a Real, it is assumed that the resulting time grid is given in fractions of the time unit. If the provided rate is a Int, it is assumed that the resulting time grid is divided in rate equidistant intervals.

@variables y(t) [measurement_rate=0.1] # Create a variable measured every 0.1 t
@variables y(t) [measurement_rate=0.1] # Create a variable measured every 0.1 t
@parameters c [input=true, measurement_rate=2] # Create a control variable which acts 2 times over the course of the simulation
DynamicOED.FisherStateType
struct FisherState

Indicator that a given variable is a state of the fisher information matrix.

@variables F[1:3, 1:3] [fisher_state=true]
DynamicOED.MeasurementFunctionType
struct MeasurementFunction

Indicator that a given variable is a measurement function.

@variables w=1.0 [measurement_function=true]
DynamicOED.VariableICType
struct VariableIC

Indicator that a given state variable's initial condition is unknown.

@variables x(t)=1.0 [variable_ic=true]