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

用户:M.F.Hasler/程序/命名约定

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

我在OEIS上使用并推荐以下命名程序的约定:

  • Axxx公司用于计算Axxx的程序(n个),索引项n个Axxx序列的n个-第项,假设序列可以从不同于1)的偏移开始。
  • 是_Axxx对于以某个整数作为参数的程序和回报真的(或等价物:非零和零,…)取决于是否为序列的成员。(这是由严格递增序列表示的集合的特征函数,或者更一般地说是序列范围(=图像)的特征函数。)
下划线“_”在这里相当于一个技术人工制品。实际上,当前CAS中的类似标准功能通常特色(比如isprime(),ispower(),…在PARI/GP中,Maple,…)。其动机是,有了“_”(但不是没有它),OEIS软件会将Axxx识别为序列ID,并将其“超链接”:这允许您单击它以获得该序列和相应的程序,当是_ xxx(…)在其他地方使用。
某些CAS可能不允许或不鼓励这种命名约定。例如,不允许在程序名中使用大写字母、下划线或数字的语言(所有这些都存在)。在Mathematica中,标准约定遵循以下模式素数Q[m]检查是否是质数,所以AxxxQ[米]可以代替是_Axxx
  • Axxx_vec(Nmax)/列表_Axxx(LIM)对于返回序列第一个Nmax项向量的程序,或“列出”(无论这意味着什么)Axxx项达到极限的程序直线电机

有时列表_Axxx功能可以实现为“副作用”在函数中Axxx公司也就是说,通过允许第二个可选参数,该参数在给定时可以打印出Axxx之前的所有“中间”术语(n个),或将某个子序列作为向量返回。在许多情况下,这将是计算术语的一种非常自然和/或有效的替代方法a(1)。。。,a(n)每个都通过对函数的独立调用Axxx公司

当然,这些附加功能应该得到适当的注释,例如,“Give optional 2nd argument show_all=1 to print out…”或“Give optional second argument m>0 to return the list of[a(m),…,a(n)],而不仅仅是a(n)。”