Skip to main content

A package dedicated to lazy linear operators based on diverse backends/libraries.

Project description

Lazylinop philosophy – what is a LazyLinOp object?

Starting from a numpy array, a scipy matrix, a Faust object, or potentially many other compatible linear operators with efficient implementatons, a .LazyLinOp object follows the lazy evaluation paradigm. In short, one can aggregate low-level .LazyLinOp objects into higher-level ones using many classical operations (addition, concatenation, adjoint, real part, etc.), without actually building arrays. The actual effect of these operations is delayed until the resulting linear operator is actually applied to a vector (or to a collection of vectors, seen as a matrix).

The main interest of this paradigm is to enable the construction of processing pipelines that exploit as building blocks efficient implementations of “low-level” linear operators.

LazyLinOperators are complementary to other “lazy” objects such as LazyTensors in Kheops, or the ones of lazyarray, WeldNumpy an pylops libraries, which, to the best of our knowledge, primarily provide compact descriptions of arrays which entries can be evaluated efficiently on the fly.

It’s worth noting that the way pylops exhibits scipy LinearOperator-s in its API is different. Indeed, pylops provides Python classes (like Kronecker) while lazylinop is more likely to propose Python functions in the scipy style (like :py`.kron`).

Getting started with lazylinop

Quick installation

Using Anaconda

conda config --add channels conda-forge
conda config --add channels pyfaust
conda config --add channels lazylinop
conda install lazylinop

or

Using PIP

pip install lazylinop

For a straightforward installation of lazylinop go to this guide. Then for a quick introduction to lazylinop go to this notebook. The raw notebook is available here.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

lazylinop-1.6.0a3-py3-none-any.whl (97.0 kB view details)

Uploaded Python 3

File details

Details for the file lazylinop-1.6.0a3-py3-none-any.whl.

File metadata

  • Download URL: lazylinop-1.6.0a3-py3-none-any.whl
  • Upload date:
  • Size: 97.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.6

File hashes

Hashes for lazylinop-1.6.0a3-py3-none-any.whl
Algorithm Hash digest
SHA256 f379105b9af1e2be6578cd28fae3abe3e1133fa41d0fef17477fa93cb3063aba
MD5 cbfd1367459b5e0c72724122c1cfd5b6
BLAKE2b-256 5907c21d0cf85ff26ed85f6e8d9f0a904ec8b773f6f983c27877e41cb0ba43c2

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