口译人员界面

Sage为最好的计算软件提供了统一的接口。这是使用两个C库来完成的(请参见 C/C++ Library Interfaces )和解释程序接口,这是使用伪tty、系统文件等实现的。本章将介绍这些解释程序接口。

备注

每个界面都需要在您的计算机上安装相应的软件。Sage包括Gap、Pari、Single和Maxima,但不包括Octave(非常易于安装)、Magma(非免费)、Maple(非免费)或数学(非免费)。

对这些系统之一的每次调用都有相关的开销。例如,计算 2+2 几千次使用GAP界面比直接在Sage中操作要慢。相比之下,的C库接口 C/C++ Library Interfaces 产生的开销更少。

除了下面为每个接口描述的命令外,您还可以输入,例如, %gap%magma 等,以直接与处于其状态的给定接口交互。或者,如果 X 是一个接口对象,类型为 X.interact() 允许您与其交互。这完全不同于 X.console() 它启动了一个完全新的程序副本 X 与之交互。请注意, X.interact() 是由Sage处理的,因此历史记录缓冲区与Sage相同,制表符完成与Sage相同(遗憾的是!),跨多行的输入必须在每行的末尾使用反斜杠表示。您可以使用将数据提取到交互式会话中 X 使用 sage(expression)

接口的控制台方法和交互方法做的事情非常不同。例如,以GAP为例:

  1. gap.console() :您完全是在使用另一个程序,例如GAP/MAGMA/GP在这里,Sage只不过是一个方便的程序启动器,类似于bash。

  2. gap.interact() :这是与可能“充满”Sage对象的运行Gap实例进行交互的一种便捷方式。您可以将Sage对象导入到此间隙中(甚至从交互界面),等等。

控制台函数有时非常有用,因为您可以获得确切的实际程序(特别适用于制表符补全和测试,以确保没有有趣的事情发生)。

索引和表格