{
  "aliases": null,
  "backlinks": [
    {
      "field": "defines",
      "target": "J2XK2WAHBG"
    },
    {
      "field": "uses",
      "target": "KHAT9R19CD"
    }
  ],
  "body": "\n## Summary\n\nLet $A$ be a matrix with more columns than rows and let $b$ be a vector.\nSparse approximation looks for a vector $x$ with few nonzero entries such that $Ax$ is close to $b$.\nThe columns of $A$ form a redundant dictionary, so $b$ has many representations, and one wants the sparsest.\nThe exact problem is NP-hard in general.\nIn practice one uses greedy methods such as [[matching pursuit|8KJ9P9KQ5H]], or convex relaxations such as basis pursuit and the [[Lasso|KZ226116HW]].\nIt is the core of signal compression, denoising and [[compressed sensing|6V8E0AQNHA]].\n\n## Explanations\n\n### L1 human\n\nThink of the columns of a [[matrix|0VD9ZSWWJG]] $A$ as building blocks, and of $b$ as a signal to build.\nWhen there are more blocks than dimensions, the [[system of linear equations|0GT4WWGWH2]] $Ax = b$ has many solutions.\nSparse approximation asks for a solution, or a near solution, that uses as few blocks as possible.\nFor example, with $A = \\begin{pmatrix} 1 \u0026 0 \u0026 1 \\\\ 0 \u0026 1 \u0026 1 \\end{pmatrix}$ and $b = (1, 1)$, both $x = (1, 1, 0)$ and $x = (0, 0, 1)$ solve $Ax = b$.\nThe second one uses a single column, so it is the sparsest solution.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "kind": "concept",
    "msc": [
      "41A46",
      "94A12",
      "65F50"
    ],
    "name": "Sparse approximation",
    "same_as": {
      "wikidata": "Q28684319",
      "wikipedia": "Sparse approximation"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Sparse_approximation"
      }
    ],
    "specializes": [
      "YS1GRQRVY7"
    ],
    "tag": "WC8P971XGW"
  },
  "kind": "concept",
  "link": "https://tamnd.github.io/math2/node/WC8P971XGW/",
  "links": [
    {
      "field": "specializes",
      "target": "YS1GRQRVY7"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/WC8P971XGW.md",
  "msc": [
    "41A46",
    "94A12",
    "65F50"
  ],
  "name": "Sparse approximation",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/WC8/WC8P971XGW.md",
  "status": null,
  "tag": "WC8P971XGW",
  "uri": "m2://WC8P971XGW",
  "url": "https://tamnd.github.io/math2/wiki/sparse-approximation/",
  "writing": {
    "tag": "WC8P971XGW",
    "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
      }
    ]
  }
}
