【发布时间】:2015-05-01 13:32:18
【问题描述】:
我正在尝试编写一个程序来计算 sage 中椭圆曲线的生成点。
这样做的功能是:
E.gen(0)
其中 E 是一些椭圆曲线。
如果我在 online version of Sage 上执行此操作,它可以正常工作:
sage: E = EllipticCurve(GF(73),[6,0])
sage: E.gen(0)
(18 : 10 : 1)
但是,如果我在本地尝试:
sage: E = EllipticCurve(GF(73),[6,0])
sage: E.gen(0)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-3-cfa3068996f9> in <module>()
----> 1 E.gen(Integer(0))
/usr/lib/python2.7/site-packages/sage/schemes/elliptic_curves/ell_generic.pyc in gen(self, i)
1309 NotImplementedError: not implemented.
1310 """
-> 1311 return self.gens()[i]
1312
1313 def rst_transform(self, r, s, t):
TypeError: 'NoneType' object has no attribute '__getitem__'
我使用的是 Sage 6.6 版,到目前为止我看到的所有文档都说这应该可以工作,并且可以在 sage 的在线版本中使用。任何人都可以对此有所了解吗?
【问题讨论】:
-
我认为为了帮助您,我们需要更多关于您的平台的信息,您下载的确切二进制文件,当然最重要的是您尝试过的椭圆曲线。
-
谢谢,我已经更新了问题
-
在 Sage 6.7.beta2 中我得到
(68 : 65 : 1),在 6.6 中我得到(54 : 53 : 1)(这是在 Mac 10.7 上)。也许这不是特别确定的......无论如何,你的错误似乎暗示你的曲线上根本没有点。E.gens()是做什么的? (我假设它会给出一个空列表或None。) -
(同样,您的 平台 以及您下载的二进制文件(适用于什么平台)会很有帮助。)
-
我在 Gentoo 上的 Sage 6.6 中得到
(18 : 63 : 1)。你是怎么安装sage的?您是否使用了发行版的包管理器或pre-built tarball from the sagemath site?如果是前者,正如回溯中的文件路径所暗示的那样,您可以尝试后者吗?
标签: python python-2.7 math sage elliptic-curve