{
  "aliases": null,
  "backlinks": [
    {
      "field": "defines",
      "target": "SQH9X0X8N1"
    }
  ],
  "body": "\n## Summary\n\nThe Remez algorithm is an iterative method that computes the [[minimax approximation|ASWF03X5AM]] of a continuous function by polynomials of a given degree.\nEach round has two steps.\nFirst it fits a polynomial whose error has equal size and alternating signs on $n + 2$ reference points.\nThen it moves the reference points to the places where the error is largest.\nIt was introduced by Evgeny Remez in 1934 and is a standard way to design polynomial and rational approximations in numerical libraries.\n\n## Explanations\n\n### L1 human\n\nThe best uniform approximation has an error curve that wiggles up and down with equal height at $n + 2$ places.\nThe algorithm guesses those places, forces the error to have equal height there, and then looks where the error is really largest.\nIt moves the guessed places there and repeats.\nFor a straight-line approximation of $x^2$ on $[-1, 1]$, starting from the points $-1, 0, 1$ already gives the answer $1/2$ in one step.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "kind": "concept",
    "msc": [
      "65D15",
      "41A50",
      "41A10"
    ],
    "name": "Remez algorithm",
    "same_as": {
      "wikidata": "Q2835816",
      "wikipedia": "Remez algorithm"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Remez_algorithm"
      }
    ],
    "tag": "H129B6DA0F"
  },
  "kind": "concept",
  "link": "https://tamnd.github.io/math2/node/H129B6DA0F/",
  "links": null,
  "markdown": "https://tamnd.github.io/math2/node/H129B6DA0F.md",
  "msc": [
    "65D15",
    "41A50",
    "41A10"
  ],
  "name": "Remez algorithm",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/H12/H129B6DA0F.md",
  "status": null,
  "tag": "H129B6DA0F",
  "uri": "m2://H129B6DA0F",
  "url": "https://tamnd.github.io/math2/wiki/remez-algorithm/",
  "writing": {
    "tag": "H129B6DA0F",
    "kind": "concept",
    "level": "W0",
    "next": [
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
