出自 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 筆記本。您可以使用 sage-notebook-exporter 應用程式將 Flask 筆記本轉換為 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.

參見