Farey row

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 6 decembrie 2019; verificările necesită 3 modificări .

Seria Farey (de asemenea fracții Farey , secvență Farey sau tablou Farey) este o familie de submulțimi finite de numere raționale .

Definiție

Secvența Farey de ordinul al treilea este o serie ascendentă a tuturor fracțiilor proprii ireductibile pozitive al căror numitor este mai mic sau egal cu :

Secvența Farey a unui ordin poate fi construită din secvența de ordine prin următoarea regulă:

  1. Copiem toate elementele secvenței de ordine .
  2. Dacă suma numitorilor din două fracții adiacente ale șirului de ordine dă un număr nu mai mare de , atunci introducem mediana acestora între aceste fracții , egală cu raportul dintre suma numărătorilor lor și suma numitorilor.

Exemplu

Secvențe Farey de la 1 la 8:

Proprietăți

Dacă  sunt două fracții adiacente în seria Farey, atunci .

Dovada.

Rețineți că triunghiul este în planul cu vârfuri și nu poate conține alte puncte întregi decât vârfuri. În caz contrar, dacă întregul punct este conținut în , atunci fracția se află între și , iar numitorul nu depășește . Deci, conform formulei Peak , aria sa este egală cu . Pe de altă parte, zona este . H. t. d.

Reversul este de asemenea adevărat: dacă fracțiile sunt astfel încât , atunci sunt membri vecini ai seriei Farey .

Algoritm de generare

Algoritmul de generare a tuturor fracțiilor F n este foarte simplu, atât în ​​ordine crescătoare cât și descrescătoare. Fiecare iterație a algoritmului construiește următoarea fracție pe baza celor două anterioare. Astfel, dacă și sunt două fracții deja construite și este următoarea necunoscută, atunci . Aceasta înseamnă că pentru un număr întreg , și este adevărat , prin urmare și . Deoarece ar trebui să fie cât mai aproape de , atunci setăm numitorul să fie maxim posibil, adică , de aici, ținând cont de faptul că este un întreg, avem și

Exemplu de implementare în Python :

def farey ( n , asc = True ): if asc : a , b , c , d = 0 , 1 , 1 , n else : a , b , c , d = 1 , 1 , n - 1 , n print " % d / %d " % ( a , b ) în timp ce ( asc și c <= n ) sau ( nu asc și a > 0 ): k = int (( n + b ) / d ) a , b , c , d = c , d , k * c - a , k * d - b print " %d / %d " % ( a , b )

Exemplu de implementare JavaScript :

class Fracție { constructor ( număr , denumire ) { this . număr = număr ; aceasta . denom = denom ; } copy () { return new Fraction ( acest . număr , acest . denumire ); } } function * farey ( n , asc = true ) { lat [ a , b ] = asc ? [ Fracție nouă ( 0 , 1 ), Fracție nouă ( 1 , n ) ] : [ Fracție nouă ( 1 , 1 ), Fracție nouă ( n - 1 , n ) ]; randament un . copie (); în timp ce ( asc && b . număr <= n || ! asc && a . număr > 0 ) { randament b . copie (); const k = Math . etaj (( n + a . denom ) / b . denom ), următorul = nou Fracție ( k * b . numer - a . numer , k * b . denom - a . denom ); a = b _ b = următorul ; } }

Astfel, este posibil să se construiască un set arbitrar mare de toate fracțiile într-o formă prescurtată, care poate fi folosit, de exemplu, pentru a rezolva ecuația diofantină prin căutare exhaustivă în numere raționale.

Istorie

John Farey  este un geolog faimos, unul dintre pionierii geofizicii . Singura lui contribuție la matematică au fost fracțiile numite după el. În 1816, a fost publicat articolul lui Farey „On a curious property of vulgar fractions”, în care a definit secvența . Această lucrare a ajuns la Cauchy , care în același an a publicat o dovadă a conjecturei Farey că fiecare termen nou al secvenței Farey este mediana vecinilor săi. Secvența descrisă de Farey în 1816 a fost folosită de Charles Haros în lucrarea sa din 1802 despre aproximarea zecimalelor prin fracții comune.

Vezi și

Link -uri