{
  "aliases": null,
  "backlinks": [
    {
      "field": "uses",
      "target": "28C5WWGX9J"
    },
    {
      "field": "defines",
      "target": "RGT7WEZG8X"
    }
  ],
  "body": "\n## Summary\n\nSpline interpolation passes a [[spline|84TJ8KQ926]] through given data points, using the data nodes as knots.\nUnlike [[polynomial interpolation|SS1YMS2NPC]] of high degree, it keeps the degree of each piece low, which avoids [[Runge's phenomenon|ZMT8JF21R6]] and gives small errors for smooth data.\nThe most common choice is the [[cubic spline|V42H0R3EKX]], for which two extra conditions at the ends of the interval make the interpolant unique.\nThe coefficients solve a [[tridiagonal|DARX1KZRHZ]] linear system, so the cost grows only linearly with the number of points.\n\n## Explanations\n\n### L1 human\n\nConnecting data points by straight segments gives a curve with corners.\nSpline interpolation uses curved pieces instead, typically cubics, and chooses them so that neighbouring pieces meet with the same slope and the same bending.\nThe result looks like a smooth curve drawn through the points by hand.\nUnlike one polynomial through all the points, it does not swing wildly between the points when there are many of them.\nThe [[definition|RGT7WEZG8X]] states the conditions.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "kind": "concept",
    "msc": [
      "41A15",
      "65D07",
      "41A05"
    ],
    "name": "Spline interpolation",
    "same_as": {
      "wikidata": "Q545002",
      "wikipedia": "Spline interpolation"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Spline_interpolation"
      }
    ],
    "tag": "D59HBKKRP9"
  },
  "kind": "concept",
  "link": "https://tamnd.github.io/math2/node/D59HBKKRP9/",
  "links": null,
  "markdown": "https://tamnd.github.io/math2/node/D59HBKKRP9.md",
  "msc": [
    "41A15",
    "65D07",
    "41A05"
  ],
  "name": "Spline interpolation",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/D59/D59HBKKRP9.md",
  "status": null,
  "tag": "D59HBKKRP9",
  "uri": "m2://D59HBKKRP9",
  "url": "https://tamnd.github.io/math2/wiki/spline-interpolation/",
  "writing": {
    "tag": "D59HBKKRP9",
    "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
      }
    ]
  }
}
