跳转到内容

SageMath

来自 Arch Linux 中文维基

SageMath (原 Sage) 是一个使用 Python 作为主要语言的数值和符号数学计算程序。它旨在提供 Maple、MatlabMathematica 等商业程序的替代程序。

SageMath 支持以下功能:

安装[编辑 | 编辑源代码]

  • sagemath 包含命令行版本;
  • sagemath-doc 从命令行获取 HTML 文档和内联帮助。
注意: 许多 Sage 软件包是作为 sagemath 软件包的可选依赖AUR 软件包提供的。请注意,无需使用 sage -i 安装它们,事实上,如果使用 pacman 安装了 SageMath,该命令将不起作用。

用法[编辑 | 编辑源代码]

SageMath 主要使用 Python 作为脚本语言,并进行了一些修改,使其更适合数学计算。

SageMath 命令行[编辑 | 编辑源代码]

SageMath 可通过命令行启动:

$ sage

有关 SageMath 命令行的信息,请参阅此页面

命令行基于 IPython shell,因此您可以在 SageMath 中使用它的所有技巧。有关 IPython 的详尽教程,请参阅社区维护的 IPython Cookbook

不过要注意的是,在某些情况下(如绘图),使用它并不十分方便。例如,当您尝试绘制某幅图时:

sage: plot(sin,(x,0,10))

SageMath 会在外部应用程序中打开绘图。

Jupyter Notebook[编辑 | 编辑源代码]

SageMath 还为 Jupyter 笔记本提供了内核。要使用它,请使用以下命令启动笔记本

$ jupyter notebook

并在"新建... "下拉菜单中选择 "SageMath"。SageMath Jupyter 笔记本支持通过 %display latex 命令输出 LaTeX,如果安装了 jmol 则支持 3D 绘图。

Sage Notebook[编辑 | 编辑源代码]

注意: SageMath Flask 笔记本已被弃用,改用 Jupyter 笔记本。所有新工作表都推荐使用 Jupyter 笔记本。

Notebook(sage-notebookAUR)是更适合 SageMath 高级使用的界面。

要从命令行启动笔记本服务器,请执行:

$ sage -n jupyter

您可以从浏览器 http://localhost:8080 访问该笔记本,并需要登录。

不过,如果你只是为个人使用而运行服务器,而不是在互联网上运行,那么登录就会很麻烦。您可以使用以下命令启动笔记本,无需登录,并在浏览器中自动弹出:

$ sage -c "notebook(automatic_login=True)"

Cantor[编辑 | 编辑源代码]

Cantor 是 KDE Edu 项目中的一个应用程序。它是各种数学应用程序(如 Maxima、SageMath、Octave、Scilab 等)的前端。有关如何将其与 SageMath 结合使用的详细信息,请参阅 Sage wiki 上的 Cantor 页面

Cantor 可以通过 cantor 软件包安装,也可以作为 kde-applications包组kde-education包组 组的一部分安装。

可选附加项目[编辑 | 编辑源代码]

SageTeX[编辑 | 编辑源代码]

如果您的系统上安装了 TeX Live,您可能会对使用 SageTeX 感兴趣,这是一个可以在 LaTeX 文件中加入 SageMath 代码的软件包。TeX Live 会自动识别 SageTeX,因此您可以立即开始使用它。

下面举一个简单的例子,说明如何在 TEX 文档中加入 Sage 2D 绘图(假设使用 pdflatex):

  • 在文件前言中加入 sagetex 软件包,并使用常见的
\usepackage{sagetex}
  • 创建一个 sagesilent 环境,在其中插入代码:
\begin{sagesilent}
dob(x) = sqrt(x^2 - 1) / (x * arctan(sqrt(x^2 - 1)))
dpr(x) = sqrt(x^2 - 1) / (x * log( x + sqrt(x^2 - 1)))
p1 = plot(dob,(x, 1, 10), color='blue')
p2 = plot(dpr,(x, 1, 10), color='red')
ptot = p1 + p2
ptot.axes_labels(['$\\xi$','$\\frac{R_h}{\\max(a,b)}$'])
\end{sagesilent}
  • 创建绘图,例如在 float 环境中:
\begin{figure}
\begin{center}
\sageplot[width=\linewidth]{ptot}
\end{center}
\end{figure}
  • 按以下步骤编译您的文件:
$ pdflatex <doc.tex>
$ sage <doc.sagetex.sage>
$ pdflatex <doc.tex>
  • 您就可以查看输出文档了。

SageTeX 的完整文档可在 CTAN 上获取。

问题解决[编辑 | 编辑源代码]

TeX Live 无法识别 SageTex[编辑 | 编辑源代码]

如果 TeX Live 安装程序找不到 SageTex 软件包,可以尝试以下步骤(以根用户身份或使用本地文件夹):

  • 将文件复制到 texmf 目录:
# cp /opt/sage/local/share/texmf/tex/* /usr/share/texmf/tex/
  • 刷新 TeX Live:
# texhash /usr/share/texmf/
texhash: Updating /usr/share/texmf/.//ls-R... 
texhash: Done.

参见[编辑 | 编辑源代码]