{
  "aliases": null,
  "backlinks": [
    {
      "field": "about",
      "target": "9HYM2ZMS31"
    },
    {
      "field": "about",
      "target": "9N8D9E5TB2"
    },
    {
      "field": "about",
      "target": "BH3NNAYJT5"
    },
    {
      "field": "about",
      "target": "RY3QGW87HX"
    },
    {
      "field": "about",
      "target": "S966EZX3ZT"
    },
    {
      "field": "uses",
      "target": "9HYM2ZMS31"
    },
    {
      "field": "uses",
      "target": "9N8D9E5TB2"
    },
    {
      "field": "uses",
      "target": "BH3NNAYJT5"
    },
    {
      "field": "uses",
      "target": "EXZHFNRMV8"
    },
    {
      "field": "uses",
      "target": "KE4HEWEG38"
    },
    {
      "field": "uses",
      "target": "RY3QGW87HX"
    },
    {
      "field": "uses",
      "target": "S966EZX3ZT"
    },
    {
      "field": "uses",
      "target": "T37Q055GDA"
    },
    {
      "field": "defines",
      "target": "TJ9XPJ65YX"
    }
  ],
  "body": "\n## Summary\n\nThe discrete Fourier transform turns a finite list of $N$ complex numbers into another list of $N$ numbers, its frequency components.\nIt is the Fourier transform of the finite cyclic group $\\Z / N\\Z$, built from the $N$-th [[roots of unity|0YV2CKP2AV]].\nIt is invertible, it preserves energy up to the factor $N$, and it turns cyclic convolution into pointwise multiplication.\nThe fast Fourier transform computes it in $O(N \\log N)$ operations, which makes it one of the most used algorithms in numerical computing and signal processing.\nSee the [[definition|TJ9XPJ65YX]].\n\n## Explanations\n\n### L1 human\n\nTake $N$ samples of a signal at equally spaced times.\nThe discrete Fourier transform tells how much of each of the $N$ basic waves, which complete $0, 1, \\dots, N - 1$ full turns over the sampling window, is present in the samples.\nFor $N = 4$, the list $(1, 1, 1, 1)$ is a pure constant, and its transform is $(4, 0, 0, 0)$: only the frequency $0$ is present.\nThe list $(1, 0, 0, 0)$, a single spike, has transform $(1, 1, 1, 1)$: every frequency is present equally.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "kind": "concept",
    "msc": [
      "65T50",
      "42A38",
      "43A25"
    ],
    "name": "Discrete Fourier transform",
    "same_as": {
      "wikidata": "Q2878",
      "wikipedia": "Discrete Fourier transform"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Discrete_Fourier_transform"
      }
    ],
    "tag": "TST0GH66A5"
  },
  "kind": "concept",
  "link": "https://tamnd.github.io/math2/node/TST0GH66A5/",
  "links": null,
  "markdown": "https://tamnd.github.io/math2/node/TST0GH66A5.md",
  "msc": [
    "65T50",
    "42A38",
    "43A25"
  ],
  "name": "Discrete Fourier transform",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/TST/TST0GH66A5.md",
  "status": null,
  "tag": "TST0GH66A5",
  "uri": "m2://TST0GH66A5",
  "url": "https://tamnd.github.io/math2/wiki/discrete-fourier-transform/",
  "writing": {
    "tag": "TST0GH66A5",
    "kind": "concept",
    "level": "W0",
    "next": [
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
