# Welcome to pyFFTW’s documentation!

## Introduction

pyFFTW is a pythonic wrapper around FFTW, the speedy FFT library. The ultimate aim is to present a unified interface for all the possible transforms that FFTW can perform.

Both the complex DFT and the real DFT are supported, as well as on arbitrary axes of abitrary shaped and strided arrays, which makes it almost feature equivalent to standard and real FFT functions of `numpy.fft` (indeed, it supports the `clongdouble` dtype which `numpy.fft` does not).

Operating FFTW in multithreaded mode is supported.

The core interface is provided by a unified class, `pyfftw.FFTW`. This core interface can be accessed directly, or through a series of helper functions, provided by the `pyfftw.builders` module. These helper functions provide an interface similar to `numpy.fft` for ease of use.

In addition to using `pyfftw.FFTW`, a convenient series of functions are included through `pyfftw.interfaces` that make using `pyfftw` almost equivalent to `numpy.fft` or `scipy.fftpack`.

The source can be found in github and its page in the python package index is here.

A comprehensive unittest suite is included with the source on the repository. If any aspect of this library is not covered by the test suite, that is a bug (please report it!).

## Contents

- Overview and A Short Tutorial
  - Quick and easy: the `pyfftw.interfaces` module
  - The workhorse `pyfftw.FFTW` class
  - The `pyfftw.builders` functions
  - Configuring FFTW planning effort and number of threads
- License
- API Reference
  - `pyfftw` - The core
  - `pyfftw.builders` - Get `FFTW` objects using a `numpy.fft` like interface
  - `pyfftw.builders._utils` - Helper functions for `pyfftw.builders`
  - `pyfftw.interfaces` - Drop in replacements for other FFT implementations

# Indices and tables

- Index
- Module Index
- Search Page