FourierMatrix

Details and Options



- FourierMatrix of order n returns a list of the length-n discrete Fourier transform's basis sequences.
- Each entry of the Fourier matrix is by default defined as
, where
.
- Rows of the FourierMatrix are basis sequences of the discrete Fourier transform.
- The result F of FourierMatrix[n] is complex symmetric and unitary, meaning that F-1 is Conjugate[F].
- The following options can be given:
-
FourierParameters {0,1} parameters to define the Fourier transform TargetStructure Automatic the structure of the returned matrix WorkingPrecision Infinity precision at which to create entries - Different choices of definitions for the Fourier matrix can be specified using the option FourierParameters. With the setting FourierParameters->{a,b}, the Fourier matrix has entries defined as
, where
.
- Some common choices for {a,b} are {0,1} (physics), {-1,1} (data analysis), {1,-1} (signal processing).
- Possible settings for TargetStructure include:
-
Automatic automatically choose the representation returned "Dense" represent the matrix as a dense matrix "Structured" represent the matrix as a structured array "Symmetric" represent the matrix as a symmetric matrix "Unitary" represent the matrix as a unitary matrix - With FourierMatrix[…,TargetStructureAutomatic], a dense matrix is returned if the number of matrix entries is less than a preset threshold, and a structured array is returned otherwise.
- The result of FourierMatrix[n].list is equivalent to Fourier[list] when list has length n. However, the computation of Fourier[list] is much faster and has less numerical error, unless FourierMatrix is kept as a structured array. »
- For a structured FourierMatrix sa, the following properties "prop" can be accessed as sa["prop"]:
-
"FourierParameters" parameters {a,b} "WorkingPrecision" precision used internally "Properties" list of supported properties "Structure" type of structured array "StructuredData" internal data stored by the structured array "StructuredAlgorithms" list of functions with special methods for the structured array "Summary" summary information, represented as a Dataset


Examples
open allclose allBasic Examples (2)Summary of the most common use cases
Scope (2)Survey of the scope of standard use cases
The real and imaginary parts of the Fourier's basis sequences of length 128:

https://wolfram.com/xid/0i1l28x3m-gqda46

Construct a structured Fourier matrix using the option setting TargetStructure"Structured":

https://wolfram.com/xid/0i1l28x3m-mnqv1t

The structured representation saves a significant amount of memory for larger matrices:

https://wolfram.com/xid/0i1l28x3m-c83gou

Options (3)Common values & functionality for each option
FourierParameters (1)
The default definition of the Fourier matrix:

https://wolfram.com/xid/0i1l28x3m-h91cff

Use the definition of the Fourier matrix used in signal processing:

https://wolfram.com/xid/0i1l28x3m-fhinsc

Use the definition of the Fourier matrix used in data analysis:

https://wolfram.com/xid/0i1l28x3m-oj27x

TargetStructure (1)
Return the Fourier matrix as a dense matrix:

https://wolfram.com/xid/0i1l28x3m-e3t5fj

Return the Fourier matrix as a structured array:

https://wolfram.com/xid/0i1l28x3m-numczz

Return the Fourier matrix as a symmetric matrix:

https://wolfram.com/xid/0i1l28x3m-gmicjr

Return the Fourier matrix as a unitary matrix:

https://wolfram.com/xid/0i1l28x3m-fs8nhv

Applications (3)Sample problems that can be solved with this function
The efficiency of the fast Fourier transform (FFT) relies on being able to form a larger Fourier matrix from two smaller ones. Generate two small Fourier matrices of sizes p and q:

https://wolfram.com/xid/0i1l28x3m-cooljk


https://wolfram.com/xid/0i1l28x3m-bjetwu

The Fourier matrix of size p q can be expressed as a product of four simpler matrices:

https://wolfram.com/xid/0i1l28x3m-fibd5d

Show that the resulting matrix is equivalent to the result of FourierMatrix:

https://wolfram.com/xid/0i1l28x3m-ly5xff

The discrete Fourier transform of a vector can be computed by successively multiplying the factors of the Fourier matrix to the vector:

https://wolfram.com/xid/0i1l28x3m-h9ve36

The result is equivalent to applying Fourier to the vector:

https://wolfram.com/xid/0i1l28x3m-c46typ

Define a function for constructing a circulant matrix from a vector:

https://wolfram.com/xid/0i1l28x3m-e5fgw9

https://wolfram.com/xid/0i1l28x3m-daijy3

Circulant matrices can be diagonalized by the Fourier matrix:

https://wolfram.com/xid/0i1l28x3m-fjcxww

The diagonal elements of the resulting diagonal matrix are the same as the product of the Fourier matrix and the starting vector, up to a constant scaling factor:

https://wolfram.com/xid/0i1l28x3m-eynxwj

A Fourier matrix with unit normalization:

https://wolfram.com/xid/0i1l28x3m-dbfd9v
For even dimensions, the permanent of the matrix is zero:

https://wolfram.com/xid/0i1l28x3m-njgh0v

For odd dimensions, the permanent of the matrix is always an integer:

https://wolfram.com/xid/0i1l28x3m-n8qdsh

For an odd prime p>3, the permanent of the p×p matrix is congruent to p!, modulo p3:

https://wolfram.com/xid/0i1l28x3m-pmf0i

Properties & Relations (2)Properties of the function, and connections to other functions
FourierMatrix can be represented as a scaled VandermondeMatrix:

https://wolfram.com/xid/0i1l28x3m-844dq

The Fourier transform of a vector is equivalent to the vector multiplied by a Fourier matrix:

https://wolfram.com/xid/0i1l28x3m-fh8zk5

The inverse Fourier transform is equivalent to multiplying by the conjugate transpose:

https://wolfram.com/xid/0i1l28x3m-zu5r6

Fourier is much faster than the matrix-based computation:

https://wolfram.com/xid/0i1l28x3m-hwew8q

Wolfram Research (2012), FourierMatrix, Wolfram Language function, https://reference.wolfram.com/language/ref/FourierMatrix.html (updated 2024).
Text
Wolfram Research (2012), FourierMatrix, Wolfram Language function, https://reference.wolfram.com/language/ref/FourierMatrix.html (updated 2024).
Wolfram Research (2012), FourierMatrix, Wolfram Language function, https://reference.wolfram.com/language/ref/FourierMatrix.html (updated 2024).
CMS
Wolfram Language. 2012. "FourierMatrix." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/FourierMatrix.html.
Wolfram Language. 2012. "FourierMatrix." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/FourierMatrix.html.
APA
Wolfram Language. (2012). FourierMatrix. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/FourierMatrix.html
Wolfram Language. (2012). FourierMatrix. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/FourierMatrix.html
BibTeX
@misc{reference.wolfram_2025_fouriermatrix, author="Wolfram Research", title="{FourierMatrix}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/FourierMatrix.html}", note=[Accessed: 30-March-2025
]}
BibLaTeX
@online{reference.wolfram_2025_fouriermatrix, organization={Wolfram Research}, title={FourierMatrix}, year={2024}, url={https://reference.wolfram.com/language/ref/FourierMatrix.html}, note=[Accessed: 30-March-2025
]}