# Owl-ODE¶

This document is auto-generated for Owl’s APIs. #1 entries have been extracted.

Github: {Signature} {Implementation}

```
val odeint : (module Types.SolverT with type output = 'a and type s = 'b and type t = 'c) -> ('b -> float -> 'c) -> 'b -> Types.tspec_t -> unit -> 'a
```

`odeint`

(module Solver) f y0 timespec ()`` numerically integrates
an initial value problem for a system of ODEs given an initial value:

Here \(t\) is a one-dimensional independent variable (time), \(y(t)\) is an n-dimensional vector-valued function (state), and the n-dimensional vector-valued function \(f(y, t)\) determines the differential equations.

The goal is to find \(y(t)\) approximately satisfying the differential equations, given an initial value \(y(t_{0}) = y_{0}\). The time \(t_{0}\) is passed as part of the timespec, that includes also the final integration time and a time step. Refer to {!Owl_ode.Types.tspec_t} for further information.

The solver has to be passed as a first-class module and have a common type, {!Owl_ode.Types.SolverT}. This is useful to write new custom solvers or extend and customise the provided ones.

Refer to the documentation of the {!Owl_ode.Types.SolverT} type for further information.