本网站由以下捐款支持:OEIS基金会.

用户:Charles R Greathouse IV/Format

来自OeisWiki
跳转到:航行,搜索

本页解释了与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名称(以数字或文件名的形式给出)。”);

内部格式

内部格式link.png

以下部分基于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)

该行是必需的,只能出现一次。它给出了序列的名称。

评论(C)

这些线是可选的;可能会出现零个或更多。他们对序列进行了评论。

参考文献(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公约的信息。