Borneq
2020-11-28 16:15:14 UTC
Metoda Remeza optymalizuje wielomiany aproksymacyjne, które na przykład
powstały metodą Czebyszewa.
Zwykle w metodzie Czebyszewa już ekstrema różnic między wielomianem a
funkcją nie różnią się zbytnio między sobą.
Natomiast dużą zaletą metody Remeza jest to że można ją zmodyfikować aby
poszukiwała najlepiej dopasowanych wielomianów według relatywnych
różnić. Na przykład, mam funkcję exp(x) na przedziale [0,1], wtedy
między początkiem i końcem przedziału różnica wartości przekracza 2.7
raza, jeszcze bardziej na przedziale [-1,1]. Zależy nam, by różnica
aproksymacji była nie więcej niż pewna względna wartość.
Metoda Remeza jest dużo gorzej uwarunkowana niż metoda Czebyszewa. Przy
testach, metoda Czebyszewa traciła zwykle n bitów precyzji dla małych n,
gdzie n - stopień wielomianu, podczas gdy metoda Remeza traciła ponad
połowę precyzji.
(gdzie precyzja double = 53 bity)
W związku z tym Algorytm Remeza warto implementować (dla C) przy pomocy
mpfr a dla C++ w celu klarowności używać wrappera mpreal.
Czy najlepiej dopasowane wielomiany dobrze spełniają funkcję szybkiego
wyliczenia funkcji? Na przykład w porównaniu z szeregami ogólnymi? Na
pewno liczenie pierwiastka zwłaszcza kwadratowego jest bardzo szybkie,
gdy liczy się metodą Newtona.
Natomiast aproksymacja wielomianami wymaga wielomianów wysokich stopni,
choć to może zależeć od funkcji i przedziału. Zaleta podejścia
wielomianowego jest taka że nie potrzebują dzieleń.
powstały metodą Czebyszewa.
Zwykle w metodzie Czebyszewa już ekstrema różnic między wielomianem a
funkcją nie różnią się zbytnio między sobą.
Natomiast dużą zaletą metody Remeza jest to że można ją zmodyfikować aby
poszukiwała najlepiej dopasowanych wielomianów według relatywnych
różnić. Na przykład, mam funkcję exp(x) na przedziale [0,1], wtedy
między początkiem i końcem przedziału różnica wartości przekracza 2.7
raza, jeszcze bardziej na przedziale [-1,1]. Zależy nam, by różnica
aproksymacji była nie więcej niż pewna względna wartość.
Metoda Remeza jest dużo gorzej uwarunkowana niż metoda Czebyszewa. Przy
testach, metoda Czebyszewa traciła zwykle n bitów precyzji dla małych n,
gdzie n - stopień wielomianu, podczas gdy metoda Remeza traciła ponad
połowę precyzji.
(gdzie precyzja double = 53 bity)
W związku z tym Algorytm Remeza warto implementować (dla C) przy pomocy
mpfr a dla C++ w celu klarowności używać wrappera mpreal.
Czy najlepiej dopasowane wielomiany dobrze spełniają funkcję szybkiego
wyliczenia funkcji? Na przykład w porównaniu z szeregami ogólnymi? Na
pewno liczenie pierwiastka zwłaszcza kwadratowego jest bardzo szybkie,
gdy liczy się metodą Newtona.
Natomiast aproksymacja wielomianami wymaga wielomianów wysokich stopni,
choć to może zależeć od funkcji i przedziału. Zaleta podejścia
wielomianowego jest taka że nie potrzebują dzieleń.