---
title: fft.fftn
description: "计算n维离散傅里叶变换。"
url: https://www.hikunpeng.com/document/detail/zh/hpchistory/hpckit/develop2400/kunpengaccel_kml_1005.html
sourcePath: /source/zh/hpchistory/hpckit/develop2400/kunpengaccel_kml_1005.html
indexId: 103f072a80f4bd2a6f78422e1e7fbb22d38a53cc2779ac512cfe6fece7058fa267
---
# fft.fftn

#### 功能描述

计算n维离散傅里叶变换。


#### 必选输入参数

| 参数名 | 类型 | 说明 |
| --- | --- | --- |
| a | array\_like | 输入数组，可为复数。 |


#### 可选输入参数

| 参数名 | 类型 | 默认值 | 说明 |
| --- | --- | --- | --- |
| s | sequence of ints | None | 输出的形状（每个变换轴的长度，s[0]表示轴0，s[1]表示轴1，以此类推）。这对应于fft(x,n)的n。沿着每个轴： 如果给定的形状小于输入的形状，则会裁剪输入。 如果给定的形状大于输入的形状，输入将填充零。 如果未给定s，则使用沿轴指定的轴的输入形状。 |
| axes | sequence of ints | \-1 | 计算FFT的轴。如果未给出，则使用最后n个轴。 |
| norm | {“backward”, “ortho”, “forward”}, optional | backward | 规范化模式（请参见“numpy.fft(https://numpy.org/doc/stable/reference/routines.fft.html\#module\-numpy.fft)”）。指示对前向或后向做缩放，以及使用何种标准化因子。 |


#### 返回数据

| 类型 | 说明 |
| --- | --- |
| ndarray | 沿“轴”表示的轴变换的截断或零填充输入，如果未指定“轴”，则为最后n个输入。 |


#### 示例

```
>>> import numpy as np
>>> a = np.mgrid[:3, :3, :3][0]
>>> a
array([[[0, 0, 0],
        [0, 0, 0],
        [0, 0, 0]],

       [[1, 1, 1],
        [1, 1, 1],
        [1, 1, 1]],

       [[2, 2, 2],
        [2, 2, 2],
        [2, 2, 2]]])
>>> 
>>> np.fft.fftn(a)
array([[[ 27. +0.j        ,   0. +0.j        ,   0. +0.j        ],
        [  0. +0.j        ,   0. +0.j        ,   0. +0.j        ],
        [  0. +0.j        ,   0. +0.j        ,   0. +0.j        ]],

       [[-13.5+7.79422863j,   0. +0.j        ,   0. +0.j        ],
        [  0. +0.j        ,   0. +0.j        ,   0. +0.j        ],
        [  0. +0.j        ,   0. +0.j        ,   0. +0.j        ]],

       [[-13.5-7.79422863j,   0. +0.j        ,   0. +0.j        ],
        [  0. +0.j        ,   0. +0.j        ,   0. +0.j        ],
        [  0. +0.j        ,   0. +0.j        ,   0. +0.j        ]]])
>>> 
>>> np.fft.fftn(a, (2,2), axes=(0,1))
array([[[ 2.+0.j,  2.+0.j,  2.+0.j],
        [ 0.+0.j,  0.+0.j,  0.+0.j]],

       [[-2.+0.j, -2.+0.j, -2.+0.j],
        [ 0.+0.j,  0.+0.j,  0.+0.j]]])
>>>
```
