SageMath

Vikipedi, özgür ansiklopedi
SageMath
Sagemath belgesi (Jupyter Notebook) bir web tarayıcısı içinde
İlk yayınlanma24 Şubat 2005 (19 yıl önce) (2005-02-24)
Güncel sürüm10.3[1] Bunu Vikiveri'de düzenleyin (20 Mart 2024 (36 gün önce) (20 Mart 2024))
Önizleme sürümü9.7.beta7 / 1 Ağustos 2022 (20 ay önce) (2022-08-01)
Programlama diliPython, Cython
İşletim sistemiLinux, macOS, Microsoft Windows, Solaris, Android, iOS
Platform
Boyuty.. 112–3319 MB
TürBilgisayarlı cebir sistemi
(CAS - Computer Algebra System)
LisansGPLv3[2]
Resmî sitesisagemath.org
Kod deposu Bunu Vikiveri'de düzenleyin

SageMath (daha önce Sage veya SAGE, "System for Algebra and Geometry Experimentation[3] - Cebir ve Geometri Deneyleri için Sistem"), cebir, kombinatorik, çizge teorisi, sayısal analiz, sayı teorisi, kalkülüs ve istatistik dahil olmak üzere matematiğin birçok yönünü kapsayan özelliklere sahip bir bilgisayarlı cebir sistemidir.

SageMath'in ilk sürümü 24 Şubat 2005 tarihinde GNU Genel Kamu Lisansı sürüm 2 koşulları altında özgür ve açık kaynak kodlu yazılım olarak, "Magma, Maple, Mathematica ve MATLAB'a açık kaynaklı bir alternatif" yaratma hedefiyle yayınlandı.[4] SageMath projesinin yaratıcısı ve lideri William Stein, Washington Üniversitesi'nde bir matematikçiydi.

SageMath, prosedürel, fonksiyonel ve nesne-yönelimli yapılarını destekleyen Python'a benzeyen bir söz dizimi kullanır.[5]

Geliştirme[değiştir | kaynağı değiştir]

William A. Stein

Stein, Sage'i tasarlarken C, C++, Common Lisp, Fortran ve Python gibi farklı programlama dilleri ile yazılmış birçok açık kaynak matematik yazılım paketi olduğunu fark etmiştir.

Sage (çoğunlukla Python ve Cython dillerinde yazılmıştır), tekerleği yeniden icat etmek yerine, birçok özel CAS yazılım paketini, kullanıcının yalnızca Python bilmesi gereken ortak bir arayüze entegre eder. Ancak Sage, yeni fonksiyonlar ekleyen ve bileşenleri arasındaki arayüzleri oluşturan yüz binlerce benzersiz kod satırı içerir.[6]

SageMath, geliştirme için hem öğrencilerden hem de profesyonellerden faydalanır. SageMath'in gelişimi hem gönüllü çalışmaları hem de hibeler tarafından desteklenmektedir.[7] Ancak 2016 yılına kadar ilk tam zamanlı Sage geliştiricisi işe alınmamıştır (bir AB hibesi ile finanse edilmiştir).[8] Aynı yıl Stein, yazılım geliştirme için akademik finansman ve referans eksikliğinden duyduğu hayal kırıklığını anlatmış ve bunu yeni kurduğu SageMath, Inc. şirketinde proje üzerinde tam zamanlı çalışmak üzere kadrolu akademik pozisyonundan ayrılma kararının nedeni olarak göstermiştir.[8]

Başarılar[değiştir | kaynağı değiştir]

Performans[değiştir | kaynağı değiştir]

SageMath, hem çalıştırılabilir dosya (binary) hem de kaynak kodu indirme sayfasından temin edilebilir. SageMath kaynak koddan oluşturulursa, OpenBLAS, FLINT, GAP ve NTL gibi dahil edilen kütüphanelerin çoğu o bilgisayar için ayarlanacak ve optimize edilecektir, işlemci sayısını, önbellek boyutunu, SSE talimatları için donanım desteği olup olmadığını vb. dikkate alır.

Python kodu C'ye dönüştürüldüğü için Cython SageMath programlarının hızını artırabilir.[12]

Lisanslama ve kullanılabilirlik[değiştir | kaynağı değiştir]

SageMath özgür yazılım olup GNU Genel Kamu Lisansı sürüm 3[2] koşulları altında dağıtılmaktadır.

Microsoft, Windows işletim sistemi için SageMath'in yerel bir sürümüne sponsor olsa da, 2016'dan önce yerel bir bağlantı noktası için herhangi bir plan yoktu ve Windows kullanıcıları SageMath'i çalıştırmak için VirtualBox gibi sanallaştırma teknolojisini kullanmak zorundaydı.[13] SageMath 8.0 (Temmuz 2017), OpenDreamKit projesi tarafından finanse edilen geliştirme ile,[8] Cygwin üzerinde başarıyla derlendi ve Windows'un 64 bit sürümleri için ikili bir yükleyici (çalıştırılabilir dosya) mevcuttu.[14] SageMath 10.0 (Mayıs 2023) itibarıyla, sürüm 2'de Windows Subsystem for Linux gerektirmektedir,[15] bu da Windows'un bir Hyper-V istemcisi olarak çalışmasını gerektirir.

SageMath'in bir paket olarak mevcut olduğu Linux dağıtımları Fedora, Arch Linux, Debian, Ubuntu ve NixOS'tur. Gentoo'da, "sage-on-gentoo"[16] katmanında layman aracılığıyla kullanılabilir. NixOS tarafından kullanılan paket, paket yöneticisi Nix'in dağıtımdan bağımsız doğası nedeniyle diğer dağıtımlarda kullanılabilir.

Gentoo prefix ayrıca diğer işletim sistemlerinde Sage yazılımının kullanılmasını sağlar.

SageMath içinde bulunan yazılım paketleri[değiştir | kaynağı değiştir]

SageMath'in felsefesi, mevcut açık kaynaklı kütüphaneleri var oldukları her yerde kullanmaktır. Bu nedenle, diğer projelerden birçok kütüphane kullanır.

SageMath içinde bulunan
matematik paketleri[17]
Cebir GAP, Singular, FLINT
Cebirsel geometri Singular
Keyfi hassasiyetli aritmetik GMP, MPFR, MPFI, NTL, mpmath, Arb
Aritmetik geometri PARI/GP, NTL, mwrank, ECM
Kalkülüs Maxima, SymPy, GiNaC, Giac, FriCAS
Kombinatorik Symmetrica, Sage-Combinat
Lineer cebir ATLAS, BLAS, LAPACK, NumPy, LinBox, IML, GSL
Çizge teorisi NetworkX
Grup teorisi GAP
Nümerik hesaplama GSL, SciPy, NumPy, ATLAS
Sayı teorisi PARI/GP, FLINT, NTL
İstatistiksel hesaplama R, SciPy

SageMath içinde bulunan
diğer paketler

komut satırı kabuğu IPython
Veri tabanı ZODB, SQLite
Grafik arayüz SageMath Notebook, MathJax[18] (önceden jsMath)
Grafikler matplotlib, Tachyon, GD, Jmol
Etkileşimli programlama dili Python
Networking Twisted
SageMath için kullanılabilen
diğer matematik paketleri
Diferansiyel geometri ve tensör hesabı Sage Manifolds

Ayrıca bakınız[değiştir | kaynağı değiştir]

Kaynakça[değiştir | kaynağı değiştir]

  1. ^ "Release 10.3". 20 Mart 2024. Erişim tarihi: 25 Mart 2024. 
  2. ^ a b "COPYING.txt – sage.git". The Sage Repository. 14 Mart 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Nisan 2017. 
  3. ^ Stein, William. "SAGE: A Computer System for Algebra and Geometry Experimentation". 10 Şubat 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 30 Mart 2012. 
  4. ^ Stein, William (12 Haziran 2007). "Sage Days 4" (PDF). 27 Haziran 2007 tarihinde kaynağından (PDF) arşivlendi. Erişim tarihi: 2 Ağustos 2007. 
  5. ^ Anastassiou, George A.; Mezei, Razvan A. (2015). Numerical Analysis Using Sage. New York: Springer. ss. x1 and 1. ISBN 9783319167381. 
  6. ^ "Sage Days 7: Combinatorics". SageWiki. 14 Kasım 2008. 11 Aralık 2013 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Aralık 2013. 
  7. ^ "Sage – Acknowledgement to Supporters". 29 Aralık 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 6 Ocak 2017. 
  8. ^ a b c William Stein: The origins of SageMath – creating a viable open source alternative to Magma, Maple, Mathematica, and Matlab 26 Mayıs 2023 tarihinde Wayback Machine sitesinde arşivlendi. (presentation, 11 Haziran 2016)
  9. ^ "Free Software Brings Affordability, Transparency To Mathematics". Science Daily. 7 Aralık 2007. 9 Kasım 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 6 Ocak 2017. 
  10. ^ "Sage Mathematical Software System". Google Summer of Code / Code-in Archive. 7 Ocak 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 6 Ocak 2017. 
  11. ^ "Richard Dimick Jenks Memorial Prize 2013 Award". Association for Computing Machinery – SIGSAM. 31 Mart 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 6 Ocak 2017. 
  12. ^ Stein, William (3 Kasım 2010). "Cython, Sage, and the Need for Speed". 4 Mart 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 6 Ocak 2017. 
  13. ^ Stein, William (16 Mart 2012). "Re: Question about Sage". 15 Haziran 2013 tarihinde kaynağından arşivlendi. Erişim tarihi: 6 Ocak 2017. 
  14. ^ Lelievre, Samuel (18 Ağustos 2017). "SageMath 8.0 installer for Windows". 6 Ağustos 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Ağustos 2017. 
  15. ^ "Welcome to Sage Installation Guide". 1 Mayıs 2023. 29 Haziran 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Temmuz 2023. 
  16. ^ "sage-on-gentoo Wiki". GitHub. 28 Ocak 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 6 Ocak 2017. 
  17. ^ "Standard Packages". doc.sagemath.org. 10 Aralık 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 6 Ocak 2017. 
  18. ^ "External Packages — External Packages". 27 Nisan 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Ekim 2023. 

Dış bağlantılar[değiştir | kaynağı değiştir]

Vikikitap
Vikikitap
Vikikitapta bu konu hakkında daha fazla bilgi var: