{
  "aliases": null,
  "backlinks": [
    {
      "field": "defines",
      "target": "Z5G5JPT022"
    }
  ],
  "body": "\n## Summary\n\nThe Chudnovsky algorithm computes the digits of [[pi|0C1VYVNV2N]] by summing a fast-converging series for $1/\\pi$ found by David and Gregory Chudnovsky.\nEach term of the series adds about fourteen correct decimal digits.\nEvaluated with binary splitting and fast multiplication, it has been used for many record computations of $\\pi$.\nIt belongs to the same family as [[Ramanujan's series for 1/pi|8PZPMF2QJD]].\n\n## Explanations\n\n### L1 human\n\nTo compute millions of digits of $\\pi$ one needs a formula whose terms shrink very quickly.\nThe Chudnovsky series is such a formula: each term is about $10^{-14}$ times the previous one.\nThe terms are fractions of factorials and powers of the integer $640320$, so the sum can be organised as exact integer arithmetic until the final division.\nThe magic number $640320$ comes from the theory of elliptic curves and modular functions.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "kind": "concept",
    "msc": [
      "11Y60",
      "65D20"
    ],
    "name": "Chudnovsky algorithm",
    "same_as": {
      "wikidata": "Q2208385",
      "wikipedia": "Chudnovsky algorithm"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Chudnovsky_algorithm"
      }
    ],
    "tag": "JKCKXDT5B5"
  },
  "kind": "concept",
  "link": "https://tamnd.github.io/math2/node/JKCKXDT5B5/",
  "links": null,
  "markdown": "https://tamnd.github.io/math2/node/JKCKXDT5B5.md",
  "msc": [
    "11Y60",
    "65D20"
  ],
  "name": "Chudnovsky algorithm",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/JKC/JKCKXDT5B5.md",
  "status": null,
  "tag": "JKCKXDT5B5",
  "uri": "m2://JKCKXDT5B5",
  "url": "https://tamnd.github.io/math2/wiki/chudnovsky-algorithm/",
  "writing": {
    "tag": "JKCKXDT5B5",
    "kind": "concept",
    "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
      }
    ]
  }
}
