Aproksimacije racionalnim brojevima

Motivacija

Poznata je stvar da omjer uzastopnih Fibonaccijevih brojeva teži u zlatni rez:

drugim riječima, za iracionalan broj možemo lagano pronaći vrlo kvalitetnu aproksimaciju racionalnim brojem, primjerice:

Pitanja: kako poopćiti ovaj rezultat (primjerice za aproksimaciju drugog korijena prirodnih brojeva), te koja je brzina konvergencije tako dobivenog postupka?

Teorija

Pretpostavimo da želimo aproksimirati iracionalni broj gdje su . Rješenje ovog problema ćemo pronaći ako se prisjetimo diferencijskih jednadžbi drugog reda.

Poznato je da diferencijska jednadžba

ima opći oblik

gdje su rješenja jednadžbe

Vratimo se originalnom problemu: jednadžba s rješenjima upravo i je ona s karakterističkom jednadžbom

Iz toga slijedi da:

ima opći član upravo na koji možemo postaviti uvjet iz čega slijedi .

Pogledajmo sada u što teži omjer uzastopnih članova pod pretpostavkom :

To nam govori da

Primjetimo da ovom metodom sada možemo aproksimirati sve brojeve oblika OSIM čistih korijena (jer , dok je inaće ta vrijednost manja od 1). No, to nam ne predstavlja problem:

Ukoliko izaberemo broj bliske vrijednosti , primjerice , dobivamo odličnu konvergenciju prema broju iz kojeg još samo trebamo poništiti član te dobijamo .

Primjena

Želimo aproksimirati broj . Aproksimirati ćemo ga pomoću pomoćnog broja kojega možemo izravno aproksimirati. Biramo:

sada vrijedi, iz prethodnog razmatranja, da

Ako ubacimo nekoliko brojeva unutra dobivamo:

Sljedeći kratki Python program implementira dani postupak:

a, b = 2, 2
for i in xrange(50):
    a, b = b, 2 * b + a
    print a, b
print float(b-a) / a
© 2013. Goran Žužić Creative Commons License

Ovaj članak objavljen je pod
Creative Commons Attribution-ShareAlike 3.0 Croatia License