sagemath:如何找到正确的导入库名称以编写 python prog 从 sage 加载

sagemath: How to find the right import library names for writing a python prog to load from sage

SageMath 新手。从控制台尝试了不同的东西,它工作正常。现在我想自动进入 Python 程序。

我从 sage 控制台调用的相同函数给出 NameError: name '<xxxx>' is not defined。我假设我必须在我的 python 程序中导入一些模块。但是似乎没有一种简单的方法来确定要导入哪个。

例如在 Java 中,假设我想使用 HashMap,我只是 google HashMap java & 我得到的第一个命中是 https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html

这清楚地告诉我必须从 java.util 导入它。

我找不到与 sagemath 类似的东西。

现在这是我想从我的 sagemath python 程序中调用的代码

c = <一些数字>
n = <一些数字>

r = 模块化(c, n).sqrt()

我显然得到了错误 NameError: name 'Modular' is not defined

如何找出我必须导入的内容才能修复此错误?

我 googled for sagemath Modular 并浏览了几页结果 & 我无法找到我必须以简单的方式导入的内容。

显然,我的首要任务是找出调用 Modular & sqrt 时要导入的内容,但更大的问题是每次如何执行此操作。

sagemath 用户是如何做到这一点的?

我想你想要 Mod 而不是 Modular

要获得正确的导入语句,请在 Sage 会话中尝试:

sage: import_statements(Mod)

这将建议:

from sage.rings.finite_rings.integer_mod import Mod