Skip to main content
`Ctrl`+`K`

# MatCreateFFT

Creates a matrix object that provides FFT via an external package

## Synopsis

    #include "petscmat.h"
    PetscErrorCode MatCreateFFT(MPI_Comm comm, PetscInt ndim, const PetscInt dim[], MatType mattype, Mat *A)

Collective

## Input Parameters

- comm - MPI communicator

- ndim - the ndim-dimensional transform

- dim - array of size ndim, dim[i] contains the vector length in the i-dimension

- mattype - package type, e.g., `MATFFTW` or `MATSEQCUFFT`

## Output Parameter

- A - the matrix

## Options Database Key

- -mat_fft_type - set FFT type fft or seqcufft

## Note

This serves as a base class for all FFT matrix classes, currently `MATFFTW` or `MATSEQCUFFT`

## See Also

Matrices, `Mat`, `MATFFTW`, `MATSEQCUFFT`, `MatCreateVecsFFTW()`

## Level

intermediate

## Location

src/mat/impls/fft/fft.c

## Examples

src/snes/tutorials/ex7.c
src/snes/tutorials/ex13.c

Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages