SageMath (曾叫做Sage 或 ある SAGE ,为“System for Algebra and Geometry Experimentation”的 てき 首 くび 字母 じぼ 缩写[ 2] ),是 ぜ 一个覆盖许多数学 すうがく 功 こう 能 のう 的 てき 应用软件,包括 ほうかつ 代数 だいすう 、组合数学 すうがく 、图论 、计算数学 すうがく 、数 かず 论 、微 ほろ 积分和 わ 统计 。
SAGE的 てき 第 だい 一 いち 个版本 ほん 在 ざい GNU 许可证下发布于2005年 ねん 2月 がつ 24日 にち ,最初 さいしょ 的 てき 目 め 标是创造一 いち 个“Magma 、Maple 、Mathematica 和 わ MATLAB 的 てき 开源替 がえ 代品 だいひん ”。Sage的 てき 主 しゅ 导开发人员威廉 かど ·斯坦因 いん 是 ぜ 华盛顿大学 がく 的 てき 数学 すうがく 家 か 。
Sage文 ぶん 档在Firefox(Mozilla),Opera,Konqueror和 わ Safari的 てき 界面 かいめん 。
使用 しよう Sage Notebook接 せっ 口 こう 的 てき 方 かた 程 ほど 求 もとめ 解 かい 和 わ 排 はい 版 ばん 。
Sage的 てき 功 こう 能 のう 包括 ほうかつ [ 3]
虽然不 ふ 是 ぜ Sage直接 ちょくせつ 提供 ていきょう 的 てき 功 こう 能 のう ,但 ただし Sage可 か 以从Mathematica内部 ないぶ 调用。Mathematica 的 てき 一个记事本可用于此。
威 い 廉 かど .斯坦在 ざい 设计Sage时意识到了 りょう 有 ゆう 不同 ふどう 的 てき 语言(包括 ほうかつ 有 ゆう C 、C++ 、Fortran 和 わ Python )编写的 てき 大量 たいりょう 现成的 てき 大型 おおがた 开源数学 すうがく 软件可用 かよう 。
因 いん 此,Sage(用 よう Python 和 わ Cython 实现的 てき )将 しょう 所有 しょゆう 专用的 てき 数学 すうがく 软件集成 しゅうせい 到 いた 一个通用的接口而不是从头开发。用 よう 户只需要 じゅよう 了解 りょうかい Python 。
Sage由 よし 学生 がくせい 和 わ 专业人士 じんし 开发。Sage的 てき 开发由 よし 志 こころざし 愿 すなお 工作 こうさく 和 わ 赠款支持 しじ 。 [ 4]
二进制包和源代码都可以从Sage页面下 か 载。如果从源代 だい 码构建 けん ,许多包含 ほうがん 的 てき 库如Atlas 、FLINT 和 わ NTL 和 かず 都会 とかい 针对该计算 さん 机 つくえ 考 こう 虑到处理器 き 数量 すうりょう ,缓存大小 だいしょう 的 てき ,是 ぜ 否 ひ 有 ゆう 硬 かた 件 けん 支持 しじ SSE 指令 しれい 等 とう 进行调整和 わ 优化。
Sage在 ざい GNU通用 つうよう 公共 こうきょう 许可证 2+下 した 自由 じゆう 软件条 じょう 款下发布 。Sage可 か 通 どおり 过多种方式 しき 获得:
如上 じょじょう 所 しょ 述 じゅつ ,SAGE的 てき 理念 りねん 是 ぜ 利用 りよう 现有的 てき 任 にん 何 なん 开放源 げん 码库。因 よし 此,借用 しゃくよう 了 りょう 许多项目。
x , a , b , c = var ( 'x,a,b,c' )
log ( sqrt ( a )) . simplify_log () # returns log(a)/2
sin ( a + b ) . simplify_trig () # returns cos(a)*sin(b) + sin(a)*cos(b)
cos ( a + b ) . simplify_trig () # returns cos(a)*cos(b) - sin(a)*sin(b)
limit (( xˆ2 + 1 ) / ( 2 + x + 3 * xˆ2 ), x = infinity ) # returns 1/3
limit ( sin ( x ) / x , x = 0 ) # returns 1
diff ( acos ( x ), x ) # returns -1/sqrt(1 - xˆ2)
f = exp ( x ) * log ( x )
f . diff ( x , 3 ) # returns e^x*log(x) + 3*e^x/x - 3*e^x/x^2 + 2*e^x/x^3
solve ( a * x ^ 2 + b * x + c , x ) # returns [x == (-sqrt(b^2 - 4*a*c) - b)/(2*a),
# x == (sqrt(b^2 - 4*a*c) - b)/(2*a)]
t = var ( 't' ) # define a variable t
x = function ( 'x' , t ) # define x to be a function of that variable
DE = lambda y : diff ( y , t ) + y - 1
desolve ( DE ( x ( t )), [ x , t ]) # returns '%e^-t*(%e^t+%c)'
A = Matrix ([[ 1 , 2 , 3 ],[ 3 , 2 , 1 ],[ 1 , 1 , 1 ]])
y = vector ([ 0 , - 4 , - 1 ])
A . solve_right ( y ) # returns (-2, 1, 0)
A . eigenvalues () # returns [5, 0, -1]
B = Matrix ([[ 1 , 2 , 3 ],[ 3 , 2 , 1 ],[ 1 , 2 , 1 ]])
B . inverse () # returns [ 0 1/2 -1/2]
# [-1/4 -1/4 1]
# [ 1/2 0 -1/2]
# Call numpy for the Moore-Penrose pseudo-inverse,
# since Sage does not support that yet.
import numpy
C = Matrix ([[ 1 , 1 ], [ 2 , 2 ]])
matrix ( numpy . linalg . pinv ( C . numpy ())) # returns [0.1 0.2]
# [0.1 0.2]
prime_pi ( 1000000 ) # returns 78498, the number of primes less than one million
E = EllipticCurve ( '389a' ) # construct an elliptic curve from its Cremona label
P , Q = E . gens ()
7 * P + Q # returns (2869/676 : -171989/17576 : 1)
只 ただ 列 れつ 出 で 了 りょう 主要 しゅよう 发布版本 はんぽん 。Sage采 さい 用 よう 的 てき “早 さ 发布,常 つね 发布”的 てき 理念 りねん ,每 まい 两至三 さん 个星期 き 发布一 いち 次 じ 。[ 5]
Sage版本 はんぽん
版本 はんぽん
发布日 び 期 き
说明
0.1
2005年 ねん 1月 がつ
包括 ほうかつ Pari,但 ただし 不 ふ 包含 ほうがん GAP和 わ Singular
0.2 - 0.4
2005年 ねん 5-7月 がつ
Cremona的 てき 数 すう 据 すえ 库,多元 たげん 多 た 项式,大型 おおがた 有限 ゆうげん 域 いき 和 わ 更 さら 多 た 的 てき 文 ぶん 档
0.5 - 0.7
2005年 ねん 8-9月
向 むかい 量 りょう 空 そら 间,环,模 かたぎ 块化符号 ふごう 和 わ Windows使用 しよう
0.8
2005年 ねん 10月 がつ
完 かん 整 せい 发布的 てき GAP,和 かず Singular
0.9
2005年 ねん 11月
添加 てんか 了 りょう Maxima和 わ clisp
1.0
2006年 ねん 2月 がつ
2.0
2007年 ねん 1月 がつ
3.0
2008年 ねん 4月 がつ
4.0
2009年 ねん 5月 がつ
5.0
2012年 ねん 5月 がつ
5.0里程 りてい 碑 ひ (页面存 そん 档备份 ,存 そん 于互联网档案 あん 馆 )
6.0
2013年 ねん 12月
2007年 ねん ,Sage赢得自由 じゆう 软件的 てき 国 こく 际竞争 そう 中 ちゅう 科学 かがく 软件部分 ぶぶん 的 てき Les Trophées du Libre首 くび 奖。 [ 6]