Remez-algoritme - Remez algorithm
Het Remez-algoritme of Remez-uitwisselingsalgoritme , gepubliceerd door Evgeny Yakovlevich Remez in 1934, is een iteratief algoritme dat wordt gebruikt om eenvoudige benaderingen van functies te vinden, met name benaderingen door functies in een Chebyshev-ruimte die het beste zijn in de uniforme norm L ∞ zin.
Een typisch voorbeeld van een Chebyshev-ruimte is de deelruimte van Chebyshev-polynomen van orde n in de ruimte van reële continue functies op een interval , C [ a , b ]. De polynoom van de beste benadering binnen een gegeven deelruimte wordt gedefinieerd als de polynoom die het maximale absolute verschil tussen de polynoom en de functie minimaliseert . In dit geval wordt de vorm van de oplossing bepaald door de equioscillatiestelling .
Procedure
De Remez algoritme begint met de functie worden benaderd en een reeks van bemonsteringspunten in het benaderingsinterval, meestal de extrema van Chebyshev polynoom lineair toegewezen aan het interval. De stappen zijn:
- Los het lineaire stelsel vergelijkingen op
- (waar ),
- voor de onbekenden en E .
- Gebruik de as-coëfficiënten om een polynoom te vormen .
- Zoek de verzameling punten van de lokale maximale fout .
- Als de fouten bij elk van gelijke grootte zijn en afwisselend van teken zijn, dan is het minimax-benaderingspolynoom. Als dit niet het geval is, vervangt u door en herhaalt u de bovenstaande stappen.
Het resultaat wordt de polynoom van de beste benadering of het minimax benaderingsalgoritme genoemd .
Een overzicht van technische details bij het implementeren van het Remez-algoritme wordt gegeven door W. Fraser.
Over de keuze van initialisatie
De Chebyshev-knooppunten zijn een gebruikelijke keuze voor de initiële benadering vanwege hun rol in de theorie van polynomiale interpolatie. Voor de initialisatie van het optimalisatieprobleem voor functie f door de Lagrange-interpolant L n ( f ), kan worden aangetoond dat deze initiële benadering wordt begrensd door
waarbij de norm of Lebesgue-constante van de Lagrange-interpolatie-operator L n van de knooppunten ( t 1 , ..., t n + 1 ) is
T zijn de nullen van de Chebyshev-polynomen, en de Lebesgue-functies zijn
Theodore A. Kilgore, Carl de Boor, en Allan Pinkus bewezen dat er sprake is van een unieke t i voor elke L n , hoewel niet expliciet voor de (gewone) veeltermen bekend. Evenzo, en de optimaliteit van een keuze van knooppunten kan worden uitgedrukt als
Voor Chebyshev-knooppunten, die een suboptimale, maar analytisch expliciete keuze bieden, staat het asymptotische gedrag bekend als
( γ is de Euler-Mascheroni constante ) met
- voor
en bovengrens
Lev Brutman verkreeg de grens voor , en zijnde de nullen van de geëxpandeerde Chebyshev-polynomen:
Rüdiger Günttner verkregen uit een scherpere schatting voor
Gedetailleerde discussie
In dit gedeelte vindt u meer informatie over de hierboven beschreven stappen. In deze sectie loopt de index i van 0 tot n +1.
Stap 1: Gegeven , los het lineaire stelsel van n +2 vergelijkingen op
- (waar ),
- voor de onbekenden en E .
Het moet duidelijk zijn dat in deze vergelijking alleen zin heeft als de knooppunten zijn geordend , ofwel strikt toenemend of strikt afnemend. Dan heeft dit lineaire systeem een unieke oplossing. (Zoals bekend heeft niet elk lineair systeem een oplossing.) De oplossing kan ook worden verkregen met alleen rekenkundige bewerkingen, terwijl een standaardoplosser uit de bibliotheek bewerkingen zou uitvoeren. Hier is het simpele bewijs:
Bereken de standaard n -de graad interpolant tot op de eerste n +1 knopen en ook de standaard n -de graad interpolant tot de ordinaat
Gebruik hiervoor telkens de interpolatieformule van Newton met de verdeelde verschillen van volgorde en rekenkundige bewerkingen.
De polynoom heeft zijn i -de nul tussen en , en dus geen verdere nullen tussen en : en heeft hetzelfde teken .
De lineaire combinatie is ook een polynoom van graad n en
Dit is hetzelfde als de bovenstaande vergelijking voor en voor elke keuze van E . Dezelfde vergelijking voor i = n +1 is
- en heeft een speciale redenering nodig: opgelost voor de variabele E , het is de definitie van E :
Zoals hierboven vermeld, hebben de twee termen in de noemer hetzelfde teken: E en zijn dus altijd goed gedefinieerd.
De fout op de gegeven n +2 geordende knopen is beurtelings positief en negatief omdat
De stelling van de La Vallée Poussin stelt dat onder deze voorwaarde geen polynoom van graad n bestaat met een fout kleiner dan E . Inderdaad, als zo'n polynoom zou bestaan, noem het , dan zou het verschil nog steeds positief/negatief zijn op de n +2 knopen en dus minstens n +1 nullen hebben, wat onmogelijk is voor een polynoom van graad n . Deze E is dus een ondergrens voor de minimale fout die kan worden bereikt met polynomen van graad n .
Stap 2 verandert de notatie van in .
Stap 3 verbetert de invoerknooppunten en hun fouten als volgt.
In elke P-regio wordt het huidige knooppunt vervangen door de lokale maximalizer en in elke N-regio wordt deze vervangen door de lokale minimalizer. (Verwacht bij A , de nabije , en bij B .) Hier is geen hoge precisie vereist, de standaard zoekactie met een paar kwadratische passingen zou voldoende moeten zijn. (Zien )
Laat . Elke amplitude is groter dan of gelijk aan E . De stelling van de La Vallée Poussin en zijn bewijs zijn ook van toepassing op met als de nieuwe ondergrens voor de best mogelijke fout met veeltermen van graad n .
Bovendien is het handig als een voor de hand liggende bovengrens voor die best mogelijke fout.
Stap 4: Met en als onder- en bovengrens voor de best mogelijke benaderingsfout heeft men een betrouwbaar stopcriterium: herhaal de stappen totdat deze voldoende klein is of niet meer afneemt. Deze grenzen geven de voortgang aan.
varianten
Soms wordt meer dan één monsterpunt tegelijkertijd vervangen door de locaties van nabijgelegen maximale absolute verschillen.
Soms worden alle monsterpunten in één iteratie vervangen door de locaties van alle, afwisselende tekens, maximale verschillen.
Soms wordt een relatieve fout gebruikt om het verschil tussen de benadering en de functie te meten, vooral als de benadering wordt gebruikt om de functie te berekenen op een computer die gebruikmaakt van drijvende- kommaberekeningen.
Soms zijn nul-foutpuntbeperkingen opgenomen in een aangepast Remez Exchange-algoritme.
Zie ook
Referenties
Externe links
- Minimax Approximations and the Remez Algorithm , achtergrondhoofdstuk in de Boost Math Tools-documentatie, met link naar een implementatie in C++
- Inleiding tot DSP
- Aarts, Ronald M.; Bond, Charles; Mendelsohn, Phil & Weisstein, Eric W. "Remez-algoritme" . MathWereld .