OwlDE: Making ODEs first-class Owl citizens

Marcello Seri, Ta-Chu Kao

Research output: Contribution to journalArticleAcademicpeer-review

126 Downloads (Pure)

Abstract

After only three years of intensive development and continuous optimisation, Owl has emerged in the OCaml ecosystem as a versatile and powerful scientific programming library, competitive with mainstream libraries such as SciPy and NumPy. What sets Owl apart is that it brings under one umbrella the flexibility of a dynamical language and the power and safety of the OCaml type system (Wang, 2017).
Today, Owl can be used to solve a wide range of scientific problems: it provides efficient types for handling multidimensional arrays and linear algebra operations built on top of BLAS and LAPACK; it supports machine learning applications with a powerful computational graph engine and automatic differentiation pipeline. To improve efficiency, Owl allows offloading
computations to distributed systems and GPUs. With the recent addition of dataframes and integration with Jupyter Notebooks provided by ocaml-jupyter, Owl has the chance to become an excellent framework for exploratory mathematical analysis.
A notable omission in Owl’s ecosystem, when compared to similar solutions in python and Julia, was a package for solving ordinary differential equations. To fill this need, we designed OwlDE, a flexible and efficient ODE engine for Owl.
Original languageEnglish
Article number1812
JournalThe Journal of Open Source Software
Volume4
Issue number44
DOIs
Publication statusPublished - 2019

Keywords

  • Ordinary differential equations
  • Geometric integration
  • Neural ODE
  • Numerical integration

Fingerprint

Dive into the research topics of 'OwlDE: Making ODEs first-class Owl citizens'. Together they form a unique fingerprint.

Cite this