{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Statement\n\nLet $m$ and $n$ be coprime positive odd integers.\nThen\n$$\\left(\\frac{m}{n}\\right) \\left(\\frac{n}{m}\\right) = (-1)^{\\frac{m-1}{2} \\cdot \\frac{n-1}{2}},$$\nwhere the symbols are [[Jacobi symbols|0XDB5AW7M1]].\n\n## Remarks\n\nThe supplements also extend: for a positive odd $n$, $\\left(\\frac{-1}{n}\\right) = (-1)^{(n-1)/2}$ and $\\left(\\frac{2}{n}\\right) = (-1)^{(n^2-1)/8}$.\nThe proof uses the [[law of quadratic reciprocity|085MJS6907]] for each pair of prime factors.\nWith this law, one computes $\\left(\\frac{a}{n}\\right)$ by an algorithm like the [[Euclidean algorithm|0TRNT4X7J0]], with no factorization.\n\n## Explanations\n\n### L1 human\n\nThe Jacobi symbol obeys the same reciprocity law as the Legendre symbol.\nSo you can flip the symbol, reduce the top number modulo the bottom number, and repeat.\nThis gives a fast way to compute Legendre symbols for large primes.\n",
  "commit": "f591989ed15704e9d8755a7a5a6426d73de7a3ae",
  "front": {
    "kind": "statement",
    "msc": [
      "11A15"
    ],
    "name": "Quadratic reciprocity for the Jacobi symbol",
    "role": "theorem",
    "sources": [
      {
        "locator": "Properties",
        "url": "https://en.wikipedia.org/wiki/Jacobi_symbol"
      }
    ],
    "tag": "0YY06KP3ZQ",
    "uses": [
      "0XDB5AW7M1",
      "085MJS6907"
    ]
  },
  "kind": "statement",
  "link": "https://math2.tamnd.com/node/0YY06KP3ZQ/",
  "links": [
    {
      "field": "uses",
      "target": "0XDB5AW7M1"
    },
    {
      "field": "uses",
      "target": "085MJS6907"
    }
  ],
  "markdown": "https://math2.tamnd.com/node/0YY06KP3ZQ.md",
  "msc": [
    "11A15"
  ],
  "name": "Quadratic reciprocity for the Jacobi symbol",
  "prov": null,
  "role": "theorem",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/0YY/0YY06KP3ZQ.md",
  "status": null,
  "tag": "0YY06KP3ZQ",
  "uri": "m2://0YY06KP3ZQ",
  "url": "https://math2.tamnd.com/wiki/quadratic-reciprocity-for-the-jacobi-symbol/",
  "writing": {
    "tag": "0YY06KP3ZQ",
    "kind": "statement",
    "level": "W0",
    "next": [
      {
        "what": "an inventory row",
        "note": "the row of the inventory that the node accounts for",
        "have": 0,
        "want": 1
      }
    ]
  }
}
