ryanorendorff / pyop

Matrix Free Linear Operators in Python
http://ryanorendorff.github.io/pyop/
BSD 3-Clause "New" or "Revised" License
2 stars 2 forks source link

Python Linear Transformation Operators (PyOp)

PyOp is a framework for creating Linear Operators in a functional form. Operators specified in this format have a few benefits.

This package makes it simple to create matrix free linear operators. Perhaps more importantly, it provides simple composition tools, allowing operators to be chained together with the same tools one would find in a matrix package (for example, adding operators or creating block operators).

For example, the DFT can be represented as a matrix but requires O(n^2) storage and, in the simplest formulation, O(n^2) operations to compute the FFT. However, the FFT/DFT algorithm takes only O(n log n) time and less than quadratic space (I cannot find a good reference for the space complexity of the FFT).

Package Requirements

For testing you will need pytest>=2.5