Remezův algoritmus
Remezův algoritmus je iterační postup, jak aproximovat zadanou funkci polynomem požadovaného stupně tak, aby absolutní hodnota chyby aproximace byla v požadovaném intervalu minimální (tzv. minimalizace maxima). Postup publikoval Jevgenij Jakovlevič Remez (Евгений Я́ковлевич Ре́мез) v roce 1934.
Takto nalezená aproximace bývá použita v procesorech (resp. matematických koprocesorech) pro výpočet základních funkcí, např. sinus, kosinus, arkus tangens, logaritmus, exponenciální funkce. U těchto funkcí lze pomocí vhodných vzorců dosáhnout toho, aby jejich vstupní parametr ležel v požadovaném intervalu (např. , ) a koeficienty a stupeň polynomu jsou určeny tak, aby chyba aproximace byla nižší než (ne)přesnost čísel daného procesoru. Tento algoritmus lze použít i při návrhu číslicových filtrů.
Taylorův polynom aproximuje funkci tak, že v místě, pro které byly koeficienty Taylorova polynomu spočteny, odpovídá hodnota Taylorova polynomu přesně hodnotě aproximované funkce, ale čím dále od tohoto místa tím více se Taylorův polynom a funkce rozchází a chyba aproximace roste (pro výše uvedené základní funkce). Naopak v případě Remezova polynomu chyba v intervalu osciluje mezi kladným a záporným maximem, přičemž počet oscilací závisí na stupni polynomu. Tato maximální chyba bývá výrazně menší než chyba Taylorova polynomu stejného stupně na stejném intervalu.
Externí odkazy
[editovat | editovat zdroj]- https://homel.vsb.cz/....pdf - VŠB, Nejlepší polynomiální aproximace, bakalářská práce, Tomáš Staško
- anglicky http://www.righto.com/... - Ken Shirriff's blog, Pi in the Pentium: reverse-engineering the constants in its floating-point unit