法里數列

法里數列

數學上,n階的法里數列是0和1之間最簡分數的數列,由小至大排列,每個分數的分母不大於n。每個法里數列從0開始,至1結束,但有些人不把這兩項包括進去。有時法里數列(sequence)也稱為法里級數(series),嚴格來說這名字不正確,因為法里數列的項不會加起來。

介紹

數學上,n階的法里數列是0和1之間最簡分數的數列,由小至大排列,每個分數的分母不大於n。每個法里數列從0開始,至1結束,但有些人不把這兩項包括進去。有時法里數列也稱為法里級數,嚴格來說這名字不正確,因為法里數列的項不會加起來。

1至10階的法里數列如下:

(1):—2counts

0 1
__________________________________________________
(2):---3counts
0 1/2 1
__________________________________________________
(3):---5counts
0 1/3 1/2 2/3 1
__________________________________________________
(4):---7counts
0 1/4 1/3 1/2 2/3 3/4 1
__________________________________________________
(5):---11counts
0 1/5 1/4 1/3 2/5 1/2 3/5 2/3 3/4 4/5 1
__________________________________________________
(6):---13counts
0 1/6 1/5 1/4 1/3 2/5 1/2 3/5 2/3 3/4 4/5 5/6 1
__________________________________________________
(7):---19counts
0 1/7 1/6 1/5 1/4 2/7 1/3 2/5 3/7 1/2 4/7 3/5 2/3 5/7 3/4 4/5 5/6 6/7 1
__________________________________________________
(8):---23counts
0 1/8 1/7 1/6 1/5 1/4 2/7 1/3 3/8 2/5 3/7 1/2 4/7 3/5 5/8 2/3 5/7 3/4 4/5 5/6 6/7 7/8 1
__________________________________________________
(9):---29counts
0 1/9 1/8 1/7 1/6 1/5 2/9 1/4 2/7 1/3 3/8 2/5 3/7 4/9 1/2 5/9 4/7 3/5 5/8 2/3 5/7 3/4 7/9 4/5 5/6 6/7 7/8 8/9 1
__________________________________________________
(10):---33counts
0 1/10 1/9 1/8 1/7 1/6 1/5 2/9 1/4 2/7 3/10 1/3 3/8 2/5 3/7 4/9 1/2 5/9 4/7 3/5 5/8 2/3 7/10 5/7 3/4 7/9 4/5 5/6 6/7 7/8 8/9 9/10 1
__________________________________________________

計算機自動生成任意階代碼 :

--------------

%這是一個生成1-100階法里數列的matlab代碼,可以任意擴展到無窮階。

% Monday, February 16, 2015 by lhz

clear

clc

fileID = fopen('farey_sequence_output.txt','w');

da=date;

fprintf(fileID,'%6s\n',da);

for n=1:99 % 生成1-100階

r=n+1;

a0=1;a1=r;a=1/r;

for i=1:100000000

if a==1;

break

else

x=[1:r-1];

y=(a1*x-1)/a0;

y_t=y-double(uint16(y));

[y_t,index0]=find(y_t==0);

x=x(index0);

y=y(index0);

for i1=1:numel(x)

fac=gcd(x(i1),y(i1));

if fac>1

x(i1)=x(i1)/fac;

y(i1)=y(i1)/fac;

else

end

end

index=find(y<=r);

x1=x(index);

y1=y(index);

a=x1./y1;

[a,index1]=min(a);

end

a0=x1(index1);a1=y1(index1);

a_f(i)=a;

clear x x1 y y1

end

a_f=cat(2,0,1/r,a_f);

numel(a_f);

a_f1=rats(a_f,15); % 15 is a sensitive parameter depending on the rank of Farey sequence,15 is good for 1-100 rank at least。

a_f1=a_f1(8:numel(a_f1));

str=strcat('(',num2str(r),')',':','---',num2str(numel(a_f)),'counts');

fprintf(fileID,'%6s\n',str);

fprintf(fileID,'\n');

fprintf(fileID,'%6s\n',a_f1);

fprintf(fileID,'%6s\n','__________________________________________________');

clear a_f

end

fclose(fileID);

----------------------------

歷史

法里數列是以英國地質學家老約翰·法里得名,他關於這數列的信刊登在1816年的《哲學雜誌》。法里猜測這數列的每一項都是相鄰兩項的中間分數;不過,以所知道的資料,他沒有證明這個性質。法里的信給柯西讀了,就給了一個證明在他的《數學習題》,把這結果歸到法里上。其實,另一位數學家 C. Haros 曾在1802年發表了相類似的結果,幾乎可以肯定法里和柯西都沒看過。所以,法里的名字給了這個數列,是歷史的一次意外。

相關詞條

相關搜尋

熱門詞條

聯絡我們