{
  "aliases": null,
  "backlinks": [
    {
      "field": "defines",
      "target": "3BTA41B7M1"
    }
  ],
  "body": "\n## Summary\n\nThe Walsh–Hadamard transform takes a vector of length $2^m$ to the vector of its correlations with all $\\pm 1$ patterns given by a Sylvester [[Hadamard matrix|J0N4J606X0]].\nIt is the discrete Fourier transform of the group $(\\Z/2\\Z)^m$, and its rows are sampled [[Walsh functions|F12A5QKW8Z]].\nA fast algorithm computes it with about $m 2^m$ additions and subtractions, and no multiplications.\nIt is used in signal processing, coding theory, the analysis of Boolean functions and quantum computing.\n\n## Explanations\n\n### L1 human\n\nTake a list of $2^m$ numbers.\nFor each pattern of plus and minus signs from a fixed family of $2^m$ patterns, add up the numbers with those signs.\nThe resulting list of sums is the transform.\nFor $m = 1$ the patterns are $(+, +)$ and $(+, -)$, so $(a, b)$ goes to $(a + b, a - b)$.\nDoing the same step on pairs, then on pairs of pairs, and so on, gives the whole transform quickly.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "kind": "concept",
    "msc": [
      "42C10",
      "65T50",
      "94A12"
    ],
    "name": "Walsh–Hadamard transform",
    "same_as": {
      "wikidata": "Q1014065",
      "wikipedia": "Hadamard transform"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Hadamard_transform"
      }
    ],
    "tag": "K784BA2WHV"
  },
  "kind": "concept",
  "link": "https://tamnd.github.io/math2/node/K784BA2WHV/",
  "links": null,
  "markdown": "https://tamnd.github.io/math2/node/K784BA2WHV.md",
  "msc": [
    "42C10",
    "65T50",
    "94A12"
  ],
  "name": "Walsh–Hadamard transform",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/K78/K784BA2WHV.md",
  "status": null,
  "tag": "K784BA2WHV",
  "uri": "m2://K784BA2WHV",
  "url": "https://tamnd.github.io/math2/wiki/walsh-hadamard-transform/",
  "writing": {
    "tag": "K784BA2WHV",
    "kind": "concept",
    "level": "W0",
    "next": [
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
