logo资料库

SageMath中文教程.pdf

第1页 / 共110页
第2页 / 共110页
第3页 / 共110页
第4页 / 共110页
第5页 / 共110页
第6页 / 共110页
第7页 / 共110页
第8页 / 共110页
资料共110页,剩余部分请下载后查看
简介
安装
使用Sage的方法
Sage的长期目标
导览
赋值,等式和算术运算
获取帮助
函数,缩进和计数
基本的代数和微积分
绘图
函数的一些常见问题
基本的环
线性代数
多项式
有限群,阿贝尔群
数论
Some more advanced mathematics
交互命令行
你的Sage会话(session)
记录输入和输出
粘贴忽略提示符
查看命令执行的时间
错误和异常
反向查找和Tab补全
集成帮助系统
保存和读取个人的对象
保存和读取完整的会话
Notebook界面
接口
GP/PARI
GAP
Singular
Maxima
编程
读取和附加Sage文件
创建编译代码
独立的Python/Sage脚本
数据类型
列表,元素和序列
字典
集合
迭代器
循环,函数,控制语句和比较
性能分析
分布式计算
概要
快速入门
文件
后记
为什么选择Python?
我想做点贡献。怎么做?
如何引用Sage?
附录
二元数学运算符优先级
参考文献
Indices and tables
Bibliography
Sage 教程 Release 4.3 Sage 开发组 January 08, 2010
CONTENTS 1 简介 1.1 安装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 使用 Sage 的方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Sage 的长期目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 导览 2.1 赋值,等式和算术运算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 获取帮助 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 函数,缩进和计数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 基本的代数和微积分 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5 绘图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6 函数的一些常见问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7 基本的环 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8 线性代数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.9 多项式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10 有限群,阿贝尔群 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.11 数论 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.12 Some more advanced mathematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 交互命令行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 你的 Sage 会话 (session) 3.2 记录输入和输出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 粘贴忽略提示符 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 查看命令执行的时间 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 错误和异常 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6 反向查找和 Tab 补全 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7 集成帮助系统 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8 保存和读取个人的对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9 保存和读取完整的会话 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10 Notebook 界面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4 4 5 7 7 9 11 15 22 25 29 31 35 40 42 45 55 55 57 58 59 61 62 63 65 67 68 i
71 71 73 73 74 77 77 78 79 80 81 84 85 85 86 88 91 91 91 93 95 95 97 97 99 99 101 103 105 4 接口 4.1 GP/PARI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 GAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Singular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Maxima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 编程 5.1 读取和附加 Sage 文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 创建编译代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 独立的 Python/Sage 脚本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4 数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5 列表,元素和序列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6 字典 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7 集合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.8 迭代器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.9 循环,函数,控制语句和比较 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.10 性能分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 分布式计算 6.1 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 快速入门 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 后记 7.1 为什么选择 Python? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2 我想做点贡献。怎么做?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3 如何引用 Sage? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 附录 8.1 二元数学运算符优先级 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 参考文献 10 Indices and tables Bibliography ii
Sage 教程, Release 4.3 Sage 是免费、开源的数学软件,可用于代数、几何、数论、密码学、数值计算以及其他相关领域的教学 和科研。Sage 的开发模型和所用到的技术强调开放、社区、合作以及协同工作:我们是造汽车,而不是重 新发明轮子。Sage 的总体目标是成为一个实用的、免费的、开源的数学软件以代替 Maple,Mathematica, Magma 和 MATLAB。 本教程是在几个小时内熟悉 Sage 最好的办法。你可以阅读 HTML 或者 PDF 版本,或者在 Sage notebook 中(点击 Help ,再点击 Tutorial )边阅读边使用。 本文档基于 Creative Commons Attribution-Share Alike 3.0 License 协议发布。 CONTENTS 1
Sage 教程, Release 4.3 2 CONTENTS
CHAPTER ONE 简介 阅读本教程的全部内容最多只需要 3、4 个小时。你可以阅读 HTML 或 PDF 版本,或者在 Sage notebook 中点击 Help ,再点击 Tutorial ,边阅读边使用 Sage。 虽然 Sage 主要是用 Python 实现的,但是不懂 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 2 3] 1 [ 0 5 6 7] [ 4 9 10 11] [ 8 [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 1] [-3 [ 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) 3
Sage 教程, Release 4.3 [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 1/(I*sqrt(3) + 5/9*sqrt(73) + 3/4) sage: N(k) 0.165495678130644 - 0.0521492082074256*I sage: N(k,30) 0.16549568 - 0.052149208*I sage: latex(k) \frac{1}{I \, \sqrt{3} + \frac{5}{9} \, \sqrt{73} + \frac{3}{4}} # 30 "bits" 1.1 安装 如果你没有安装 Sage,只是想试几个命令,可以使用在线的 Sage notebook:http://www.sagenb.org 。 要在自己的电脑上安装 Sage,请参考 Sage 主页 [Sage] 上的 Sage 安装指南。这里我们只强调两点: 1. Sage 的安装包是“内置电池”的。也就是说,虽然 Sage 用到了 Python,IPython,PARI,GAP, Singular,Maxima,NTL,GMP 等等一些软件,但是你不需要单独安装这些软件,因为它们已经包含 在 Sage 的发行版里了。然而,要使用 Sage 的一些特定的功能,比如 Macaulay 或者 KASH,你必须安 装相关的 Sage 可选包或者已经单独安装了这些软件。Macaulay 和 KASH 都是 Sage 的扩展包(输入 sage -optional 可以得到可选扩展包列表,或者在 Sage 网站上浏览“下载”页)。 2. 安装编译好的二进制版本(可在 Sage 网站找到)可能比安装源码版更容易、更快。只需要解压缩之后 运行 sage 即可。 1.2 使用 Sage 的方法 使用 Sage 的方法有好几种。 • Notebook 图形界面: 参见参考手册中关于 Notebook 的章节,以及下面的 Notebook 界面 ; • 交互命令行: 参见 交互命令行 ; • 程序: 在 Sage 中编写解释型或者编译型的程序(参见 读取和附加 Sage 文件 和 创建编译代码 ); • 脚本: 在独立的 Python 脚本中调用 Sage 库文件(参见 独立的 Python/Sage 脚本 )。 4 Chapter 1. 简介
分享到:
收藏