Farey-rækker (også Farey-brøker , Farey -sekvens eller Farey- tableau ) er en familie af endelige delmængder af rationelle tal .
th-ordens Farey-sekvensen er en stigende række af alle positive irreducerbare egenbrøker , hvis nævner er mindre end eller lig med :
Farey-sekvensen af en ordre kan konstrueres ud fra ordresekvensen ved følgende regel:
Farey-sekvenser for 1 til 8:
Hvis der er to tilstødende fraktioner i Farey-serien, så . |
Bemærk, at trekanten er i planen med toppunkter , og ikke kan indeholde heltalspunkter ud over toppunkter. Ellers, hvis hele punktet er indeholdt i , så ligger brøken mellem og , og nævneren overstiger ikke . Så ifølge Peak-formlen er dens areal lig med . Til gengæld er området . H. t. d.
Det modsatte er også sandt: Hvis brøkerne er sådan, at , så er de nabomedlemmer af Farey-serien .
Algoritmen til at generere alle brøker F n er meget enkel, både i stigende og faldende rækkefølge. Hver iteration af algoritmen bygger den næste fraktion baseret på de to foregående. Således, hvis og er to allerede konstruerede brøker, og er den næste ukendte, så . Dette betyder, at for nogle heltal , og er sandt , dermed og . Da det skal være så tæt som muligt på , så sætter vi nævneren til at være den maksimalt mulige, det vil sige herfra, under hensyntagen til det faktum, at det er et heltal, har vi og
Implementeringseksempel i Python :
def farey ( n , asc = Sand ): hvis asc : a , b , c , d = 0 , 1 , 1 , n andet : a , b , c , d = 1 , 1 , n - 1 , n print " % d / %d " % ( a , b ) mens ( asc og c <= n ) eller ( ikke asc og a > 0 ): k = int (( n + b ) / d ) a , b , c , d = c , d , k * c - a , k * d - b udskriv " %d / %d " % ( a , b )Eksempel på implementering af JavaScript :
klasse Brøk { konstruktør ( tal , betegnelse ) { dette . tal = tal ; dette . denom = denom ; } copy () { return new Brøk ( dette . tal , dette . denom ); } } funktion * farey ( n , asc = sand ) { lad [ a , b ] = asc ? [ ny brøk ( 0 , 1 ), ny brøk ( 1 , n ) ] : [ ny brøk ( 1 , 1 ), ny brøk ( n - 1 , n ) ]; give et . kopi (); mens ( asc && b . tal <= n || ! asc && a . numer > 0 ) { udbytte b . kopi (); const k = Matematik . etage (( n + a . denom ) / b . denom ), næste = ny Brøk ( k * b . tal - a . tal , k * b . denom - a . denom ); a = b _ b = næste ; } }Det er således muligt at konstruere et vilkårligt stort sæt af alle brøker i en forkortet form, som fx kan bruges til at løse den diofantiske ligning ved udtømmende søgning i rationelle tal.
John Farey er en berømt geolog, en af geofysikkens pionerer . Hans eneste bidrag til matematik var brøkerne opkaldt efter ham. I 1816 blev Fareys artikel "On a curious property of vulgære fraktions" publiceret, hvori han definerede sekvensen . Dette papir nåede Cauchy , som samme år offentliggjorde et bevis på Fareys formodning om, at hver ny term i ordenen Farey-sekvensen er medianen af dens naboer. Sekvensen beskrevet af Farey i 1816 blev brugt af Charles Haros i hans papir fra 1802 om tilnærmelse af decimaler ved almindelige brøker.