数学上,n阶的法里数列是0和1之间最简分数的数列,由小至大排列,每个分数的分母不大于n。每个法里数列从0开始,至1结束,但有些人不把这两项包括进去。
有时法里数列(sequence)也称为法里级数(series),严格来说这名字不正确,因为法里数列的项不会加起来。
介绍
有时法里数列也称为法里级数,严格来说这名字不正确,因为法里数列的项不会加起来。
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
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:NHK广播第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\u003e1
x(i1)=x(i1)/fac;
y(i1)=y(i1)/fac;
else
end
end
index=find(y\u003c=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_一级方程式锦标赛=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_一级方程式锦标赛);
fprintf(fileID,'%6s\n','__________________________________________________');
clear a_f
end
fclose(fileID);
历史
法里数列是以英国地质学家老约翰·法里得名,他关于这数列的信刊登在1816年的《哲学杂志》。法里猜测这数列的每一项都是相邻两项的中间分数;不过,以所知道的资料,他没有证明这个性质。法里的信给奥古斯丁-路易·柯西读了,就给了一个证明在他的《数学习题》,把这结果归到法里上。其实,另一位数学家 C. Haros 曾在1802年发表了相类似的结果,几乎可以肯定法里和柯西都没看过。所以,法里的名字给了这个数列,是历史的一次意外。
参考资料
知网空间.知网空间.2014-12-21