ENH: fft: support array API standard (#19005)

Lucas Colley <[email protected]> Tue, 8 Aug 2023 18:33:44 +0100
Newsgroups gmane.comp.python.scientific.devel
Message-ID <CAKz2rwbB+F+D_QcELpEd3TiJebhxxe4yS_FY1YB6WcXJWikapQ@mail.gmail.com>
Hi all,

I'm writing to raise visibility for my PR which adds support for the Array
API standard to scipy.fft. I am working on this as part of my internship at
Quansight Labs.

ENH: fft: support array API standard by lucascolley · Pull Request #19005 ·
scipy/scipy (github.com) <https://github.com/scipy/scipy/pull/19005>

The machinery used by this PR and coverage of scipy.cluster were merged
recently <https://github.com/scipy/scipy/pull/18668>. More context on the
standard and the status of SciPy support for it can be found at the top of
the PR.

fft is an array API standard extension module
<https://data-apis.org/array-api/latest/extensions/fourier_transform_functions.html>,
which means that these changes allow automatic dispatching - for the
functions which are included in the standard - to any array library which
complies with the standard. NumPy, CuPy, and PyTorch have plans to fully
comply with the standard, and array-api-compat
<https://github.com/data-apis/array-api-compat> means that this PR already
dispatches to them, as well as numpy.array_api
<https://numpy.org/doc/stable/reference/array_api.html>. JAX and Dask also
have implementations in progress.

This PR includes a substantive refactor of the fft submodule and a full
coverage of changes to make it compatible with the standard. This is
accompanied by modifications to the unit tests for (optional) testing with
other array libraries, and some new tests of the added functionality.

Full details of the changes can be found in the PR description. Any
comments or suggestions are more than welcome and very much appreciated!

Cheers,
Lucas

_______________________________________________
SciPy-Dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/scipy-dev.python.org/
Member address: [email protected]