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.
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 language | English |
---|---|
Article number | 1812 |
Journal | The Journal of Open Source Software |
Volume | 4 |
Issue number | 44 |
DOIs | |
Publication status | Published - 2019 |
Keywords
- Ordinary differential equations
- Geometric integration
- Neural ODE
- Numerical integration