在 Jupyter 中使用 LiE 解释器

Using LiE interpreter in Jupyter

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

我目前正在使用 LiE 的在线版本来帮助我执行一些基于代数的计算,但是随着计算变得非常复杂,我希望从笔和纸转移到圣人数学来为我执行这些计算.

我安装了 Sage,当我打开 SageMath notebook 时,我被带到了 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 cell 服务器并输入“lie.diagram('A2')”,那么它确实会输出所需的图表,所以我猜测两者之间存在一些幕后问题特别是 LiE 和 Jupyter。

谢谢!

在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