Skip to content

InverseFourier ​

The numeric inverse discrete Fourier transform — Fourier with the FourierParameters sign flipped, {a,b}→{−a,−b}\{a, b\} \to \{-a, -b\} (confirmed against wolframscript), so it shares that head's kernel exactly.

✓ checked against that system · ! checked, with disagreements (hover a chip)Wolfram LanguageInverseFourier✓
InverseFourier(list)the inverse discrete Fourier transform of a numeric list, or a rectangular numeric matrix.
InverseFourier(list, FourierParameters -> {a, b})equivalent to Fourier(list, FourierParameters -> {-a, -b}).
Typed signatures
TypePackageApplies
(list<list<number>> | list<number>, expression?) -> list<list<number>> | list<number>analyticalways

Domain: Transforms

Details
  • Everything Fourier's own details say about numeric-only evaluation, the separable 2D case, and O(n2)O(n^2) summation applies here too — this head is that same kernel with the parameters negated.

Examples

Basic #

The inverse DFT of {1,2,3,4}\{1, 2, 3, 4\} — the conjugate kernel of Fourier

live ↗
InInverseFourier([1,2,3,4])\mathrm{InverseFourier}(\bigl\lbrack1, 2, 3, 4\bigr\rbrack)Out[5.0,−1.0+i,−1.0,−1.0−i]\bigl\lbrack5.0, -1.0+i, -1.0, -1.0-i\bigr\rbrack

Round-trips exactly through Fourier

live ↗
InFourier(InverseFourier([1,2,3,4]))\mathrm{Fourier}(\mathrm{InverseFourier}(\bigl\lbrack1, 2, 3, 4\bigr\rbrack))Out[1.0,2.0,3.0,4.0]\bigl\lbrack1.0, 2.0, 3.0, 4.0\bigr\rbrack
Scope #

The inverse of Fourier's 2×22\times2 matrix example

live ↗
InInverseFourier([[5,−1],[−2,0]])\mathrm{InverseFourier}(\bigl\lbrack\bigl\lbrack5, -1\bigr\rbrack, \bigl\lbrack-2, 0\bigr\rbrack\bigr\rbrack)Out[[1.0,2.0],[3.0,4.0]]\bigl\lbrack\bigl\lbrack1.0, 2.0\bigr\rbrack, \bigl\lbrack3.0, 4.0\bigr\rbrack\bigr\rbrack

A custom FourierParameters -> {1, -1}, equivalent to Fourier(list, FourierParameters -> {-1, 1})

live ↗
InInverseFourier([1,2,3,4],KeyValuePair⁡(FourierParameters,[1,−1]))\mathrm{InverseFourier}(\bigl\lbrack1, 2, 3, 4\bigr\rbrack, \operatorname{KeyValuePair}(\mathrm{FourierParameters}, \bigl\lbrack1, -1\bigr\rbrack))Out[2.5,−0.5−0.5i,−0.5,−0.5+0.5i]\bigl\lbrack2.5, -0.5-0.5i, -0.5, -0.5+0.5i\bigr\rbrack

A numeric symbol is treated symbolically, so the result stays unevaluated

live ↗
InInverseFourier(N(x,24))\mathrm{InverseFourier}(N(x, 24))OutInverseFourier(x)\mathrm{InverseFourier}({{x}})
Possible issues #

Declines a symbolic list, exactly like Fourier

live ↗
InInverseFourier([a,b])\mathrm{InverseFourier}(\bigl\lbrack a, b\bigr\rbrack)OutInverseFourier([a,b])\mathrm{InverseFourier}(\bigl\lbrack a, b\bigr\rbrack)
About
Examples6
Checked againstWolfram Language 6 agree
CrosswalkWolfram Language

Implementation

primitive · kernela kernel — an algorithm over mutable state that would not be readable as a tree

nativeenginetypescriptpackages/symbols/analysis/analytic/src/fourier-transform.ts

See also: Fourier, InverseFourierTransform