package owl-plplot

  1. Overview
  2. Docs
OCaml Scientific and Engineering Computing

Install

Dune Dependency

Authors

Maintainers

Sources

owl-1.0.2.tbz
sha256=38d210ce6c1c2f09631fd59951430e4f364b5ae036c71ed1b32ce559b2a29263
sha512=c468100556445384b9c6adad9c37b5a9b8c27db8be35f61979e65fafa88c60221b8bda0a9c06cfbbc8d4e216a1ed08a315dfefb45bb4f5f15aa82d4358f57567

Description

Owl: OCaml Scientific and Engineering Computing

Owl is an OCaml numerical library. It supports N-dimensional arrays, both dense and sparse matrix operations, linear algebra, regressions, fast Fourier transforms, and many advanced mathematical and statistical functions (such as Markov chain Monte Carlo methods). Recently, Owl has implemented algorithmic differentiation which essentially makes developing machine learning and neural network algorithms trivial.

Published: 14 Feb 2022

README

Owl - OCaml Scientific and Engineering Computing

Owl is a dedicated system for scientific and engineering computing in the functional programming language OCaml. The project website is hosted at ocaml.xyz, as well as Owl book at ocaml.xyz/book.

Roles and Responsibilities

BDFL

The Owl Project follows a BDFL (Benevolent Dictator for Life) governance model. The BDFL consists of Liang Wang and Jianxin Zhao. Liang is the project originator of and project leader of Owl. Jianxin worked on the project for his PhD thesis. He is currently managing daily practicalities of the project and leading the Owl book project. The BDFL are in charge of setting out the roadmap and maintaining the architecture of Owl. In principle, only the BDFL has write permission to the code base.

Contributors

The project is developed and maintained by a team of contributors. A contributor is an individual who contributes code, documentation, or who helps with the management, event organisation, financing, etc. of the project. Anyone can potentially become a contributor given sufficient contributions recognised by the community. Contributors can be affiliated with any legal entity or none.

A subset of the code contributors are the committers, who have proved to make several valuable and significant contributions to the project in both quality and quantity. Typically a committer focuses on one specific aspect of the project and is a domain expert. In principle any change to the code base is made via a GitHub Pull Request (PR). A committer can request temporary write permission to the code base from the BDFL when it can be justified, such as frequent updates are required in a short period of time. The permission shall be revoked once the necessary job is done. The committers have no explicit authority over the project, but the BDFL should heed their counsel in making project decisions. In practice, they are given informal control over their specific areas of expertise.

Owl Team

The BDFL has the authority to make all final decisions for the project. In practice, the BDFL tries to reach a consensus within the Owl Team. The Owl Team consists of the BDFL and a small subset of the project contributors who have produced contributions that are of outstanding quality and quantity, and have actively participated in the Owl project for at least two years. The team structure is dynamic with members joining or leaving.

Development

The development of Owl includes adding new functionalities and fixing bugs in the form of PR from the contributors. In order to be merged, a PR must be reviewed and acquire two approvals from the Owl Team. If a PR is large or involves significant changes to the code structure, it requires the review of the BDFL. A wide-open discussion from all contributors about the PR is encouraged. A BDFL accepts the PR once the reviewers approve it and the team decides that this PR is sufficiently discussed. When enough PRs are accumulated, a new version should be released. A new release should be discussed within the Owl team and approved by the BDFL.

Documentation

The documentation of Owl includes two parts: the book, and the inline document. The inline document follows a certain format listed in the contribution guide, and it shall not be broken in each PR. The code reviewers are responsible for making sure the rules in the contribution guide are followed.

Research

Owl originated from academia. To this day, many of our core contributors have academic positions and active research programs. The subprojects are listed at the finished and proposed projects. We welcome anyone to discuss potential research proposals with the team. A research project based on Owl should be explicitly made known to all team members, and provides a clear attribute to Owl.

Community

The current community of Owl is based on the Slack channel. All participants in the community are encouraged to provide support for new users within the project management infrastructure. Those seeking technical support should also recognise that all support activities within the project is voluntary and is therefore provided as and when time permits.

Contact Us

Liang is a senior researcher at the University of Cambridge. Email: liang.wang@cl.cam.ac.uk

Jianxin is a PhD from the University of Cambridge. Email: jianxin.zhao@cl.cam.ac.uk

Dependencies (4)

  1. plplot
  2. owl = version | = "1.0.2-1"
  3. dune >= "2.0.0"
  4. ocaml >= "4.10.0"

Dev Dependencies

None

Used by (5)

  1. cviode >= "0.0.4"
  2. owl-jupyter
  3. owl-ode >= "0.1.0" & != "0.2.0"
  4. owl-ode-odepack != "0.2.0"
  5. owl-ode-sundials < "0.1.0" | >= "0.3.0"

Conflicts

None

OCaml

Innovation. Community. Security.