Giter Site home page Giter Site logo

owlbarn / owl_ode Goto Github PK

View Code? Open in Web Editor NEW
34.0 5.0 6.0 405 KB

Owl's Differential Equation Solvers

Home Page: http://ocaml.xyz

License: MIT License

OCaml 94.16% TeX 1.66% Shell 4.18%
ode ode-solver differential-equations sundials ocaml scientific-computing engineering-computation

owl_ode's People

Contributors

ghennequin avatar mjsottile avatar mseri avatar ryanrhymes avatar tachukao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

owl_ode's Issues

incorrect handling of matrix-shaped states

This fails, despite what the README.md says about integration of matrices:

open Owl
open Owl_ode

let tspec = Types.(T1 { t0 = 0.; duration = 1.; dt = 1E-3 })
let solver = Owl_ode_sundials.cvode ~stiff:false ~relative_tol:0. ~abs_tol:1E-5
let n = 10
let batch_size = 3
let dx x _ = Mat.(neg x)
let x0 = Mat.gaussian batch_size n
let times, states = Ode.odeint solver dx x0 tspec ()

For reference, the README.md says:

We also support temporal integration of matrices. That is, cases in which the state x is a matrix of dimensions of dimensions NxM. By default, in the output, we flatten and stack the states vertically (i.e., ts has dimensions Tx1 and xs has dimensions TxNM.

Just logging this issue so I don't forget, will try to take a look later โ”€ probably a bug introduced in Dec 2019 with a commit called Arr integration.

Document the interface in more details

The only thing that prevents us to release the current implementation is the lack of documentation, we should document the interfaces cleanly without sparing details.

RK4 seems broken

We need to double check, but I am getting inconsistent results (while the other methods seem to consistently agree)

Lost interface documentation of native and symplectic modules

It looks like the changes to owl_ode.mli introduced in #14 have made the part of documentation of the Native and Symplectic modules disappear (not the autocompletion or merlin information, just odoc's documentation).

This may be a chance to document better the interface in a new native.mli and symplectic.mli module, although it would be nice to be able to re-enable odoc documentation there

Integrating backwards in time

The current design does not naturally support integrating odes backwards in time. This will require some thinking about typetspec and how it affects the different solvers.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.