{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Statement\n\nLet $A$ be an $m \\times n$ complex matrix with [[singular value decomposition|000NPTMX6J]] $A = \\sum_{i=1}^{r} \\sigma_i u_i v_i^*$.\nHere $r$ is the [[rank|0ZC9YTXZRY]] of $A$, $\\sigma_1 \\ge \\sigma_2 \\ge \\cdots \\ge \\sigma_r \u003e 0$ are its [[singular values|09VMDSRXWJ]], and $u_1, \\dots, u_r$ and $v_1, \\dots, v_r$ are orthonormal families in $\\C^m$ and $\\C^n$.\nLet $0 \\le k \u003c r$ and put $A_k = \\sum_{i=1}^{k} \\sigma_i u_i v_i^*$.\nThen for every $m \\times n$ complex matrix $B$ of rank at most $k$:\n\n1. $\\norm{A - B}_2 \\ge \\norm{A - A_k}_2 = \\sigma_{k+1}$, where $\\norm{\\cdot}_2$ is the [[operator norm|06EKW1AKXF]] for the Euclidean norms.\n2. $\\norm{A - B}_F \\ge \\norm{A - A_k}_F = \\left(\\sigma_{k+1}^2 + \\cdots + \\sigma_r^2\\right)^{1/2}$, where $\\norm{\\cdot}_F$ is the [[Frobenius norm|JT8Q204E4R]].\n\n## Remarks\n\nFor the operator norm, the kernel of $B$ has dimension at least $n - k$, so it meets the span of $v_1, \\dots, v_{k+1}$ in a unit vector $x$.\nThen $\\norm{(A - B)x} = \\norm{Ax} \\ge \\sigma_{k+1}$.\nThe Frobenius case follows from Weyl's inequalities for singular values, $\\sigma_{i+j-1}(A) \\le \\sigma_i(A - B) + \\sigma_j(B)$, applied with $j = k+1$.\nFor example, if $A = \\operatorname{diag}(3, 2, 1)$, the best rank one approximation is $\\operatorname{diag}(3, 0, 0)$, with operator norm error $2$ and Frobenius error $\\sqrt{5}$.\nThe minimiser $A_k$ is unique in the Frobenius norm when $\\sigma_k \u003e \\sigma_{k+1}$; in the operator norm it is not unique in general.\nThe same result holds for real matrices with real singular value decompositions.\n\n## Explanations\n\n### L1 human\n\nThe theorem says how to approximate a matrix as well as possible by a simpler matrix of low rank.\nWrite the matrix as a sum of rank one pieces from its singular value decomposition, and keep the largest ones.\nThe error is controlled by the singular values that were thrown away.\n\n### L2 human\n\nThis is the theoretical basis of principal component analysis and of truncated SVD compression.\nMirsky extended it to every unitarily invariant norm, so it is often called the Eckart–Young–Mirsky theorem.\nIt also shows that $\\sigma_{k+1}$ is the distance from $A$ to the set of matrices of rank at most $k$.\nIn particular, for a square invertible $A$, the smallest singular value is the distance to the singular matrices.\n",
  "commit": "547b6eddb8f2feb8d579f2d633d22a27b7e132fc",
  "front": {
    "about": [
      "000NPTMX6J",
      "0ZC9YTXZRY"
    ],
    "kind": "statement",
    "msc": [
      "15A18",
      "15A60",
      "65F55"
    ],
    "name": "Eckart–Young theorem",
    "role": "theorem",
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Low-rank_approximation"
      }
    ],
    "tag": "JJT6GC055J",
    "uses": [
      "000NPTMX6J",
      "09VMDSRXWJ",
      "0ZC9YTXZRY",
      "JT8Q204E4R",
      "06EKW1AKXF"
    ]
  },
  "kind": "statement",
  "link": "https://math2.tamnd.com/node/JJT6GC055J/",
  "links": [
    {
      "field": "about",
      "target": "000NPTMX6J"
    },
    {
      "field": "about",
      "target": "0ZC9YTXZRY"
    },
    {
      "field": "uses",
      "target": "000NPTMX6J"
    },
    {
      "field": "uses",
      "target": "09VMDSRXWJ"
    },
    {
      "field": "uses",
      "target": "0ZC9YTXZRY"
    },
    {
      "field": "uses",
      "target": "JT8Q204E4R"
    },
    {
      "field": "uses",
      "target": "06EKW1AKXF"
    }
  ],
  "markdown": "https://math2.tamnd.com/node/JJT6GC055J.md",
  "msc": [
    "15A18",
    "15A60",
    "65F55"
  ],
  "name": "Eckart–Young theorem",
  "prov": null,
  "role": "theorem",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/JJT/JJT6GC055J.md",
  "status": null,
  "tag": "JJT6GC055J",
  "uri": "m2://JJT6GC055J",
  "url": "https://math2.tamnd.com/wiki/eckart-young-theorem/",
  "writing": {
    "tag": "JJT6GC055J",
    "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
      }
    ]
  }
}
