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.

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.5.3.tar.gz (435.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

odl-0.5.3-py2.py3-none-any.whl (569.8 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: odl-0.5.3.tar.gz
  • Upload date:
  • Size: 435.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for odl-0.5.3.tar.gz
Algorithm Hash digest
SHA256 2141623541d134e5dc5ee0cf36965b3801a9459b001615ee82e9f6524271f523
MD5 e189ec912b9d710b6de549c1b5f811e6
BLAKE2b-256 36ce0bec7b36dbce4f11a784f0a75655a0fc16919d4a8f653831a158dbc9f2f2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: odl-0.5.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 569.8 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for odl-0.5.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 d6d93abaece46828eb97ab1f3b35e7e4b7340ce71f9ce9dd12e22358b4d155d6
MD5 bdadb8ba182bad04df8721275d733bd4
BLAKE2b-256 57b325aab8f3679aeb1629a13b06defea473819955c7a55b3fdfbe7fbf05bb97

See more details on using hashes here.

Supported by

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