本页解释了与OEIS相关的各种格式。
序列
请参阅样式表.
b文件
以下部分基于向OEIS提供b文件的说明和Russ Cox 2011年1月20日的SeqFan电子邮件.
b文件格式是一种上下文敏感语言,但实际上很容易验证(并且可以通过Rosenberg定义的单向双头自动机识别)。一行可以是空白的,注释(以开头#
),或形式为number-space-number。数字是其中之一
- 数字1-9,后跟零个或多个数字0-9;或
- a-符号(Unicode U+002D),后跟上述符号;或
- 数字0
空格为Unicode U+0020。行由换行符(U+000A)终止,包括最后一行。(如果最后一个字符不是换行符,也就是说,如果最后一行不为空,服务器将不会显示正确的字数!)
此外,线路必须有序:
- 每行中的第一个数字必须正好比前面的非注释、非空白行(如果有)的数字大一个,或者
- 每行中的第一个数字必须正好比前面的非注释、非空白行(如果有)的数字小一。
第二种格式主要用于常量。(在其他地方可以合法使用吗?)如果没有这一限制,语言是正规的。特别是内容行可以与正则表达式匹配
^((?:-?[1-9][0-9]*)|0) ((?:-?[1-9][0-9]*)|0)$
评论由
^#
空白处
^$
建议b文件不要以空行开头,内容行应连续。强烈建议内容行中的数字不超过1000位。
文件的格式是UTF-8,但请注意,不允许使用Unicode字节顺序标记(BOM、EF BB BF)。典型的b文件使用UTF-8的ASCII子集:未设置高位。
松散b文件格式
某些b文件可能与上述格式不匹配,但可以转换为该格式。其内容行可以识别为
^\s*((?:[-\x2212]?[1-9][0-9]*)|0)\s+((?:-?[1-9][0-9]x)|0)\ s*(#.*)$
他们的注释行为
^\秒*#
和他们的空白作为
^\秒*$
此外,可以使用回车符(U+000D)或回车符-换行符组合(U+0000D U+000A)而不是换行符(U+000A)来终止行。正确的转换
- 用换行符替换行终止符
- 替换空格中的空白
- 删除注释行中
#
性格
- 将内容行中的注释移动到上一行或下一行
- 删除内容行中的前导和尾随空白
- 用单个空格替换内容行中剩余的空白
- 将内容行中的减号(U+2212)替换为连字符-分钟(U+002D)
- 在内容行中将-0替换为0
使用b文件的代码
此Pari/GP代码采用名称(作为字符串或数字,例如“b000000.txt”或0)和向量,外加可选偏移量。它输出一个b文件和样板文本,以包含在百科全书中。创建的b文件遵循严格的格式,包括建议数字不超过1000位。
bfile(名称,v,偏移量=1)={my(cur=offset-1,Anum);如果(type(name)==“t_INT”,name=Vec(Str(名称));while(#name<6,name=concat([“0”],name));Anum=concat(名称);name=Str(“b”Anum“.txt”);,if(键入(名称)!=“t_STR”,错误(“名称必须是整数(A数字)或文件名(\”b000040.txt\“)。”);Anum=连接(vecextract(Vec(name),126)));对于(i=1,#v,如果(#Str(v[i])>1000,print(“Next term has”#Str(v[i])“digits;exiting。”);打破);写入(名称,cur++“”v[i]););打印(“%H A”Anum“作者,n表,A(n)表示n=“offset”..“cur”</A>“);};addhelp(bfile,“bfile(name,v,offset=1):创建一个b文件,其中v值表示a-number名称(以数字或文件名的形式给出)。”);
内部格式
以下部分基于eishep1.
OEIS内部格式是一种常用于计算机处理序列的纯文本格式。它比标准HTML响应页面更容易解析,并且是OEIS的基本API。它还可以用于编辑序列,当它比普通格式视图更容易时。
通过单击序列条款后面的“文本”或“内部格式”链接,可以找到给定序列的内部形式,也可以访问http://oeis.org/Axxxxxx/internal(用作HTML)或https://oeis.org/search?q=id:Axxxxx&fmt=text(用作纯文本)。
通用格式
有两种内部格式:包含序号的“完整”版本和不包含序号的精简版本。精简版如下所述;“完整”版本(在可能出现多个序列时使用)是相同的,只是在类型字符后面插入了一个空格(U+0020),后跟序列号。“text”链接生成文本中的完整格式,而“internal format”链接生成HTML中呈现的压缩版本。
内部格式的每一行基本上是一个独立的单元。行以UTF-8编码,并以换行符(U+000A)终止。每行以百分号(U+0025)开头,后跟一个单独的(区分大小写)字符,用于描述行的类型(如下所述)。类型(如果存在)必须严格按照以下顺序出现:ISTUVWXNCDHFptoYKOAE。该字母后面是一个空格(U+0020),任何其他字符在下面称为内容线的。
每种类型中的行的顺序决定了它们出现的顺序,但在其他方面是自由的。(OEIS的标准做法是按时间顺序排列注释和公式,但这不是格式的要求。)每种类型的要求如下所示。
识别线(一)
此行是必需的,通常为空(无内容)。如果序列以前出现在整数序列手册或整数序列百科全书,则该线由一个或多个空格分隔的M-/N数组成。这个高速钢首先给出M-数,然后给出环境影响报告N号。如果有多个M或N数字,则应在各自的组中以升序给出。在编写时,只有十个序列具有多个M数或多个N数:A000586号,A000598号,A000615号,A000616号,A001037号,A001371号,A002189号,A002513号,A005254号,A006809号.M和N数字应始终为四位数。示例:
%I M0652编号0241%我%I M0115 N0045 N0285
未签名条款(STU)
这些线给出了序列初始项的绝对值。由于历史原因,这些可能被拆分为%S、%T和%U行。每个术语应该是0或一个数字1-9,后面跟着零个或多个数字0-9。如果序列具有回收、分配或分配的关键字,则此行应为空;否则应该至少有一个术语。所有术语应以逗号(U+002C)分隔,而不是逗号和空格或任何其他组合。允许将所有术语放在%S行上,但OEIS将这些术语分开,以便前两行中的每一行显示的字符少于70个。无论如何,
- 只能在逗号后拆分行
- 第%S行必须至少出现一个术语
- 如果包括第%T行,则第%T行中必须至少出现一个术语
- 如果包括第%U行,则第%S行和第%T行上必须至少出现一个术语
示例1:
%S 1,3,6,8,11,13,16,18,21,23,35,38,43,48,53,58,66,68,71,73,81,86,92,97,%电话:102107112118120125131133138144151157159164189199,%电话:20320620821922362242248253258263266269283288283
示例2:
%S 3,14248406416775168429493452868719345664152504069976064,%电话:1329227995784915872327346307976921088,%电话:9578097130411805364739668904215181906549866077040846086582018229284841686198767302936145117361591934715588918640647326221397318656304299424078683874573741794453177565599576064
签署条款(VWX)
如果序列有符号(关键字:sign),这些行给出序列的初始项;否则,必须省略这些内容。第%V、%W和%X行的内容必须分别与第%S、%T和%U行的内容相同,但当词条为负数时,词条以连字符-分钟(U+002D)为前缀。对于有符号序列,需要%V行,如果存在%T行,则需要%W行,如果存在%U行,则需要%X行。每种情况最多只能发生一次。
序列名称(N)
该行是必需的,只能出现一次。它给出了序列的名称。
这些线是可选的;可能会出现零个或更多。他们对序列进行了评论。
参考文献(D)
这些线是可选的;可能会出现零个或更多。他们在没有链接的地方提供参考。
链接(H)
这些线是可选的;可能会出现零个或更多。他们提供链接,可以是带有链接的参考,也可以是其他类型的链接。此字段允许HTML的子集。目前,这是非常有限的:只有一元素,并且它必须具有href公司
属性而不是其他属性。未来可能会有其他属性(例如。,相对,hr法兰,标题,类型,翻译,目录)将被允许。
公式(F)
这些线是可选的;可能会出现零个或更多。它们给出了生成序列或与序列相关的公式。
项目(pto)
这些线是可选的;可能会出现零个或更多。%t行给出Mathematica代码,%p行给出Maple代码,%o行给出其他语言的代码。第一行%o应该以括号中的语言名称开头;其他行也可以这样做,在这种情况下,它们开始新的代码块;否则,它们被假定为先前块的延续。
程序名称有些标准化;通用语言是(PARI)
,(MAGMA)
,(哈斯克尔)
,(鼠尾草)
,(马克西玛)
,(方案)
,(Python)
、和(间隙)
。请参阅样式表的“程序”部分获取语言列表及其相关的首选注释格式。
交叉引用(Y)
这些线是可选的;可能会出现零个或更多。它们为其他序列提供了交叉引用。按照惯例,没有任何描述的序列以“Cf.”(拉丁语)开头授予,“比较”),尽管这不是格式的要求。类似地,传统建议用逗号(U+002C)和单个空格(U+0020)分隔列表中的序列。
一旦本节包含与上下文中的序列
和相邻序列
,但这些已不再生成,只应具有历史意义。
关键词(K)
该行是必需的,只能出现一次。它包含一个或多个列表关键字由逗号(U+002C)分隔,而不是逗号和空格或任何其他组合。关键字最多只能出现一次,并且受某些限制; 秩序并不重要。
偏移(O)
这一行通常是必需的,只能出现一次。关键字回收、分配或分配的序列可能没有此行,但在其他方面是必需的。它以整数、正、零或负的形式给出第一项的索引;正如OEIS中的所有地方一样,否定词的前缀是连字符-minus(U+002D)。如果所有术语都在{-1、0、1}中,或者此集合外的第一个术语的外观未知,则该字段仅包含此数字。否则,后面是逗号(U+002C),后面是该术语的索引,但第一个术语被计算为1,而不是其偏移量。示例:
%O 1号机组%0、3
第一个意味着第一个术语是a(1),或者所有术语都是-1、0或1,否则第一个此类术语的位置未知。第二种表示给定的第一项是a(0),而给定的第三项,在本例中是a(2),不是-1、0或1。
作者(A)
这一行通常是必需的,只能出现一次。关键字被回收、分配或分配的序列可能没有这一行,关键字为dead的序列不需要有这一行;否则它是强制性的。它为序列的作者或提交者提供了权限,或(例外情况下)序列衍生的其他权限。当作者是OEIS的注册编辑时,作者的姓名应显示为已注册,并在下划线之间,以便在适当的软件中显示为链接。通常提交日期如下。
扩展(E)
这些线是可选的;则可能出现零个或更多个。他们将序列的扩展归功于未经其他签名的序列。请参阅样式表的扩展部分更多有关OEIS公约的信息。