cupyx.scipy.fft.dct#
- cupyx.scipy.fft.dct(x, type=2, n=None, axis=-1, norm=None, overwrite_x=False)[源]#
返回数组 x 的离散余弦变换。
- 参数:
x (cupy.ndarray) – 输入数组。
type ({1, 2, 3, 4}, 可选的) – DCT 的类型(参见备注)。默认类型为 2。目前 CuPy 仅支持类型 2 和 3。
n (int, 可选的:) – 变换的长度。如果
n < x.shape[axis]
,则 x 将被截断。如果n > x.shape[axis]
,则 x 将被零填充。默认情况下,结果为n = x.shape[axis]
。axis (int, 可选的) – 计算 DCT 的轴;默认为最后一个轴(即
axis=-1
)。norm ({"backward", "ortho", "forward"}, 可选的) – 归一化模式(参见备注)。默认为 “backward”。
overwrite_x (bool, 可选的) – 如果为 True,x 的内容可能会被破坏;默认为 False。
- 返回:
y – 变换后的输入数组。
- 返回类型:
cupy.ndarray 实数型的
另请参阅
备注
对于一维数组
x
,dct(x, norm='ortho')
等同于 MATLAB 的dct(x)
。对于
norm="ortho"
,dct 和 idct 都以相同的整体因子进行双向缩放。默认情况下,变换也被正交化,对于类型 1、2 和 3,这意味着变换定义被修改以使 DCT 矩阵正交(见下文)。对于
norm="backward"
,dct 没有缩放,idct 按1/N
缩放,其中N
是 DCT 的“逻辑”大小。对于norm="forward"
,1/N
归一化应用于正向 dct,而 idct 不进行归一化。CuPy 目前仅支持 DCT 类型 2 和 3。“DCT”通常指的是 DCT 类型 2,“逆 DCT”通常指的是 DCT 类型 3 [1]。有关每种类型的完整说明,请参阅
scipy.fft.dct()
文档。参考