Interpolarea rațională ( interpolarea prin funcții raționale ) este o reprezentare a unei funcții interpolate (mai precis, o serie de valori tabelare) ca raport a două polinoame . Un număr de funcții care sunt prost interpolate prin metode polinomiale pot fi bine aproximate printr-o funcție rațională cu un polinom în numărător și numitor [1] . Acest lucru este valabil mai ales pentru funcțiile cu comportament neregulat [2] (în special, interpolarea rațională este potrivită pentru funcțiile cu puncte singulare [1] și schimbări bruște [2] [3] ).
Din punctele cunoscute , … , se caută o aproximare a în formă
, și [2] .
Coeficienții și se calculează din mulțimea relațiilor , unde , care poate fi scris ca
, unde [2] .
Aceste ecuații formează un sistem de ecuații algebrice liniare din ecuații în necunoscute. Problema clasică a interpolării se reduce la rezolvarea acestui sistem, dar studiul calitativ și numeric al unui astfel de sistem este dificil [4] . În plus, cu un număr mare de puncte, este dificil să se calculeze coeficienții cu o precizie ridicată - o eroare mică este suficientă pentru a se asigura că interpolantul rațional rezultat nu trece prin punctele date [5] .
În unele cazuri, poate fi scris în mod explicit ( impar și , sau par și ). Pentru aceasta se calculează așa-numitele diferențe împărțite invers , care sunt determinate de condiții
și relația de recurență
.
Ca rezultat, funcția rațională de interpolare este scrisă ca o fracție continuă
.
Pentru a rezolva problemele asociate cu sistemul de ecuații, Bulirsh și Shter au generalizat algoritmul lui Neville la cazul interpolării raționale. Algoritmul Bulirsh-Shter obține o funcție rațională cu puteri ale numărătorului și numitorului egale cu [2] [5] . Dezavantajul metodei este că nu este posibil să se construiască un interpolant de acest tip pentru fiecare set de puncte, iar algoritmul nu prevede detectarea unor astfel de erori. Totuși, multă vreme acest algoritm a rămas singura metodă disponibilă de interpolare rațională [5] .
În 1986, Schneider și Werner au publicat o lucrare în care și-au conturat algoritmul de interpolare rațională folosind reprezentarea baricentrică a interpolantului rațional [6] . Algoritmul Schneider-Werner vă permite să obțineți o funcție rațională cu gradul necesar al numitorului (și gradul numărătorului ). Algoritmul vă permite de asemenea să verificați interpolantul pentru puncte singulare [5] .
Ulterior, Burrut a îmbunătățit acest algoritm [7] .
În 2005, Floater și Hormann au descris un algoritm pentru construirea unei funcții de interpolare rațională care are viteză mare, stabilitate și fiabilitate [8] . În acești parametri , algoritmul Floater-Hormann este comparabil cu interpolarea spline . În acest caz, funcția rezultată are o mică eroare de aproximare , puterile numărătorului și numitorului nu mai mult de , și, de asemenea, nu are puncte singulare pe axa reală.