load cong.sage
在鼠尾草中定义了random_elliptic_curve命令,但是我正在使用SageMathCloud。我必须写什么才能生成随机椭圆曲线?
最佳答案
显然,您引用的Sage程序在William Stein的GitHub存储库中为cong.sage。可以将其导入到您的项目中:例如,从GitHub下载,将文件扩展名更改为.sagews
,然后上传到您的项目。但是从SageMathCloud中的另一个Sage文件导入定义似乎很困难(如果可能的话),并且由于您只想要此特定功能,所以为什么不复制粘贴其定义。
这是一个简单的函数,位于上面链接的文件的最后:
def random_elliptic_curve(p):
"""
Construct and return a random elliptic curver over the finite
field of order p.
"""
p = ZZ(p)
if not is_prime(p):
raise ValueError, "p (=%s) must be a prime integer."%p
F = FiniteField(p)
while True:
try:
return EllipticCurve(F, [F.random_element(), F.random_element()])
except ArithmeticError:
pass
return E
关于python - SageMathCloud:随机椭圆曲线,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30727065/