SageMath
SageMath (之前为 Sage) 是一个用于数值和符号数学计算的程序,它使用 Python 作为其主要语言。 它的目的是为 Maple、Matlab 和 Mathematica 等商业程序提供替代方案。
SageMath 提供以下支持
- 微积分:使用 Maxima 和 SymPy。
- 线性代数:使用 GSL、SciPy 和 NumPy。
- 统计:使用 R (通过 RPy) 和 SciPy。
- 图表:使用 matplotlib。
- 使用 IPython 的交互式 shell。
- 访问 Python 模块,例如 PIL、SQLAlchemy 等。
安装
- sagemath 包含命令行版本;
- sagemath-doc 用于 HTML 文档和来自命令行的在线帮助。
sage -i
安装它们,实际上,如果您使用 pacman 安装了 SageMath,则此命令将不起作用。使用方法
SageMath 主要使用 Python 作为脚本语言,并进行了一些 修改,使其更适合数学计算。
SageMath 命令行
可以从命令行启动 SageMath
$ sage
有关 SageMath 命令行的信息,请参阅 此页面。
该命令行基于 IPython shell,因此您可以使用 IPython shell 的所有 技巧 与 SageMath 一起使用。 有关 IPython 的全面教程,请参阅社区维护的 IPython Cookbook。
但是请注意,对于某些用途(例如绘图),它不是很方便。 当您尝试绘制某些内容时,例如
sage: plot(sin,(x,0,10))
SageMath 会在一个外部应用程序中打开该图。
Jupyter Notebook
SageMath 还为 Jupyter notebook 提供了一个内核。 要使用它,请使用以下命令启动 notebook
$ jupyter notebook
并在下拉“New...”菜单中选择“SageMath”。 SageMath Jupyter notebook 通过 %display latex
命令支持 LaTeX 输出,如果安装了 jmol,则支持 3D 绘图。
Sage Notebook
更适合 SageMath 高级使用的界面是 Notebook (sage-notebookAUR)。
要从命令行启动 Notebook 服务器,请执行
$ sage -n jupyter
可以从浏览器 https://127.0.0.1:8080 访问该 notebook,并且需要您登录。
但是,如果您仅为个人使用(而不是通过互联网)运行服务器,则登录将成为一种麻烦。 您可以改为在不要求登录的情况下启动 Notebook,并使用以下命令使其自动在浏览器中弹出
$ sage -c "notebook(automatic_login=True)"
Cantor
Cantor 是 KDE Edu Project 中包含的应用程序。 它充当 Maxima、SageMath、Octave、Scilab 等各种数学应用程序的前端。 有关如何将其与 SageMath 一起使用的更多信息,请参阅 Sage wiki 上的 Cantor 页面。
可以使用 cantor 软件包或作为 kde-applications 或 kde-education 组的一部分安装 Cantor。
可选附加组件
SageTeX
如果您的系统上安装了 TeX Live,您可能会对 使用 SageTeX 感兴趣,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 软件包,您可以尝试以下步骤(以 root 身份或使用本地文件夹)
- 将文件复制到 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.