odin
has grown from just one package to a series of
packages; this document aims to help orient you to the right place to
understand how pieces fit together and where to find help.
odin
contains the domain specific language (DSL), and the original
implementation suitable for simple use. It can compile continuous time
(ODE) and discrete time models to C, R or JavaScript. It contains no
ability to do inference.dust
contains an engine for running odin-style models in parallel. It
supports both continuous time and discrete time models, but does not
“know” anything about odin. This is the lower level support that many
users will end up engaging with eventually.odin.dust
is
a package for compiling odin
models to work with
dust
. It will likely merge into odin
once
dust
is on CRAN.mcstate
is a package for performing inference with odin
models
compiled to work with dust
. It implements a particle
filter, particle MCMC and other statistical methods.odin
: a brief summary of
available functions in odin. This applies to both odin
and
odin.dust
models, but with the conditions discussed in the
porting guide
odin
code: this applies to both
odin
and odin.dust
modelsodin.dust
: shows how to use
odin.dust
to explore a stochastic SIR model, without doing
inference on itodin
models to odin.dust
:
Differences between the original version of odin
and the
subset of the DSL supported by odin.dust
The documentation for mcstate
concerns mostly performing
inference with odin.dust
models
pomp
users, comparison
of our particle filter with a Kalman filter.The documentation for dust
is typically
more advanced, but will be useful at times for users of
odin.dust
models
dust
: discusses what
dust
models can do, and how they try to help you.dust
model
(which you are unlikely to want to do) but also covers what
dust
models can do, by example.dust
RNG in other packages and generating
random numbers in highly-parallel situations.Missing topics:
odin.dust
mcstate
Each package also comes with reference documentation, which contains examples and detailed help for individual functions.
In addition to the above, we are growing our ability to work with
JavaScript models - the main output of this is wodin, an interface for
running odin
models on the web, which you can see at epimodels.dide.ic.ac.uk
.
wodin
:
wodin itselfdopri-js
: an
ODE solver in TypeScript allowing smooth interpolation of its
solutionsdfoptim
:
derivative-free optimisation methods for TypeScriptodin-js
:
TypeScript support for running continuous time odin
modelsdust-js
: An
implementation of part of the dust
interface in
TypeScriptrandom-js
:
Another random number library for JavaScriptodin.dust
into
odin
(once dust
is on CRAN)odin.dust
mcstate
to make the
inference part of the system nicer to work with; this will include an
overhaul of the nested models.