def __init__(self, range, domain=None, axes=None, sign='+',
                 halfcomplex=False, impl=None):
        """Initialize a new instance.

        Parameters
        ----------
        range : `DiscreteLp`
            Range of the inverse Fourier transform. If its
            `DiscreteLp.exponent` is equal to 2.0, this operator has
            an adjoint which is equal to the inverse.
        domain : `DiscreteLp`, optional
            Domain of the inverse Fourier transform. If not given, the
            domain is determined from ``range`` and the other parameters
            as a `discr_sequence_space` with exponent ``p / (p - 1)``
            (read as 'inf' for p=1 and 1 for p='inf').
        axes : sequence of ints, optional
            Dimensions in which a transform is to be calculated. `None`
            means all axes.
        sign : {'-', '+'}, optional
            Sign of the complex exponent.
        halfcomplex : bool, optional
            If ``True``, interpret the last axis in ``axes`` as the
            negative frequency part of the transform of a real signal
            and calculate a "half-complex-to-real" inverse FFT. In this
            case, the domain has by default the shape
            ``floor(N[i]/2) + 1`` in this axis ``i``.
            Otherwise, domain and range have the same shape. If
            ``range`` is a complex space, this option has no effect.
        impl : {'numpy', 'pyfftw'}, optional
            Backend for the FFT implementation. The 'pyfftw' backend
            is faster but requires the ``pyfftw`` package.
            ``None`` selects the fastest available backend.

        Examples
        --------
        Complex-to-complex (default) transforms have the same grids
        in domain and range:

        >>> range_ = discr_sequence_space((2, 4))
        >>> ifft = DiscreteFourierTransformInverse(range_)
        >>> ifft.domain.shape
        (2, 4)
        >>> ifft.range.shape
        (2, 4)

        Complex-to-real transforms have a domain grid with shape
        ``n // 2 + 1`` in the last tranform axis:

        >>> range_ = discr_sequence_space((2, 3, 4), dtype='float')
        >>> axes = (0, 1)
        >>> ifft = DiscreteFourierTransformInverse(
        ...     range_, halfcomplex=True, axes=axes)
        >>> ifft.domain.shape   # shortened in the second axis
        (2, 2, 4)
        >>> ifft.range.shape
        (2, 3, 4)
        """
        super(DiscreteFourierTransformInverse, self).__init__(
            inverse=True, domain=range, range=domain, axes=axes,
            sign=sign, halfcomplex=halfcomplex, impl=impl)
def __init__ ( self , range , domain = None , axes = None , sign = '+' , halfcomplex = False , impl = None ) : super ( DiscreteFourierTransformInverse , self ) . __init__ ( inverse = True , domain = range , range = domain , axes = axes , sign = sign , halfcomplex = halfcomplex , impl = impl )
Initialize a new instance.

        Parameters
        ----------
        range : `DiscreteLp`
            Range of the inverse Fourier transform. If its
            `DiscreteLp.exponent` is equal to 2.0, this operator has
            an adjoint which is equal to the inverse.
        domain : `DiscreteLp`, optional
            Domain of the inverse Fourier transform. If not given, the
            domain is determined from ``range`` and the other parameters
            as a `discr_sequence_space` with exponent ``p / (p - 1)``
            (read as 'inf' for p=1 and 1 for p='inf').
        axes : sequence of ints, optional
            Dimensions in which a transform is to be calculated. `None`
            means all axes.
        sign : {'-', '+'}, optional
            Sign of the complex exponent.
        halfcomplex : bool, optional
            If ``True``, interpret the last axis in ``axes`` as the
            negative frequency part of the transform of a real signal
            and calculate a "half-complex-to-real" inverse FFT. In this
            case, the domain has by default the shape
            ``floor(N[i]/2) + 1`` in this axis ``i``.
            Otherwise, domain and range have the same shape. If
            ``range`` is a complex space, this option has no effect.
        impl : {'numpy', 'pyfftw'}, optional
            Backend for the FFT implementation. The 'pyfftw' backend
            is faster but requires the ``pyfftw`` package.
            ``None`` selects the fastest available backend.

        Examples
        --------
        Complex-to-complex (default) transforms have the same grids
        in domain and range:

        >>> range_ = discr_sequence_space((2, 4))
        >>> ifft = DiscreteFourierTransformInverse(range_)
        >>> ifft.domain.shape
        (2, 4)
        >>> ifft.range.shape
        (2, 4)

        Complex-to-real transforms have a domain grid with shape
        ``n // 2 + 1`` in the last tranform axis:

        >>> range_ = discr_sequence_space((2, 3, 4), dtype='float')
        >>> axes = (0, 1)
        >>> ifft = DiscreteFourierTransformInverse(
        ...     range_, halfcomplex=True, axes=axes)
        >>> ifft.domain.shape   # shortened in the second axis
        (2, 2, 4)
        >>> ifft.range.shape
        (2, 3, 4)