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/

10-12 04:57