Deconvoluted makes performing numerical integral transforms simple and pythonic!
- Free software: MIT license
- Documentation: https://deconvoluted.readthedocs.io.
As a first example, let's perform a Fourier transform:
t = np.linspace(0, 10, 201)
f = np.sin(3 * 2 * np.pi * t)
F, nu = fourier_transform(f, t)
By default, Fourier transforms use Fourier coefficients a=0, b=-2\pi. Using another convention is simple:
F, omega = fourier_transform(f, t, convention=(-1, 1))
As a physicist myself, I therefore switch the labelling of the output from \nu for frequency, to \omega for angular frequency.
Performing multidimensional transforms is just as easy. For example:
F_pq, p, q = fourier_transform(f_xy, x, y)
transforms both x and y at the same time.
Transforming only one of the two variables can be done simply by setting those
that shouldn't transform to None
:
F_py, p = fourier_transform(f_xy, x, None)
F_xq, q = fourier_transform(f_xy, None, y)
See the documentation for more examples!