probnum

Probabilistic Numerics in Python.

https://github.com/probabilistic-numerics/probnum

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.1%) to scientific vocabulary

Keywords

machine-learning numerical-methods probabilistic-numerics
Last synced: 6 months ago · JSON representation ·

Repository

Probabilistic Numerics in Python.

Basic Info
  • Host: GitHub
  • Owner: probabilistic-numerics
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage: http://probnum.org
  • Size: 154 MB
Statistics
  • Stars: 453
  • Watchers: 7
  • Forks: 60
  • Open Issues: 75
  • Releases: 29
Topics
machine-learning numerical-methods probabilistic-numerics
Created over 6 years ago · Last pushed 8 months ago
Metadata Files
Readme License Code of conduct Citation Codeowners

README.md

probabilistic numerics

Learn to Approximate. Approximate to Learn.

Probabilistic Numerics in Python.


Home | Tutorials | API Reference | Contributing

[![CI build](https://img.shields.io/github/actions/workflow/status/probabilistic-numerics/probnum/CI-build.yml?branch=main&style=flat-square&logo=github&logoColor=white&label=CI-build)](https://github.com/probabilistic-numerics/probnum/actions?query=workflow%3ACI-build) [![Coverage Status](https://img.shields.io/codecov/c/gh/probabilistic-numerics/probnum/main?style=flat-square&label=Coverage&logo=codecov&logoColor=white)](https://codecov.io/gh/probabilistic-numerics/probnum/branch/main) [![Benchmarks](http://img.shields.io/badge/Benchmarks-asv-blueviolet.svg?style=flat-square&logo=swift&logoColor=white)](https://probabilistic-numerics.github.io/probnum-benchmarks/benchmarks/) [![PyPI](https://img.shields.io/pypi/v/probnum?style=flat-square&label=PyPI&logo=pypi&logoColor=white)](https://pypi.org/project/probnum/)

ProbNum is a Python toolkit for solving numerical problems in linear algebra, optimization, quadrature and differential equations. ProbNum solvers not only estimate the solution of the numerical problem, but also its uncertainty (numerical error) which arises from finite computational resources, discretization and stochastic input. This numerical uncertainty can be used in downstream decisions.

Currently, available solvers are:

  • Linear solvers: Solve $A x = b$ for $x$.
  • ODE solvers: Solve $\dot{y}(t) = f(y(t), t)$ for $y$.
  • Integral solvers (quadrature): Solve $F = \int_D f(x) \mathrm{d}p(x)$ for $F$.

Lower level structure includes:

  • Random variables and random processes, as well as arithmetic operations thereof.
  • Memory-efficient and lazy implementation of linear operators.
  • Filtering and smoothing for (probabilistic) state-space models, mostly variants of Kalman filters.

ProbNum is underpinned by the research field probabilistic numerics (PN), which lies at the intersection of machine learning and numerics. PN aims to quantify uncertainty arising from intractable or incomplete numerical computation and from stochastic input using the tools of probability theory. The general vision of probabilistic numerics is to provide well-calibrated probability measures over the output of a numerical routine, which then can be propagated along the chain of computation.

Installation

To get started install ProbNum using pip. bash pip install probnum Alternatively, you can install the latest version from source. bash pip install git+https://github.com/probabilistic-numerics/probnum.git

Note: This package is currently work in progress, therefore interfaces are subject to change.

Documentation and Examples

For tips on getting started and how to use this package please refer to the documentation. It contains a quickstart guide and Jupyter notebooks illustrating the basic usage of the ProbNum solvers.

Package Development

This repository is currently under development and benefits from contribution to the code, examples or documentation. Please refer to the contribution guidelines before making a pull request.

A list of core contributors to ProbNum can be found here.

Citing ProbNum

If you are using ProbNum in your research, please cite as provided. The "Cite this repository" button on the sidebar generates a BibTeX entry or an APA entry.

License and Contact

This work is released under the MIT License.

Please submit an issue on GitHub to report bugs or request changes.

Owner

  • Name: Probabilistic Numerics
  • Login: probabilistic-numerics
  • Kind: organization

Probabilistic numerics interprets numerical methods as inference procedures by taking a probabilistic viewpoint.

Citation (CITATION.cff)

cff-version: 1.2.0
message: If you use this software, please cite it as below.
title: ProbNum
authors:
- name: ProbNum Team
license: MIT
url: "https://github.com/probabilistic-numerics/probnum"
preferred-citation:
  type: generic
  title: "ProbNum: Probabilistic Numerics in Python"
  authors:
  - family-names: Wenger
    given-names: Jonathan
    orcid: "https://orcid.org/0000-0003-2261-1331"
  - family-names: Krämer
    given-names: Nicholas
  - family-names: Pförtner
    given-names: Marvin
    orcid: "https://orcid.org/0000-0002-9005-2984"
  - family-names: Schmidt
    given-names: Jonathan
  - family-names: Bosch
    given-names: Nathanael
  - family-names: Effenberger
    given-names: Nina
  - family-names: Zenn
    given-names: Johannes
  - family-names: Gessner
    given-names: Alexandra
  - family-names: Karvonen
    given-names: Toni
    orcid: "https://orcid.org/0000-0002-5984-7295"
  - family-names: Briol
    given-names: François-Xavier
    orcid: "https://orcid.org/0000-0002-0181-2559"
  - family-names: Mahsereci
    given-names: Maren
  - family-names: Hennig
    given-names: Philipp
  year: 2021
  url: "https://arxiv.org/abs/2112.02100"
  identifiers:
    - type: other
      value: "arXiv:2112.02100"
      description: The ArXiv preprint of the paper

GitHub Events

Total
  • Watch event: 20
  • Delete event: 1
  • Issue comment event: 2
  • Pull request event: 1
  • Fork event: 4
  • Create event: 1
Last Year
  • Watch event: 20
  • Delete event: 1
  • Issue comment event: 2
  • Pull request event: 1
  • Fork event: 4
  • Create event: 1

Dependencies

.github/workflows/CI-build.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • codecov/codecov-action v2 composite
.github/workflows/linting.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/python-publish.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/run-notebooks.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
environment.yml conda
  • pip
  • python >=3.8
benchmarks/requirements.txt pypi
  • asv >=0.5,<0.6
dev-requirements.txt pypi
  • tox >=3.18,<5 development
docs/notebook-requirements.txt pypi
  • Jinja2 <3.1
  • ipython <8.11.0
  • jupyter *
  • matplotlib *
  • nbsphinx >=0.8.6,<0.8.7
  • pytest *
docs/sphinx-requirements.txt pypi
  • Pygments >=2.6.1
  • myst-parser <0.17.0
  • pydata-sphinx-theme >=0.6.0,<0.8.1
  • sphinx >=3.0,<5.4
  • sphinx-automodapi *
  • sphinx-gallery *
formatting-requirements.txt pypi
  • black >=22.1,<23
  • isort >=5.10,<6
linting-requirements.txt pypi
  • pylint ==2.9.
pyproject.toml pypi
  • numpy >=1.20
  • numpy >=1.21.3; python_version>='3.10'
  • scipy >=1.4
  • scipy >=1.8.0; python_version>='3.10'
tests/requirements.txt pypi
  • pytest >=4.6,<8.0.0 test
  • pytest >=6.1.1,<6.2.0 test
  • pytest-cases >=3.6.9,<4.0.0 test
  • pytest-cov * test