Skip to main content

Operator Discretization Library

Project description

Operator Discretization Library (ODL) is a Python library for fast prototyping focusing on (but not restricted to) inverse problems. ODL is being developed at KTH Royal Institute of Technology, Stockholm, and Centrum Wiskunde & Informatica (CWI), Amsterdam.

The main intent of ODL is to enable mathematicians and applied scientists to use different numerical methods on real-world problems without having to implement all necessary parts from the bottom up. This is reached by an Operator structure which encapsulates all application-specific parts, and a high-level formulation of solvers which usually expect an operator, data and additional parameters. The main advantages of this approach is that

  1. Different problems can be solved with the same method (e.g. TV regularization) by simply switching operator and data.

  2. The same problem can be solved with different methods by simply calling into different solvers.

  3. Solvers and application-specific code need to be written only once, in one place, and can be tested individually.

  4. Adding new applications or solution methods becomes a much easier task.

Features

  • Efficient and well-tested data containers based on Numpy (default) or CUDA (optional)

  • Objects to represent mathematical notions like vector spaces and operators, including properties as expected from mathematics (inner product, norm, operator composition, …)

  • Convenience functionality for operators like arithmetic, composition, operator matrices etc., which satisfy the known mathematical rules.

  • Out-of-the-box support for frequently used operators like scaling, partial derivative, gradient, Fourier transform etc.

  • A versatile and pluggable library of optimization routines for smooth and non-smooth problems, such as CGLS, BFGS, Chambolle-Pock and Douglas-Rachford splitting.

  • Support for tomographic imaging with a unified geometry representation and bindings to external libraries for efficient computation of projections and back-projections.

  • Standardized tests to validate implementations against expected behavior of the corresponding mathematical object, e.g. if a user-defined norm satisfies norm(x + y) <= norm(x) + norm(y) for a number of input vectors x and y.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

odl-0.7.0.tar.gz (653.8 kB view details)

Uploaded Source

Built Distribution

odl-0.7.0-py2.py3-none-any.whl (778.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file odl-0.7.0.tar.gz.

File metadata

  • Download URL: odl-0.7.0.tar.gz
  • Upload date:
  • Size: 653.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.6.6

File hashes

Hashes for odl-0.7.0.tar.gz
Algorithm Hash digest
SHA256 b3f46d36c14a488c78c3b7d2edbc1dd5dc95d6e5a6bccb1f6bdaa52341b16bee
MD5 d77d3f5c5f1523d2998c3fdb4bc85492
BLAKE2b-256 570f62b3d3744a4b2b343146ae341553f3d0be3fa3b70b15ef9d1c6f357d73a6

See more details on using hashes here.

File details

Details for the file odl-0.7.0-py2.py3-none-any.whl.

File metadata

  • Download URL: odl-0.7.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 778.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.6.6

File hashes

Hashes for odl-0.7.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 3480fa64a2e596943cee5ab9e542ef8676c90df575f30245ab7293d37e8208bd
MD5 81349239ad3bc364e72a464675675cd5
BLAKE2b-256 e944906059f6b52b6ea887141e846d7031ad3664fa5ab3a1b73620f30b332a38

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page