fftn

Contents

fftn#

class saiunit.fft.fftn(a, s=None, axes=None, norm=None, **kwargs)#

Compute a multidimensional discrete Fourier transform.

Unit-aware implementation of numpy.fft.fftn(). The output unit is input_unit * second ** n_axes where n_axes is the number of transformed axes.

Parameters:
  • a (saiunit.Quantity | Array | ndarray | bool | number | bool | int | float | complex) – Input array.

  • s (Sequence[int] | None) – Shape of the result along each transformed axis.

  • axes (Sequence[int] | None) – Axes over which to compute the DFT. None means all axes.

  • norm (str | None) – Normalization mode.

Returns:

N-dimensional DFT of a.

Return type:

saiunit.Quantity | Array | ndarray | bool | number | bool | int | float | complex

See also

saiunit.fft.ifftn

N-dimensional inverse DFT.

saiunit.fft.fft

One-dimensional DFT.

Examples

>>> import saiunit as u
>>> import saiunit.fft as sufft
>>> import jax.numpy as jnp
>>> x = jnp.array([[1.0, 2.0], [3.0, 4.0]]) * u.meter
>>> X = sufft.fftn(x)
>>> x_back = sufft.ifftn(X)