我们阅读了每一条反馈,并非常认真地对待您的意见。
要查看所有可用的限定符,请参阅我们的文档.
对这个项目有疑问吗?注册一个免费的GitHub帐户以打开一个问题,并联系其维护者和社区。
单击“注册GitHub”,表示您同意我们的服务条款和隐私声明。我们偶尔会向您发送与帐户相关的电子邮件。
已经在GitHub上了?登录到您的帐户
2019年12月,Chris Wuthrich向我报告了此事,几天前,Barry Mazur和Karl Rubin也向我报告过此事。我原本以为eclib中有一个bug,但事实证明,唯一的bug是某些参数的默认值对于他们感兴趣的情况来说太小了。我将发布一个双线补丁来增加这个值。它必须是双线补丁,而不是1,因为当前的eclib接口目前根本没有向Sage公开相关参数。
这里有两个例子。Wuthrich的(需要一点时间,因为指挥是87416):
sage:E=椭圆曲线([49,-49])sage:me=E.modular_symbol(实现=“eclib”)圣人:我(1/8)10/17sage:mn=E.modular_symbol(实现=“num”)鼠尾草:mn(1/8)1/2
和Mazur's:
sage:E=椭圆曲线('1590g1')sage:ms=E.模块符号()sage:[1..4]中a的ms(a/5)[1001/153, -1001/153, -1001/153, 1001/153]sage:ms=E.modular_symbol(实现='num')sage:[1..4]中a的ms(a/5)[13/2, -13/2, -13/2, 13/2]
在这两种情况下,在我的补丁之后,“eclib”值与数值一致。
抄送:@类别
组件:椭圆曲线
关键词:椭圆曲线模符号
作者:约翰·克雷莫纳
分支/提交:2ab86参考
2ab86参考
审核人:克里斯·伍特里奇
从迁移创建的问题https://trac.sagemath.org/ticket/31317
文本已成功更新,但遇到以下错误:
分支机构:u/cremona/31317
对不起,出了点问题。
提交:数据09de4
数据09de4
除了将nap选项添加到te接口本身之外,我还将其传递到了链上,以便用户也可以通过doctest看到它。在那里,我也整理了一下文档。
新提交:
#31317椭圆曲线模符号
有证据表明1000是所有曲线的正确边界吗?所有这些都需要使用eclib。也许它应该随着列车长的增加而增加。大约100*sqrt(N)左右是节省空间。
(抱歉没有完整回复,忙于新学期的评分等)
正在答复@分类:
有证据表明1000是所有曲线的正确边界吗?所有这些都需要使用eclib。也许它应该随着列车长的增加而增加。大约100*sqrt(N)左右更安全。
好的一点——尽管在顶层,E modular_symbol()在这个补丁中使用了默认的nap=400。如你所知,对于大型导体,制作这种结构需要很长时间,所以我很怀疑它会在N>10000(比方说)的情况下大量使用,所以在这个范围内使用默认值似乎是合理的。另一方面,与构建模块化符号空间所需的时间相比,从曲线计算更多ap所需时间可以忽略不计,这表明默认值越高越好。
无论如何,我会将eclib自己的默认值(即300ap)更改为1000,代码的工作方式是设置一个最小值nap(当前为300),以便用户提供的任何值都会增加到这个值。(即,在eclib的相关函数中,实际上存在一条线nap=max(300,nap.)。)
如果有可能以另一种方式获得这一正常化因子,而不是通过周期定量,我会非常高兴。它是只有这样我们就可以得到非最优曲线的正确答案。当你给它一条最优曲线时,要把比率计算为1(或者在修复之前的例子中,它计算为73/68或其他值)会很麻烦,但我不知道怎么做。可以更改eclib,从而假定默认情况下曲线是最佳的,只有在用户特别要求时才计算归一化因子。然后在Sage方面,如果曲线的标签以“1”结尾,或者如果isogeny类仅包含一条曲线,我们可以决定使用默认值。
当前的修复程序设计得很容易实现,因为它不需要对eclib进行任何更改,eclib在这方面没有任何错误,只是默认值300可能太低。
但我会采纳你的建议,添加一个新补丁,在等待审查的同时,我会尽可能多地测试曲线——测试是“eclib”和“num”对所有小理性给出相同的答案。
已从更改提交数据09de4到2ab86参考
分行推进git回购;我更新了提交sha1。新提交:
#31317:更智能的默认小睡
我将顶层的默认值切换为max(100*N.isqrt(),10000)。我已经开始对所有导体进行测试,测试范围可达10000人(但可能是10000人)。相比之下,即使是对于高达500000的导体,我在找到曲线时也只计算了6000 ap,这需要更高的精度。
对于1000以下的所有导体曲线,使用新代码,“eclib”和“num”结果一致(分子和分母都以5为界的所有有理数)。我将继续测试更多,但没有人会怀疑这应该合并。
我同意这里所说的,我检查了代码,所有测试都通过了等等。
谢谢。尽管一些补丁程序报告了测试失败,但这些与此补丁程序无关,因此用处不大。也许补丁程序应该首先运行所有测试,而不应用补丁程序,只有当这些测试通过时,他们才会应用补丁程序并重新测试。这将花费两倍的时间,但将避免像这样的虚假失败,这可能会导致发布管理者认为某些东西实际上是错误的,并且bug-fix永远不会合并。
更改的分支来自u/cremona/31317到2ab86参考
200亿加卡
没有分支或拉请求