{
  "aliases": null,
  "backlinks": [
    {
      "field": "specializes",
      "target": "752Z7DRT7P"
    },
    {
      "field": "uses",
      "target": "QE16SFY3GR"
    },
    {
      "field": "defines",
      "target": "VSTM4MZJXZ"
    }
  ],
  "body": "\n## Summary\n\nNumerical differentiation approximates the [[derivative|0V1EJCT8G6]] of a function from its values at finitely many points.\nThe basic tools are difference quotients such as $\\frac{f(x+h) - f(x-h)}{2h}$, whose error is controlled by [[Taylor's theorem|03QHBVW4TT]].\nA small step $h$ reduces the truncation error but magnifies the [[round-off error|CPN6SD3BTV]], so the step must be chosen with care.\nSystematic formulas are given by [[finite difference coefficients|752Z7DRT7P]], and [[automatic differentiation|BW7FEZ8WM1]] is an alternative that avoids truncation error altogether.\n\n## Explanations\n\n### L1 human\n\nThe derivative is the slope of a graph at a point.\nWithout a formula, one can still estimate it by taking two nearby points on the graph and computing the slope of the line through them.\nFor $f(x) = x^2$ at $x = 1$ with points $0.9$ and $1.1$, the slope is $\\frac{1.21 - 0.81}{0.2} = 2$, which here is exact.\nMoving the points closer usually helps, but on a computer, points that are too close cause rounding errors to dominate.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "kind": "concept",
    "msc": [
      "65D25"
    ],
    "name": "Numerical differentiation",
    "same_as": {
      "wikidata": "Q1683292",
      "wikipedia": "Numerical differentiation"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Numerical_differentiation"
      }
    ],
    "tag": "NVH3F8FTYS"
  },
  "kind": "concept",
  "link": "https://tamnd.github.io/math2/node/NVH3F8FTYS/",
  "links": null,
  "markdown": "https://tamnd.github.io/math2/node/NVH3F8FTYS.md",
  "msc": [
    "65D25"
  ],
  "name": "Numerical differentiation",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/NVH/NVH3F8FTYS.md",
  "status": null,
  "tag": "NVH3F8FTYS",
  "uri": "m2://NVH3F8FTYS",
  "url": "https://tamnd.github.io/math2/wiki/numerical-differentiation/",
  "writing": {
    "tag": "NVH3F8FTYS",
    "kind": "concept",
    "level": "W0",
    "next": [
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
