SageMath
Sơ bản | 2005 năm 2 nguyệt 14 ngày |
---|---|
Mới nhất bản | 10.3-2023 năm 8 nguyệt 20 ngày[1][±] |
Mới nhất bình 価 bản | 10.2rc4-2023 năm 11 nguyệt 17 ngày[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( セイジ, 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ình・Quan số hình・オブジェクト chỉ hướngによるプログラムの ghi lại を hành うことができる.
Đặc trưng
[Biên tập]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 するプログラミング
- MaximaとSymPyを 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
- SMPなど のマルチコアCPUHoàn cảnh で の song song thật hành, およびPhân tán コンピューティングHoàn cảnh で の song song tính toán の サポート
- GNU Scientific Library,SciPy,NumPyによる đường nét đại số の số trị tính toán
- Sơ đẳng quan sốおよび đặc thù quan số の ライブラリ
- Hàng ngũ およびベクトル tính toán ( sơ hàng ngũ にも đối ứng )
- RとSciPyによるNhiều 変 lượng phân tíchの サポート
- Python cùng dạng の pylabによる bức họa phân tích ツール
- Số luận の quan số の ライブラリ
- Phục tố số,Nhiều lần trường tính toán,Ký hiệu 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ế なフリーソフトウェア の コンクールであるトルフェ・ド・リブレの 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]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 |
コマンドライン・インターフェイス | 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 おきにリリースされている.
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]- ^“Releases”.GitHub.2024 năm 3 nguyệt 19 ngàyDuyệt lãm.
- ^“Tags”.GitHub.2023 năm 11 nguyệt 21 ngàyDuyệt lãm.
- ^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 )
- ^Sage documentation( tiếng Anh )
- ^“Sage Interact functionality”.2008 năm 4 nguyệt 11 ngàyDuyệt lãm.( tiếng Anh )
- ^The TeX Catalogue OnLine, Entry for sagetex, Ctan Edition( tiếng Anh )
- ^http://facstaff.unca.edu/mcmcclur/Mathematica/Sage/Calling Sage from Mathematica ( tiếng Anh )
- ^http://facstaff.unca.edu/mcmcclur/Mathematica/Sage/UsingSage.nbA Mathematica notebook to call Sage from Mathematica. ( tiếng Anh )
- ^“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 )
- ^“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 )
- ^“Sage Mathematical Software System”.9 June 2012Duyệt lãm.
- ^“SIGSAM: Awards and prizes”.2 Aug 2013Duyệt lãm.
- ^“Publications Citing Sage”.14 July 2011Duyệt lãm.
- ^“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]- Công thức ウェブサイト
- Điện tử bổn ( PDF, CCライセンス ): P. Zimmermann, et al.: "Computational Mathematics with SageMath" (Dec, 2018).(リンク thiết れ の khả năng tính )
- Official Sage Documentation Manual, Reference, Tutorials,...
- Sage introduction videos
- Use Sage online in your web-browser
- Free software brings affordability, transparency to mathematics
- AMS Notices Opinion - Open Source Mathematical Software
- Toán học ソフトウェアとフリードキュメントXIV(2012 năm 3 nguyệt 25 ngày )-Số thức 処 lý システム Sage nhập môn-Hoành Sơn tuấn một(リンク thiết れ)
- Trúc bổn hạo の ページ- Sage の giới thiệu. Công khai Sageサーバ.
- ( Book Review ) John B. Little: "Computational Mathematics with SageMath", Bull.AMS, v.57, no.3, (Jul,2020), pp.515–521, url= "https://doi.org/10.1090/bull/1690"
- Sageチュートリアルへようこそ
- Tá 々 mộc cách: “PythonとSageMath” (2022 năm )
- Paul Zimmermann, et al.: "Computational Mathmatics with SageMath",(2018), (open textbook in PDF).
- Gregory V. Bard: "Sage for Undergraduates", AMS (2015).(PDF vào tay khả năng )
- Gregory V. Bard: "Sage for Undergraduates: Compatible With Python 3",2nd Ed., AMS,ISBN 978-1470461553(2022 năm 10 nguyệt 30 ngày ) .