# scipy.fft.register_backend

scipy.fft.register_backend(backend)

  Register a backend for permanent use.

  Registered backends have the lowest priority and will be tried after the global backend.

  Parameters:
    backend{object, ‘scipy’}

      The backend to use. Can either be a `str` containing the name of a known backend {‘scipy’} or an object that implements the uarray protocol.

  Raises:
    ValueError: If the backend does not implement `numpy.scipy.fft`.

  Examples

  We can register a new fft backend:

      >>> from scipy.fft import fft, register_backend, set_global_backend
      >>> class NoopBackend:  # Define an invalid Backend
      ...     __ua_domain__ = "numpy.scipy.fft"
      ...     def __ua_function__(self, func, args, kwargs):
      ...          return NotImplemented
      >>> set_global_backend(NoopBackend())  # Set the invalid backend as global
      >>> register_backend("scipy")  # Register a new backend
      >>> fft([1])  # The registered backend is called because the global backend returns `NotImplemented`
      array([1.+0.j])
      >>> set_global_backend("scipy")  # Restore global backend to default