引言

本教程最多需要3-4个小时才能完全完成。您可以在HTML或PDF版本中阅读它,或者从Sage笔记本中点击 Help ,然后单击 Tutorial 在Sage中以交互方式完成本教程。

尽管Sage的大部分内容都是使用Python实现的,但阅读本教程不需要任何Python背景知识。您将想要学习Python(一种非常有趣的语言!)在某种程度上,有许多优秀的免费资源可以这样做:《Python初学者指南》 [PyB] 列出了许多选项。如果你只是想快速试用Sage,这篇教程是开始的地方。例如:

sage: 2 + 2
4
sage: factor(-2007)
-1 * 3^2 * 223

sage: A = matrix(4,4, range(16)); A
[ 0  1  2  3]
[ 4  5  6  7]
[ 8  9 10 11]
[12 13 14 15]

sage: factor(A.charpoly())
x^2 * (x^2 - 30*x - 80)

sage: m = matrix(ZZ,2, range(4))
sage: m[0,0] = m[0,0] - 3
sage: m
[-3  1]
[ 2  3]

sage: E = EllipticCurve([1,2,3,4,5]);
sage: E
Elliptic Curve defined by y^2 + x*y + 3*y = x^3 + 2*x^2 + 4*x + 5
over Rational Field
sage: E.anlist(10)
[0, 1, 1, 0, -1, -3, 0, -1, -3, -3, -3]
sage: E.rank()
1

sage: k = 1/(sqrt(3)*I + 3/4 + sqrt(73)*5/9); k
36/(20*sqrt(73) + 36*I*sqrt(3) + 27)
sage: N(k)
0.165495678130644 - 0.0521492082074256*I
sage: N(k,30)      # 30 "bits"
0.16549568 - 0.052149208*I
sage: latex(k)
\frac{36}{20 \, \sqrt{73} + 36 i \, \sqrt{3} + 27}

安装

如果您没有在计算机上安装SAGE,只是想尝试一些命令,请在http://sagecell.sagemath.org.上在线使用它

请参阅Sage主页文档部分中的《Sage安装指南 [SA] 有关在您的计算机上安装Sage的说明。在这里,我们只做几点评论。

  1. Sage下载文件附带了“包括电池”。换句话说,尽管Sage使用了Python、IPython、pari、Gap、Single、Maxima、NTL、GMP等,但您不需要单独安装它们,因为它们包含在Sage发行版中。但是,要使用某些Sage功能,例如Macaulay或Kash,您的计算机上必须已经安装了相关程序。

  2. 预编译的Sage二进制版本(在Sage网站上找到)可能比源代码版本更容易和更快地安装。只需解压缩文件并运行 sage

  3. If you'd like to use the SageTeX package (which allows you to embed the results of Sage computations into a LaTeX file), you will need to make SageTeX known to your TeX distribution. To do this, see the section "Make SageTeX known to TeX" in the Sage installation guide (this link should take you to a local copy of the installation guide). It's quite easy; you just need to set an environment variable or copy a single file to a directory that TeX will search.

    使用SageTeX的文档位于 $SAGE_ROOT/venv/share/texmf/tex/latex/sagetex/ ,其中“$SAGE_ROOT`”是指安装SAGE的目录--例如,  ``/opt/sage-9.6

使用Sage的方法

您可以通过多种方式使用Sage。

Sage的长期目标

  • Useful :Sage的目标受众是数学学生(从高中到研究生)、教师和研究数学家。其目的是提供可用于探索和实验代数、几何、数论、微积分、数值计算等数学结构的软件。SAGE有助于简化与数学对象的交互实验。

  • Efficient: 动作要快。Sage使用高度优化的成熟软件,如GMP、PARI、GAP和NTL,因此在某些操作中速度非常快。

  • Free and open source: 源代码必须是免费的和可读的,这样用户才能理解系统真正在做什么,并更容易地扩展它。正如数学家通过仔细阅读或至少略读证明来加深对定理的理解一样,进行计算的人应该能够通过阅读有文档记录的源代码来理解计算是如何工作的。如果您使用Sage在您发布的论文中进行计算,您可以放心,您的读者将始终可以免费访问Sage及其所有源代码,您甚至可以存档和重新分发您使用的Sage版本。

  • Easy to compile: 对于Linux、OS X和Windows用户来说,Sage应该很容易从源代码编译。这为用户修改系统提供了更大的灵活性。

  • Cooperation: 为大多数其他计算机代数系统提供强大的接口,包括Pari、Gap、Single、Maxima、Kash、Magma、Maple和MATHEMICA。Sage旨在统一和扩展现有的数学软件。

  • Well documented: 教程、编程指南、参考手册和操作方法,有大量的例子和背景数学的讨论。

  • Extensible: 能够定义新的数据类型或从内置类型派生,并使用以多种语言编写的代码。

  • User friendly :应该很容易理解为给定对象提供了什么功能,以及查看文档和源代码。还可以获得高级别的用户支持。