这个网站是由捐款支持的OEIS基金会.

用户:M.F.Hasler/动态内容

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

这一页是关于动态内容在OEIS上,即OEIS记录的几个部分(特别是链接、程序、b文件、列表、表格和图形),这些部分可以(也可能应该)由web服务器软件或客户端(javascript,…)计算,而不是由提交者计算/写入和/或作为静态文件或记录的一部分存储和检索。

这样做有很多种可能性,在许多情况下,几乎不需要改变服务器软件,也不需要额外的服务器负载,请继续阅读。

动态内容

基本原则

标题中定义的动态内容可以通过多种方式生成和存储:

  • 提交一份稿件(待讨论,可能取决于确切的项目,是应在提出捐款后立即进行,还是应在“批准”之后进行)。
最确定的是,大多数进入“记录”本身的材料(链接,…;程序可能是一个例外,因为有太多可能的语言,因此按需生成它们更合理),而不是支持文件(b文件、图形等)
  • 在服务器端根据请求(例如,b文件,通过跟踪固定链接或通过提交一个表单,例如,通过在“输入”文本字段中输入所需术语的数量并点击“回车”来生成)。根据具体情况,这可能会生成一个文件,该文件将“永久”存储,只是缓存一段固定的时间(天或月),或者只是发送到客户机而不存储在文件中。
  • 在客户端,通过javascript或类似的。参见的示例#实施对于一个Javascript,它为由线性递归定义的序列生成给定数量的术语。
  • 其他一些基本形式的“动态内容”已经实现或可以添加在提交表格上:
    • 根据现有序列检查数据,
    • b文件的链接创建/完成(作者姓名,最小/最大值)
    • 更多这样的类型将是有用的,例如,SeqFan帖子或Wikipedia页面的模板。

关键词

  • 关键词在动态内容中起着重要的作用。一个极简的想法已经通过“tabl”关键字实现,它产生一个链接,将序列显示为三角形、正方形数组或右上角的三角形矩阵。
另一个具体而简单的例子是“lrec”关键字。(...)

链接

  • 对于“lrec”序列,链接到“经常性的索引项…”。。。签名(…).”可以自动生成。例如,假设要解析扩展关键字“lrec:c1:c2:…:cN”:
/*假设$kw为线性递归a(n+1)=1*a(n+n)+4*a(n-1)+的“lrec:1:4:3:1”。。。。*/$coeffs=preg_split(“:”,$kw);$order=sprintf(“%02d”,count($coeffs)-1);
$signature=implode(“,”,array_slice($coeffs,2));;$links.=“\n<a href='/index/Rec#order_$order'>索引到具有常数系数的线性递归,顺序“;(int)$order.”,signature($signature)</a>”;
  • “lrec”关键字,无论是将系数作为附加参数,还是使用LINKS部分的数据,或者通过分析数据字段,都可以成为一个链接,该链接将弹出一个请求者,用于为用户选择的一系列索引和格式生成数据(b-file、'[x,y,…,z]'格式的列表,或…)
  • 如上所述,链接到一些标准网站,如:wikipedia.org,seqfan.eu,mathworld,。。。可以半自动处理:将空白链接粘贴到编辑字段的空行中(或者点击一些按钮)可以用所需的东西“装饰”它:Author、HREF tag、进一步的解释。
/*假设“链接”部分更新了一条新线,新线只包含了一个裸链接*/;$LINKS=explode(\n“,$LINKS);
 foreach(linksas$index=>$line line):“如果($pipes=preg”匹配('/\\$http.[.]seqfan.eu/pipermarail/seqfan/\)\(2015\)—\([a-a-Za-z]*)//',$线])):;$链接$链接[$index]=“作者,<a href='$line'$line''$标题”的作者的作者,<a href='$line'$标题_的文章</a>,seqfan邮寄</在列出,$pieces[3]$pieces[2]。“
 elseif($pieces=preg_match('/\$http.[.]wikipedia.org/wiki/\(.*\)/”,$line)):
$links[$index]=“维基百科,<a href='$line'>$pieces[1]</a>,检索时间“.date(“mdy”)。”;
 elseif(…其他类似的检查…):
 endif;
 endforeach;
$links=implode(“\n”,$links);

其他可能性

...

启动位置

头脑风暴和讨论

[此部分页面将重新格式化并“维基化”。。。任何人,随时编辑和/或添加您的评论,无论您希望!]

本节上方是“精炼内容”,下面是初步的头脑风暴,可能需要重新措辞、维基化等,具体而言:


基本思想

【电子邮件发送至主编,2011年2月10日】

尊敬的“员工”,

在对非常基本的序列(m^n mod p)进行一些小的编辑之后,我有了一个我想提交的想法,为了它的价值。

基本上,这是为了非常简单的序列创建“运行中”的b文件(也许还有其他东西)的想法。例如,对于周期性序列,我认为创建和/或发送“任意”大小的b文件会给服务器带来最小的负载。

人们可以想象出接收1000个、10000个或10万个术语的几个链接,例如。

“
<a href=”的n,a(n)表http://oeis.org/a00004/b00004.txt?1000“>n=1…1000</a>-
<a href=”http://oeis.org/a00004/b00004.txt?10000“>n=1…10000</a>-
<a href=”http://oeis.org/a00004/b00004.txt?100000“>n=1…100000</a>”

根据服务器的偏好,一旦它们被创建,它们就可以被缓存一段时间,或者永久保留在那里,并且可以与b文件建立“硬连接”链接。

这可以用几行脚本编写。

为此,可以实现关键字period:N(其中N是句点的长度),然后使用%S行中已经存在的关键字创建术语(前提是有足够的术语对应于至少一个完整的句点,可能前面有一些不属于句点的初始词)。

对于常数系数的线性递归也可以这样做,同样不需要计算能力。

或者,这些链接可以通过在客户端(即在访问者的浏览器中)执行非常简单的Javascript来生成请求的数据,以便完全没有服务器负载它甚至可以节省现有的服务器负载和带宽,因为搜索引擎和其他机器人一遍又一遍地下载所有(部分巨大的)b文件。[备注:2015年6月27日添加]

在第二步,你可以走得更远自动创建代码段(在PARI,C,Maple,…)对于这些序列;至少对于周期序列,但对于线性递归(其中所有多项式序列),这将再次非常容易(1行代码)。 我提议编写代码(例如,在PHP中),如果想法被“系统专家”接受,它将创建所需的输出。

当做,

马西米兰

PS:也许是中间产物或者更好解决方案是在“编辑”屏幕上提供一些按钮来创建这些元素(b-file&link;PARI/Maple/。。。正常情况下,在代码中添加任何东西都是正常的。

查尔斯·格雷托斯的回信

我经常考虑自动显示简单序列的基本特征,例如线性重复。在oei中可能有5-10000个这样的序列,它们的质量参差不齐。做这样一个项目将是一个机会,将这些序列提升到同一水平,并提供新的工具。(此外,人们希望这将减少提交的 表格的编辑次数,“%fa(0)=x,a(n)=y+a(n-1)”…)

可以做的事情的例子:

  • 自动生成b文件,如Maximilian建议的那样。这可以是一次性的(创建“Autobot,Table of n,a(n)for n=0..10000”格式的b文件和链接),按需(单击链接,创建并存储新的b文件),静态(从未存储b文件,但根据需要生成),或客户端(服务器只发送一段代码,查看者的计算机用于生成b文件)。最后一个几乎不需要任何资源,但不允许绘图。
  • 用多种语言生成术语的程序。OEIS中有数千个多项式序列,太多了,甚至不能用三种主要语言编写代码,但是其他的(例如Scheme)几乎没有覆盖范围。通过将它们“放在一个地方”,我们可以用多种语言编写高质量的代码。
  • 基本属性可以以标准格式列出。这将使作为用户搜索它们变得更容易,并确保所有属性都实际存在。例如:我可能会查找一个序列,希望找到它的渐近增长,但许多序列没有列出它。对于所有的线性复发,在一个地方做这个并不难。(哪些其他类型的序列可以类似地参数化?)

马克西米利安,也许你应该在维基上做一个页面来讨论这个问题?查尔斯·格雷托斯2011年2月10日


这是“完成”--嗯,差不多…;)-M、 哈斯勒16: 2011年2月7日10日(UTC)

另请参见

本文件的历史记录