{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Definition\n\nLet $n \\ge 1$, and suppose the numbers $f(0), f(1), \\dots, f(2n - 1)$ are samples of $f(k) = \\sum_{j=1}^{n} c_j z_j^k$, where $z_1, \\dots, z_n$ are distinct nonzero complex numbers and $c_1, \\dots, c_n$ are nonzero complex numbers.\n*Prony's method* recovers the $z_j$ and $c_j$ in three steps.\n\n1. Solve the [[linear system|0JTRMBQ1SA]] $\\sum_{m=0}^{n-1} a_m f(k + m) = -f(k + n)$ for $k = 0, \\dots, n - 1$ for $a_0, \\dots, a_{n-1}$.\n2. Compute the [[roots|019MA1VTR2]] $z_1, \\dots, z_n$ of the polynomial $P(z) = z^n + a_{n-1} z^{n-1} + \\cdots + a_0$.\n3. Solve the Vandermonde system $\\sum_{j=1}^{n} c_j z_j^k = f(k)$ for $k = 0, \\dots, n - 1$ for $c_1, \\dots, c_n$.\n\n## Remarks\n\nThe coefficients of $P(z) = \\prod_j (z - z_j)$ satisfy step 1, since $f$ obeys the [[linear recurrence|0NDVHBVBXB]] with characteristic polynomial $P$.\nThe matrix $H = (f(k + m))_{k, m = 0}^{n-1}$ of step 1 is a [[Hankel matrix|PQ1D8FQB3E]].\nIt factors as $H = V^T C V$ with the Vandermonde matrix $V = (z_j^m)$ and $C = \\operatorname{diag}(c_j)$.\nSo $H$ is invertible under the hypotheses, and step 1 has a unique solution.\nExample: samples $2, 3, 5, 9$ with $n = 2$ give $2 a_0 + 3 a_1 = -5$ and $3 a_0 + 5 a_1 = -9$, so $a_0 = 2$, $a_1 = -3$, $P(z) = (z - 1)(z - 2)$, and then $c_1 = c_2 = 1$: $f(k) = 1 + 2^k$.\nNon-example: $f(k) = k$ is not such a sum with $n = 1$; the step 1 equation $a_0 f(0) = -f(1)$ reads $0 = -1$ and has no solution.\nWith noisy data or more samples, one solves steps 1 and 3 in the least squares sense.\nThe method is then sensitive to noise, and variants such as the matrix pencil method improve it.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "defines": "2WSV04QETW",
    "kind": "definition",
    "msc": [
      "65D10",
      "41A30",
      "65F20"
    ],
    "name": "Prony's method",
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Prony%27s_method"
      }
    ],
    "tag": "HM74NCW5JX",
    "uses": [
      "0NDVHBVBXB",
      "PQ1D8FQB3E",
      "0JTRMBQ1SA",
      "019MA1VTR2"
    ]
  },
  "kind": "definition",
  "link": "https://tamnd.github.io/math2/node/HM74NCW5JX/",
  "links": [
    {
      "field": "defines",
      "target": "2WSV04QETW"
    },
    {
      "field": "uses",
      "target": "0NDVHBVBXB"
    },
    {
      "field": "uses",
      "target": "PQ1D8FQB3E"
    },
    {
      "field": "uses",
      "target": "0JTRMBQ1SA"
    },
    {
      "field": "uses",
      "target": "019MA1VTR2"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/HM74NCW5JX.md",
  "msc": [
    "65D10",
    "41A30",
    "65F20"
  ],
  "name": "Prony's method",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/HM7/HM74NCW5JX.md",
  "status": null,
  "tag": "HM74NCW5JX",
  "uri": "m2://HM74NCW5JX",
  "url": "https://tamnd.github.io/math2/wiki/pronys-method-definition/",
  "writing": {
    "tag": "HM74NCW5JX",
    "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
      }
    ]
  }
}
