{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Statement\n\nLet $n \\ge 2$.\nFor $k \\ge 0$, let $G_k$ be the polynomial of degree $k$ with $G_k(1) = 1$ such that $G_0, G_1, G_2, \\dots$ are orthogonal on $[-1, 1]$ for the weight $(1 - t^2)^{(n-3)/2}$.\nThese are the Gegenbauer polynomials for the unit sphere $S^{n-1} \\subset \\R^n$.\nLet $-1 \\le s \u003c 1$, and let $f$ be a real polynomial with $f = \\sum_{k=0}^{d} f_k G_k$ such that:\n\n1. $f_0 \u003e 0$ and $f_k \\ge 0$ for $k = 1, \\dots, d$;\n2. $f(t) \\le 0$ for all $t \\in [-1, s]$.\n\nLet $C \\subset S^{n-1}$ be a [[spherical code|SDCX4WDP4F]] such that $x \\cdot y \\le s$ for all distinct $x, y \\in C$, where $x \\cdot y$ is the [[dot product|0S52TNNTH9]].\nThen\n$$\\abs{C} \\le \\frac{f(1)}{f_0}.$$\n\n## Remarks\n\nThe key fact is that $\\sum_{x, y \\in C} G_k(x \\cdot y) \\ge 0$ for every $k$, because $G_k(x \\cdot y)$ is a positive definite kernel on the sphere, a consequence of the addition theorem for spherical harmonics.\nThen $\\sum_{x, y \\in C} f(x \\cdot y) = \\sum_k f_k \\sum_{x, y} G_k(x \\cdot y) \\ge f_0 \\abs{C}^2$, since the term $k = 0$ equals $f_0 \\abs{C}^2$.\nOn the other side, the diagonal terms give $\\abs{C} f(1)$ and the off-diagonal terms are at most $0$ by clause 2.\nSo $f_0 \\abs{C}^2 \\le \\abs{C} f(1)$.\nThe bound was introduced by Philippe Delsarte for codes in Hamming space, and by Delsarte, Goethals and Seidel for spherical codes in 1977.\nWith $s = 1/2$ it bounds the [[kissing number|B408FZYXF9]]; Odlyzko and Sloane, and independently Levenshtein, found polynomials giving $\\tau(8) \\le 240$ and $\\tau(24) \\le 196560$, which are sharp.\n\n## Explanations\n\n### L1 human\n\nTo show that a set of points on a sphere cannot be large, one picks a clever polynomial and sums its values over all pairs of points.\nPositivity of certain building blocks makes the sum large, while the spacing of the points makes it small.\nComparing the two gives a bound on the number of points.\n\n### L2 human\n\nFinding the best polynomial of a given degree is a linear program, hence the name.\nThe method gives exact answers in dimensions $8$ and $24$, where the extremal codes are the shortest vectors of the [[E8 lattice|2CXH65EKY7]] and of the [[Leech lattice|XETV3657DG]].\nIn dimension $3$ it gives only $\\tau(3) \\le 13$.\nCohn and Elkies adapted the idea to sphere packings in $\\R^n$, which led to the [[solution in dimensions 8 and 24|YJ48S89BZA]].\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "about": [
      "SDCX4WDP4F"
    ],
    "kind": "statement",
    "msc": [
      "52C17",
      "94B65",
      "05B40"
    ],
    "name": "Delsarte linear programming bound",
    "role": "theorem",
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Kissing_number"
      }
    ],
    "tag": "7RPEDHAT7R",
    "uses": [
      "SDCX4WDP4F",
      "0S52TNNTH9",
      "B408FZYXF9"
    ]
  },
  "kind": "statement",
  "link": "https://tamnd.github.io/math2/node/7RPEDHAT7R/",
  "links": [
    {
      "field": "about",
      "target": "SDCX4WDP4F"
    },
    {
      "field": "uses",
      "target": "SDCX4WDP4F"
    },
    {
      "field": "uses",
      "target": "0S52TNNTH9"
    },
    {
      "field": "uses",
      "target": "B408FZYXF9"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/7RPEDHAT7R.md",
  "msc": [
    "52C17",
    "94B65",
    "05B40"
  ],
  "name": "Delsarte linear programming bound",
  "prov": null,
  "role": "theorem",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/7RP/7RPEDHAT7R.md",
  "status": null,
  "tag": "7RPEDHAT7R",
  "uri": "m2://7RPEDHAT7R",
  "url": "https://tamnd.github.io/math2/wiki/delsarte-linear-programming-bound/",
  "writing": {
    "tag": "7RPEDHAT7R",
    "kind": "statement",
    "level": "W0",
    "next": [
      {
        "what": "an inventory row",
        "note": "the row of the inventory that the node accounts for",
        "have": 0,
        "want": 1
      },
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
