Skip to content

Commit cbd55cd

Browse files
committed
touch up Unalmis PR [no ci]
1 parent 450a332 commit cbd55cd

File tree

3 files changed

+19
-5
lines changed

3 files changed

+19
-5
lines changed

CHANGELOG

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ If not stated, FINUFFT is assumed (cuFINUFFT <=1.3 is listed separately).
33

44
Master (working towards v2.5.0), 8/13/25
55

6-
* Added real-valued function type-2 interpolation demo (Barnett).
6+
* Added real-valued function type-2 interpolation demos (Barnett, Unalmis #722)
77
* Added functionality for adjoint execution of FINUFFT plans (Reinecke #633,
88
addresses #566 and #571).
99
Work arrays are now only allocated during plan execution, reducing overall

docs/tutorial/realinterp1d.rst

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
.. _realinterp1d:
22

3-
Fast Fourier interpolation of 1D real-valued function at arbitrary points
4-
=========================================================================
3+
Fast Fourier interpolation of a real-valued function at arbitrary points
4+
========================================================================
5+
6+
1D
7+
~~
8+
59

610
This is a Python variant of the previous 1D MATLAB demo, but illustrating
711
a trick for **real-valued** functions.
@@ -63,13 +67,21 @@ When run this gives:
6367
6468
which shows that both schemes work.
6569
See the full code `tutorial/realinterp1d.py <https://github.com/flatironinstitute/finufft/blob/master/tutorial/realinterp1d.py>`_.
66-
See the full code `tutorial/realinterp2d.py <https://github.com/flatironinstitute/finufft/blob/master/tutorial/realinterp2d.py>`_.
6770
This arose from Discussion https://github.com/flatironinstitute/finufft/discussions/720
6871

69-
7072
.. note::
7173

7274
Complex-valued spreading/interpolation is still used under the hood in FINUFFT, so that there is no
7375
efficiency gain on the nonuniform point side,
7476
possibly motivating real-valued NUFFT variants. Since the decisions about
7577
real-valued interfaces become elaborate, we leave this for future work.
78+
79+
2D
80+
~~
81+
82+
A demo (including a ``pytest`` framework) for the 2D version of the above
83+
1D code has been written by Kaya Unalmis, arising from the above discussion.
84+
The idea in 2D is to use the above trick for one of the dimensions, then
85+
perform the usual complex evaluation in the other dimension;
86+
this is somewhat neater than using Hermitian inversion symmetry in 2D.
87+
The code is at `tutorial/realinterp2d.py <https://github.com/flatironinstitute/finufft/blob/master/tutorial/realinterp2d.py>`_.

tutorial/realinterp2d.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
# Written by Kaya Unalmis following discussion with Barnett on 08/15/25.
2+
# [Note added by Barnett: some of the notation used here differs from
3+
# the standard notation of FINUFFT docs. However it is a nice demo.]
24

35
import numpy as np
46
import finufft as fi

0 commit comments

Comments
 (0)