【问题标题】:Using LiE interpreter in Jupyter在 Jupyter 中使用 LiE 解释器
【发布时间】:2021-07-23 15:02:59
【问题描述】:

首先,我的编程背景是非常基础的 Python,所以 Sage 和它附带的所有东西对我来说都是非常新的,所以如果我混淆了术语等,请见谅。

我目前正在使用 LiE 的在线版本来帮助我执行一些基于代数的计算,但由于计算变得相当复杂,我希望从笔和纸转向圣人数学来为我执行这些计算。

我安装了 Sage,当我打开 SageMath 笔记本时,我被带到 Jupyter(我猜它是一个 IDE)。

我的问题是,当我使用 Jupyter 并尝试运行类似 "lie.diagram('A2') 的东西时,我遇到了一堆我不明白的错误。

然后我尝试了一个不同的解释器,即 GAP,这很好用,例如如果我输入“gap(34).Factors()”,那么 Jupyter 将输出“[2, 17]”。

我检查了路径“/opt/sagemath-9.2/local/lib/python3.7/site-packages/sage/interfaces/”并且“gap.py”和“lie.py”都在那里,所以我我不确定为什么 gap 有效而 lie 无效。

最后,如果我使用 sage 单元服务器并输入“lie.diagram('A2')”,那么它会输出所需的图表,所以我猜测 LiE 和 Jupyter 之间存在一些幕后问题。

谢谢!

【问题讨论】:

  • 恭喜您安装 Sage。了解操作系统以及 Sage 的安装方式将有助于提供量身定制的答案。 Jupyter 提供笔记本接口,与问题无关:Sage REPL 中的错误将相同,您可以通过打开终端并运行 /opt/sagemath-9.2/sage 来运行。

标签: jupyter-notebook interpreter sage


【解决方案1】:

在 SageMath 中,GAP 是一个标准包,而 LiE 是一个可选包。这意味着当你 安装 Sage,你会得到 GAP,但你没有得到 LiE 除非你特别要求。

在 SageCell 和 CoCalc 上,Sage 安装 很齐全,有很多可选包 安装,所以调用 LiE 在那里工作。

.../sage/interfaces/ 中的文件实现 Sage 和其他软件之间的接口, 无论对方是否在场 软件已安装。

在您的情况下,存在与 LiE 的接口, 但是 LiE 没有安装,所以当你运行 诸如lie.diagram('A2'),Sage 之类的命令 尝试使用 LiE 接口与 LiE 对话, 但是没有找到LiE并报错 在我的情况下看起来像:

EOF ... Traceback (most recent call last)
...
EOF: End Of File (EOF). Empty string style platform.
...

During handling of the above exception, another exception occurred:

RuntimeError ... Traceback (most recent call last)
...
RuntimeError: unable to start LiE: End Of File (EOF). Empty string style platform.
...

During handling of the above exception, another exception occurred:

TypeError ... Traceback (most recent call last)
...
TypeError: unable to start LiE: End Of File (EOF). Empty string style platform.
...

要安装 LiE,如果您从源代码构建 Sage, 打开终端并运行以下命令:

cd /opt/sagemath-9.2
make -s V=0 configure
./configure --enable-lie -q
make -s V=0

下次启动 Sage 时,可以使用 LiE:

sage: lie.diagram('A2')

O---O
1   2
A2

【讨论】:

  • 感谢您的回复。是的,这就是我的确切错误信息!我相信我使用了二进制安装。无论如何我都尝试输入命令,但我收到消息“make 不被识别为内部或外部命令、可运行程序或批处理文件”。我最好卸载并尝试从源代码重新安装 Sage 吗?
  • 要使make 工作,您需要安装一些先决条件(例如在 Debian 或 Ubuntu 上使用 sudo apt install ...)。你也可以试试cd /opt/sagemath-9.2; ./sage -i lie。如果这也不起作用,请考虑从源代码构建。在这种情况下,您甚至可以构建最新的开发版本,目前是 SageMath 9.4.beta5。按照github.com/sagemath/sage/blob/develop/README.md 的自述文件或doc.sagemath.org/html/en/installation/source.html 的安装指南中的说明进行操作
  • 如果您使用的是 Windows,请打开底层 Cygwin 并在其中安装先决条件,然后才能运行 make
  • 我会尝试从源代码构建,然后看看上面的答案是否有效。不幸的是,我对使用命令行等不太了解,所以我真的在按下按钮并希望在这里取得最好的成绩!
  • 在无法从源代码安装它的一个下午后,我决定只使用 CoCalc,我不会意识到 CoCalc 已经自动安装,所以谢谢你。我接受了您的原始答案,因为它仍然非常有帮助。谢谢!
猜你喜欢
  • 2020-02-26
  • 2020-10-02
  • 1970-01-01
  • 2022-11-08
  • 2017-12-13
  • 2018-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多