介绍

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

尽管Sage的大部分内容都是使用Python实现的,但是阅读本教程并不需要Python背景知识。你会想学习Python(一种非常有趣的语言!)在某种程度上,有很多很好的免费资源可以这样做,包括 [PyT][Dive]. 如果您只是想快速试用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、Singular、Maxima、NTL、GMP等等,但是您不需要单独安装它们,因为它们包含在Sage发行版中。但是,要使用某些Sage功能,例如Macaulay或KASH,您必须安装相关的可选软件包,或者至少已经在您的计算机上安装了相关程序。Macaulay和KASH是Sage软件包(有关可选软件包的列表,请键入 sage -optional ,或浏览Sage网站上的“下载”页面)。

  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/local/share/texmf/tex/latex/sagetex/ ,其中“'$SAGE_ROOT``”表示安装SAGE的目录,例如, /opt/sage-4.2.1 .

使用Sage的方法

你可以用几种方法使用Sage。

Sage的长期目标

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

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

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

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

  • 合作: 为大多数其他计算机代数系统提供健壮的接口,包括PARI、GAP、Singular、Maxima、KASH、Magma、Maple和Mathematica。Sage旨在统一和扩展现有的数学软件。

  • 有据可查: 教程,编程指南,参考手册,和如何,与众多的例子和背景数学讨论。

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

  • 用户友好型 :应该很容易理解为给定对象提供了什么功能,以及查看文档和源代码。同时获得高水平的用户支持。