rfft#
-
nvmath.
fft. rfft( - operand,
- *,
- axes=None,
- options=None,
- execution=None,
- prolog=None,
- epilog=None,
- stream=None,
rfft(operand, axes=None, options=None, execution=None, prolog=None, epilog=None, stream=None)
对提供的实数操作数执行 N 维实数到复数 (R2C) 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
(作为 Pythonint
)、cupy.cuda.Stream
和torch.cuda.Stream
。如果未提供流,将使用来自操作数包的当前流。
- 返回值:
一个复数张量,它保留在与输入操作数相同的设备上,并属于同一包。结果中最后变换轴的范围将为
operand.shape[axes[-1]] // 2 + 1
。