ifft#

nvmath.fft.ifft(
x,
*,
axes=None,
direction=None,
options=None,
execution=None,
prolog=None,
epilog=None,
stream=None,
check_dtype=None,
)[source]#

ifft(operand, axes=None, options=None, execution=None, prolog=None, epilog=None, stream=None)

对提供的复数操作数执行 N 维复数到复数 (C2C) 逆 FFT。方向是隐式的逆方向。

参数:
  • operand – 一个张量(类似 ndarray 的对象)。目前支持的类型为 numpy.ndarray, cupy.ndarray, 和 torch.Tensor

  • axes – 执行 FFT 的维度。axes[-1] 是 rfft 的“最后转换”轴。目前,要求轴是连续的,并且包含第一个或最后一个维度。仅支持高达 3D 的 FFT。

  • options – 将 FFT 的选项指定为 FFTOptions 对象。或者,也可以提供包含 FFTOptions 构造函数参数的 dict。如果未指定,则值将设置为默认构造的 FFTOptions 对象。

  • prolog – 以 LTO-IR 格式提供设备可调用函数,用作加载回调,类型为 DeviceCallable 的对象。或者,也可以提供包含 DeviceCallable 构造函数参数的 dict。默认情况下没有 prolog。目前,回调仅在使用 CUDA 执行时受支持。

  • epilog – 以 LTO-IR 格式提供设备可调用函数,用作存储回调,类型为 DeviceCallable 的对象。或者,也可以提供包含 DeviceCallable 构造函数参数的 dict。默认情况下没有 epilog。目前,回调仅在使用 CUDA 执行时受支持。

  • stream – 指定用于执行操作的 CUDA 流。可接受的输入包括 cudaStream_t (作为 Python int), cupy.cuda.Stream, 和 torch.cuda.Stream。如果未提供流,则将使用来自操作数包的当前流。

返回:

一个转换后的操作数,它保留与输入相同的数据类型和形状。它保留在相同的设备上,并使用与输入操作数相同的包。

另请参阅

fft(), irfft(), FFT

注释

  • 此函数仅接受复数操作数用于 C2C 变换。如果用户希望对实数输入执行完整的 FFT 变换,请将输入转换为相应的复数数据类型。

  • 此函数是 FFT 的便捷包装器,专门用于单次使用。相同的计算可以通过状态化 API 执行,方法是在调用 FFT.execute() 时传递参数 direction='inverse'