fft.irfft2(a, s=None, axes=(-2, -1), norm=None, out=None)[source]#

Computes the inverse of rfft2.


The input array

ssequence of ints, optional

Shape of the real output to the inverse FFT.

Changed in version 2.0: If it is -1, the whole input is used (no padding/trimming).

Deprecated since version 2.0: If s is not None, axes must not be None either.

Deprecated since version 2.0: s must contain only int s, not None values. None values currently mean that the default value for n is used in the corresponding 1-D transform, but this behaviour is deprecated.

axessequence of ints, optional

The axes over which to compute the inverse fft. Default: (-2, -1), the last two axes.

Deprecated since version 2.0: If s is specified, the corresponding axes to be transformed must not be None.

norm{“backward”, “ortho”, “forward”}, optional

New in version 1.10.0.

Normalization mode (see numpy.fft). Default is “backward”. Indicates which direction of the forward/backward pair of transforms is scaled and with what normalization factor.

New in version 1.20.0: The “backward”, “forward” values were added.

outndarray, optional

If provided, the result will be placed in this array. It should be of the appropriate shape and dtype for the last transformation.

New in version 2.0.0.


The result of the inverse real 2-D FFT.

See also


The forward two-dimensional FFT of real input, of which irfft2 is the inverse.


The one-dimensional FFT for real input.


The inverse of the one-dimensional FFT of real input.


Compute the inverse of the N-dimensional FFT of real input.


This is really irfftn with different defaults. For more details see irfftn.


>>> a = np.mgrid[:5, :5][0]
>>> A = np.fft.rfft2(a)
>>> np.fft.irfft2(A, s=a.shape)
array([[0., 0., 0., 0., 0.],
       [1., 1., 1., 1., 1.],
       [2., 2., 2., 2., 2.],
       [3., 3., 3., 3., 3.],
       [4., 4., 4., 4., 4.]])