{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Definition\n\nLet $A$ be an $m \\times N$ real or complex [[matrix|0VD9ZSWWJG]], usually with $m \u003c N$, let $b \\in \\mathbb{K}^m$ with $\\mathbb{K} = \\R$ or $\\C$, and let $\\norm{\\cdot}_2$ be the Euclidean norm.\nFor $x \\in \\mathbb{K}^N$, let $\\norm{x}_0$ be the number of nonzero entries of $x$; the vector $x$ is *$s$-sparse* if $\\norm{x}_0 \\le s$.\n*Sparse approximation* is either of the two following problems.\n\n1. Given an integer $s \\ge 1$, find an $s$-sparse $x$ that minimizes $\\norm{Ax - b}_2$.\n2. Given a tolerance $\\varepsilon \\ge 0$, find $x$ with $\\norm{Ax - b}_2 \\le \\varepsilon$ that minimizes $\\norm{x}_0$.\n\nFor $\\varepsilon = 0$, the second problem asks for the sparsest solution of the [[system of linear equations|0GT4WWGWH2]] $Ax = b$.\n\n## Remarks\n\nThe count $\\norm{x}_0$ is not a norm, since $\\norm{2x}_0 = \\norm{x}_0$; the notation is standard anyway.\nExample: let $A = \\begin{pmatrix} 1 \u0026 0 \u0026 1 \\\\ 0 \u0026 1 \u0026 1 \\end{pmatrix}$, $b = (1, 1)$ and $\\varepsilon = 0$.\nThe vector $x = (0, 0, 1)$ solves $Ax = b$ with $\\norm{x}_0 = 1$, and no $x$ with $\\norm{x}_0 = 0$ works since $b \\ne 0$, so it solves problem 2.\nNon-example: $x = (1, 1, 0)$ also solves $Ax = b$, but $\\norm{x}_0 = 2$ is not minimal, so it is not a solution of problem 2.\nReplacing $\\norm{x}_0$ by the convex norm $\\norm{x}_1 = \\sum_j \\abs{x_j}$ gives basis pursuit, a linear program; a penalized form of it is the [[Lasso|KZ226116HW]].\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "defines": "WC8P971XGW",
    "kind": "definition",
    "msc": [
      "41A46",
      "94A12",
      "65F50"
    ],
    "name": "Sparse approximation",
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Sparse_approximation"
      }
    ],
    "tag": "J2XK2WAHBG",
    "uses": [
      "0VD9ZSWWJG",
      "0GT4WWGWH2"
    ]
  },
  "kind": "definition",
  "link": "https://tamnd.github.io/math2/node/J2XK2WAHBG/",
  "links": [
    {
      "field": "defines",
      "target": "WC8P971XGW"
    },
    {
      "field": "uses",
      "target": "0VD9ZSWWJG"
    },
    {
      "field": "uses",
      "target": "0GT4WWGWH2"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/J2XK2WAHBG.md",
  "msc": [
    "41A46",
    "94A12",
    "65F50"
  ],
  "name": "Sparse approximation",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/J2X/J2XK2WAHBG.md",
  "status": null,
  "tag": "J2XK2WAHBG",
  "uri": "m2://J2XK2WAHBG",
  "url": "https://tamnd.github.io/math2/wiki/sparse-approximation-definition/",
  "writing": {
    "tag": "J2XK2WAHBG",
    "kind": "definition",
    "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
      }
    ]
  }
}
