在 SageMath 中绘制椭圆曲线
Plotting an elliptic curve in SageMath
我一生中从未使用过 SageMath,我依靠互联网上的速成课程了解如何从 SageMath 中获得我想要的东西(在有限域上绘制椭圆曲线)。
我正在使用 this code,粘贴在下面:
@interact
def f(label='37a', p=tuple(prime_range(1000))):
try: E = EllipticCurve(label)
except:
print "invalid label %s"%label; return
try:
show(graphics_array([plot(E,thickness=3),plot(E.change_ring(GF(p)))]),frame=True)
except Exception, msg:
print msg
似乎缺少一个括号,但我没有经验知道它应该放在哪里。我收到的错误消息是:
Error in lines 1-6
Traceback (most recent call last):
File "/projects/sage/sage-6.10/local/lib/python2.7/site-packages/smc_sagews/sage_server.py", line 905, in execute
exec compile(block+'\n', '', 'single') in namespace, locals
File "<string>", line 4
except:
^
IndentationError: unindent does not match any outer indentation level
您给出的错误似乎表明 except:
之后的行没有缩进超过 except:
的缩进。 Python 非常关心缩进级别。
您可以尝试以下方法。
@interact
def f(label='37a', p=tuple(prime_range(1000))):
try:
E = EllipticCurve(label)
except:
print "invalid label %s"%label; return
try:
show(graphics_array([plot(E,thickness=3), plot(E.change_ring(GF(p)))]), frame=True)
except Exception, msg:
print msg
旁白:您应该在代码前使用四个空格,以使它们显示为代码块。有关更多信息,请参阅 How do I format My Code Blocks?
我一生中从未使用过 SageMath,我依靠互联网上的速成课程了解如何从 SageMath 中获得我想要的东西(在有限域上绘制椭圆曲线)。
我正在使用 this code,粘贴在下面:
@interact
def f(label='37a', p=tuple(prime_range(1000))):
try: E = EllipticCurve(label)
except:
print "invalid label %s"%label; return
try:
show(graphics_array([plot(E,thickness=3),plot(E.change_ring(GF(p)))]),frame=True)
except Exception, msg:
print msg
似乎缺少一个括号,但我没有经验知道它应该放在哪里。我收到的错误消息是:
Error in lines 1-6
Traceback (most recent call last):
File "/projects/sage/sage-6.10/local/lib/python2.7/site-packages/smc_sagews/sage_server.py", line 905, in execute
exec compile(block+'\n', '', 'single') in namespace, locals
File "<string>", line 4
except:
^
IndentationError: unindent does not match any outer indentation level
您给出的错误似乎表明 except:
之后的行没有缩进超过 except:
的缩进。 Python 非常关心缩进级别。
您可以尝试以下方法。
@interact
def f(label='37a', p=tuple(prime_range(1000))):
try:
E = EllipticCurve(label)
except:
print "invalid label %s"%label; return
try:
show(graphics_array([plot(E,thickness=3), plot(E.change_ring(GF(p)))]), frame=True)
except Exception, msg:
print msg
旁白:您应该在代码前使用四个空格,以使它们显示为代码块。有关更多信息,请参阅 How do I format My Code Blocks?