### 4.5 Guru Interface

The “guru” interface to FFTW is intended to expose as much as possible of the flexibility in the underlying FFTW architecture. It allows one to compute multi-dimensional “vectors” (loops) of multi-dimensional transforms, where each vector/transform dimension has an independent size and stride. One can also use more general complex-number formats, e.g. separate real and imaginary arrays.

In addition to the more flexible planner interface, there are also guru generalizations of `fftw_execute` that allow a given plan to be executed on a different array (sufficiently similar to the original). Note that in order to use the guru execute functions, you do not need to use the guru planner interface: you can create plans with the basic or advanced interface and execute them with the guru interface.

For those users who require the flexibility of the guru interface, it is important that they pay special attention to the documentation lest they shoot themselves in the foot.