コンテンツにスキップ

SageMath

Xuất xứ: フリー bách khoa sự điển 『ウィキペディア ( Wikipedia ) 』
SageMath
Sage logo
Sơ bản 2005 năm 2 nguyệt 14 ngày(19 năm trước )(2005-02-14)
Mới nhất bản 10.3-2023 năm 8 nguyệt 20 ngày(13か nguyệt trước )(2023-08-20)[1][±]
Mới nhất bình 価 bản 10.2rc4-2023 năm 11 nguyệt 17 ngày(10か nguyệt trước )(2023-11-17)[2][±]
リポジトリ ウィキデータを編集
プログラミング
Ngôn ngữ
Python,Cython
Đối ứng OS Linux,macOS,Microsoft Windows,Solaris,Android,iOS
プラットフォーム
Loại đừng Máy tính đại số
ライセンス GPLv3
Công thức サイト www.sagemath.orgウィキデータを編集
テンプレートを tỏ vẻ
ウィリアム・スタイン ( 2011 năm 6 nguyệt )

SageMath( セイジ, trước kia はSage, SAGEと nhớ した ) はToán họcの phúc quảng い処 lý を tráp うソフトウェアである. Tráp う処 lý はMáy tính đại số,Tổ み hợp わせ,Số trị tính toánなど nhiều kỳ に cập ぶ. Công học ứng dùng に thêm え cơ sở khoa học の nghiên cứu も đối ứng している.

SageMathは2005 năm 2 nguyệt 24 ngày にフリーソフトウェアとしてGNU General Public Licenseの nguyên で sơ bản が công khai された. そ の khai phát mục đích はMagma,Maple,Mathematica( いずれも máy tính đại số ソフトウェア ),MATLABの thay thế となるフリーかつオープンソースなソフトウェアを cung cấp することであった[3].Khai phát は, mễワシントン đại họcの toán học chuẩn giáo thụ の ウィリアム・スタイン (William Stein) が chủ đạo して thủy まった.

SageMathはPythonプログラミング ngôn ngữを sử dụng しており,Tay 続き hìnhQuan số hìnhオブジェクト chỉ hướngによるプログラムの ghi lại を hành うことができる.

Đặc trưng

[Biên tập]
Sage の ドキュメント ( ノートブック ) を thao tác するインターフェイスは,Firefox(およびMozilla),Opera,Konqueror,Safariで thật hành できる
Sageノートブック の ウェブインターフェースを sử って giải いた số thức の lệ

SageMath の マニュアルに ghi lại されている cơ năng から, dưới に rút 粋する[4].

インタフェース
  • ノートブック hình thức で đối lời nói に tác nghiệp を hành うインタフェースを cầm つ. そ の ためそれまで の nhập lực を xác nhận したり lại lợi dụng したりすることが giản tiện である. Văn tự nhập xuất lực と bức họa の lạng phương が tráp え, nhiều く のウェブブラウザ(Firefox,Opera,Konqueror,Safariなど ) から lợi dụng できる. Trạng huống に ứng じてHTTPSTiếp 続を hành うこともでき, Sage の ノートブックはネットワークCàng しでも, ローカルでも tráp うことができる.
  • IPythonによるコマンドライン・インターフェイス
  • Python の dẫn vào による, tay 続き hình, quan số hình, オブジェクト chỉ hướng を lạng lập するプログラミング
  • MaximaSymPyを sử った tính toán の サポート
  • スライダーなど の thẳng quan な thao tác を bị えたGUI[5]
  • ユーザインタフェースを thêm vào するため の ツールキット
  • データ, bức họa, động họa, âm thanh,CAD,GIS( địa lý tình báo システム), ワープロ công văn, y dùng データ hình thức の nhập xuất lực
  • Số thức の tỏ vẻ とLaTeXCông văn の chôn め込み[6]
  • Twistedによるネットワーク kinh từ のSQL,Java,.NET Framework,C++,FORTRANの lợi dụng ツール (これによりHTTP,NNTP,IMAP,SSH,IRC,FTPが lợi dụng khả năng となっている)
  • Phần ngoài ソフトウェア ( Mathematica, Magma, Mapleなど ) をSageMathから hô び ra し, 処 lý kết quả や thật hành tốc độ を tương đối する cơ năng (GNU TeXmacsの ような, phần ngoài ソフトウェアへ のフロントエンドとしてSageMathを lợi dụng できる )
  • Tình báo thâm canh の ため のWikiシステムとしてMoinMoinを bị える
  • ユーザーから lợi dụng できる, テスト の tự động thật hành hoàn cảnh
  • FORTRAN,C,C++とCythonの コード の thật hành
Tính toán
グラフ phác hoạ
  • データおよび quan số の 2Dおよび3Dプロット
  • グラフ( ノードとリンクからなる ) の khả thị hóa と phân tích

こ の hắn に, SageMathが trực tiếp cung cấp する cơ năng ではないが, MathematicaからSageMathを hô び ra して lợi dụng することができる[7].そ の ため の Mathematicaノートブックが dụng ý されている[8].

Khai phát phương châm

[Biên tập]

ウィリアム・スタインは thiết kế にあたって, dưới の yếu tố を lấy り込んだ.

  • Hiện thật に ý vị の ある, Magma, Maple, Mathematica, MATLAB の đối kháng となるソフトウェアを làm り thượng げること. これを lúc ban đầu からやろうとすると, to ra な労 lực を muốn するであろうと khảo えられた.
  • Lúc ấy すでに, đa số の thật dùng に nại える toán học quan liền ソフトウェアがオープンソースで cung cấp されていたが, それぞれ dị なるプログラミング ngôn ngữ ( C, C++, FORTRAN, Pythonなどが nhiều かった ) で thật trang されていた.

そこで, mục đích とするソフトウェアをゼロから thư き thủy めることはせずに, SageMathはPythonとCythonを sử って, さまざまな toán học quan liền ソフトウェアを thống hợp して một つ の インターフェイスで sử えるようにすることを mục chỉ した. Pythonは phi thường に nhiều く の アプリケーションで lợi dụng されている ngôn ngữ であり, SageMath の lợi dụng giả はPythonだけを biết っていればよいことになる.

これを thật hiện するため の オープンソース thật trang はまだなかったことが, SageMathを khai phát する động cơ となった. SageMathはいわゆるBánh xe の lại phát minhとは dị なる. たとえばMathematicaは cùng じような khai phát phương châm で làm られているが, thương dùng の ソフトウェアはソース khai kỳ を nghĩa vụ づけられているソフトウェアを lợi dụng することができない. Sageにはそういった chế hạn はなく, それだけ phúc quảng い giới hạn の ソフトウェアを lợi dụng することができる.

SageMath の khai phát には, học sinh も chức nghiệp nghiên cứu giả も quan わっている. またボランティア の khai phát 労 lực に thêm え, trợ thành kim による viện trợ も chịu けている[9].

Thành quả

[Biên tập]
  • 2007 năm: SageMathは quốc tế なフリーソフトウェア の コンクールであるトルフェ・ド・リブレ(Tiếng Anh bản)の khoa học kỹ thuật ソフトウェア bộ môn で nhất đẳng thưởng を được thưởng している[10].
  • 2012 năm:Google Summer of Codeの プロジェクト の ひとつに tuyển ばれた.[11]
  • 2013 năm: ACM/SIGSAM Jenks thưởng を được thưởng.[12]
  • SageMath は nhiều く の toán học の luận văn や bổn で trích dẫn されている.[13][14]

Tính năng

[Biên tập]

SageMath のソースコード,バイナリともに khai phát nguyên の ウェブページからダウンロードできる. SageMathをソースからビルドすると, そ の hoàn cảnh の プロセッサ số, キャッシュ の サイズ,SSEサポート の có vô などによって, SageMath の bên trong で lợi dụng するATLAS,FLINT,NTLなど の số trị tính toán ライブラリ の チューニングが hành われる. SageMath の khai phát giả の nhiều くは thật hiệu tính năng の hướng về phía trước に chú lực しており, trung には thế giới nhất tốc を mục chỉ しているも の もある.

Lợi dụng điều kiện

[Biên tập]

SageMathはGNU General Public Licenseversion 2+にしたがった lợi dụng, xứng bố ができるフリーソフトウェアである. Vào tay phương pháp は số nhiều dụng ý されている.

  • ソースコードはダウンロード・ページからダウンロードできる. Khai phát giả dùng として, khai phát trên đường の バージョンもダウンロードできる.
  • Linux, macOS, Solaris ( x86およびSPARC の lạng phương ) についてはバイナリが dụng ý されている. Solaris bản は thí nghiệm な cung cấp である.
  • Linux の ブータブルCDとしても xứng bố されている. これを sử えば, SageMath の インストール tác nghiệp を hành わずに sử うことができる.
  • Sage の オンライン bản もhttp://demo.sagenb.orgで cung cấp されている. しかし kỹ thuật な lý do からユーザーが lợi dụng できるメモリサイズに, またセキュリティ mặt に chế hạn がある.
  • WindowsではWSL の thượng で thật hành する. ( Sage 8.0 lấy hàng からWindowsネイティブ bản がリリースされていたが, 9.7で廃 ngăn されている. )

SageMathに hàm まれるソフトウェア・パッケージ

[Biên tập]
Toán học cơ năng の パッケージ
Máy tính đại số GAP,Maxima,SINGULAR
Hình học đại số học SINGULAR
Nhiều lần trường tính toán MPIR,MPFR,MPFI,NTL,mpmath
Số luận hình học PARI/GP,NTL,mwrank,ecm
Số thức 処 lý Maxima,SymPy,GiNaC
Tổ み hợp わせ Symmetrica,Sage-Combinat
Đường nét đại số ATLAS,BLAS,LAPACK,NumPy,LinBox,IML,GSL
グラフ lý luận NetworkX
Đàn luận GAP
Số trị tính toán GSL,SciPy,NumPy,ATLAS
Số luận PARI/GP,FLINT,NTL
Thống kê 処 lý R,SciPy
そ の hắn の cơ năng の パッケージ
コマンドライン・インターフェイス IPython
データベース ZODB,Python Pickles,SQLite
GUI Sage Notebook,jsmath
グラフィクス Matplotlib,Tachyon3d,GD Graphics Library,Jmol
Đối lời nói プログラミング hoàn cảnh Python
ネットワーク Twisted

Lợi dụng lệ

[Biên tập]

Số thức 処 lý

[Biên tập]
x,a,b,c=var('x,a,b,c')

log(sqrt(a))# returns log(a)/2
log(a/b).simplify_log()# returns log(a) - log(b)
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)
(a+b)ˆ5# returns (b + a)ˆ5
expand((a+b)ˆ5)# returns bˆ5 + 5*a*bˆ4 + 10*aˆ2*bˆ3 +
# 10*aˆ3*bˆ2 + 5*aˆ4*b + aˆ5

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)]

f=xˆ2+432/x
solve(f.diff(x)==0,x)# returns [x == 3*sqrt(3)*I - 3,
# x == -3*sqrt(3)*I - 3, x == 6]

Vi phân phương trình

[Biên tập]
t=var('t')# define a variable t
x=function('x',t)# define x to be a function of that variable
DE=lambday:diff(y,t)+y-1
desolve(DE(x(t)),[x,t])# returns '%e^-t*(%e^t+%c)'

Đường nét đại số

[Biên tập]
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.

importnumpy
C=Matrix([[1,1],[2,2]])
matrix(numpy.linalg.pinv(C.numpy()))# returns [0.1 0.2]
# [0.1 0.2]

Số luận

[Biên tập]
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)

Khai phát の kinh vĩ

[Biên tập]

メジャーバーションについて の み nhớ す. SageMath の リリース phương châm は, "Release Early, Release Often" であり, số chu gian または một ヶ nguyệt おきにリリースされている.

Sage versions
Version Release Date Description
0.1 2005 năm 1 nguyệt PARI/GP に đối ứng, しかし GAP と Singular は chưa đối ứng
0.2 - 0.4 2005 năm 3 nguyệt 〜6 nguyệt Cremona データベース, nhiều 変 số の đa thức, đại quy mô な hữu hạn thể, ドキュメント の chỉnh đốn và sắp đặt
0.5 - 0.7 2005 năm 8 nguyệt 〜9 nguyệt ベクトル, hoàn, モジュラー
0.8 2005 năm 10 nguyệt GAP の フルサポート, Singular サポート
0.9 2005 năm 11 nguyệt Maxima, clisp thêm vào
1.0 2006 năm 2 nguyệt
2.0 2007 năm 1 nguyệt
3.0 2008 năm 4 nguyệt Interacts, Rインターフェース
4.0 2009 năm 5 nguyệt Solaris 10サポート, 64bit OSXサポート
5.0 2012 năm 5 nguyệt OSX Lionサポート
6.0 2013 năm 12 nguyệt Sage の khai phát はGitへ di chuyển
7.0 2016 năm 1 nguyệt
8.0 2017 năm 7 nguyệt

Chú thích

[Biên tập]
  1. ^Releases”.GitHub.2024 năm 3 nguyệt 19 ngàyDuyệt lãm.
  2. ^Tags”.GitHub.2023 năm 11 nguyệt 21 ngàyDuyệt lãm.
  3. ^Stein, William (2007 năm 6 nguyệt 12 ngày ). “SAGE Days 4”.2007 năm 8 nguyệt 2 ngàyDuyệt lãm.( tiếng Anh )
  4. ^Sage documentation( tiếng Anh )
  5. ^Sage Interact functionality”.2008 năm 4 nguyệt 11 ngàyDuyệt lãm.( tiếng Anh )
  6. ^The TeX Catalogue OnLine, Entry for sagetex, Ctan Edition( tiếng Anh )
  7. ^http://facstaff.unca.edu/mcmcclur/Mathematica/Sage/Calling Sage from Mathematica ( tiếng Anh )
  8. ^http://facstaff.unca.edu/mcmcclur/Mathematica/Sage/UsingSage.nbA Mathematica notebook to call Sage from Mathematica. ( tiếng Anh )
  9. ^Explicit Approaches to Modular Forms and Modular Abelian Varieties”.National Science Foundation(2006 năm 4 nguyệt 14 ngày ).2007 năm 7 nguyệt 24 ngàyDuyệt lãm.( tiếng Anh )
  10. ^Free Software Brings Affordability, Transparency To Mathematics”.Science Daily (December 7 2007).2008 năm 7 nguyệt 20 ngàyDuyệt lãm.( tiếng Anh )
  11. ^Sage Mathematical Software System”.9 June 2012Duyệt lãm.
  12. ^SIGSAM: Awards and prizes”.2 Aug 2013Duyệt lãm.
  13. ^Publications Citing Sage”.14 July 2011Duyệt lãm.
  14. ^Publications Citing Sage-Combinat”.14 July 2011Duyệt lãm.

Tham khảo văn hiến

[Biên tập]
  • Zimmermann, P., Casamayou, A., Cohen, N., Connan, G., Dumont, T., Fousse, L.,... & Bray, E. (2018). Computational Mathematics with SageMath.SIAM.
  • Kim, D. S., Lee, S. G., & Markowsky, G. (2010). Mobile Sage-Math for Linear Algebra and its Application. Electronic Journal of Mathematics & Technology, 4(3).
  • Ko, R. Y., Kim, D. S., Bak, J. Y., & Lee, S. G. (2009). Development of Mobile Sage-math and its use in Linear Algebra. Communications of Mathematical Education, 23(4), 1023-1041.
  • Heuberger, C., Krenn, D., & Kropf, S. (2014). Automata in SageMath---Combinatorics meet Theoretical Computer Science. arXiv preprint arXiv:1404.7458.

Quan liền hạng mục

[Biên tập]

Phần ngoài リンク

[Biên tập]