SageMath
Ücretsiz bir açık kaynak kodlu matematik yazılım sistemi Vikipedi'den, özgür ansiklopediden
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 belgesi (Jupyter Notebook) bir web tarayıcısı içinde | |
İlk yayınlanma | 24 Şubat 2005 | )
---|---|
Güncel sürüm | 10.5[1] 4 Aralık 2024 |
Önizleme sürümü | 9.7.beta7 / 1 Ağustos 2022 | )
Programlama dili | Python, Cython |
İşletim sistemi | Linux, macOS, Microsoft Windows, Solaris, Android, iOS |
Platform | |
Boyut | y.. 112–3319 MB |
Tür | Bilgisayarlı cebir sistemi (CAS - Computer Algebra System) |
Lisans | GPLv3[2] |
Resmî sitesi | sagemath.org |
Kod deposu |
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

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
- 2007: özgür yazılım için uluslararası bir yarışma olan Les Trophées du Libre'nin bilimsel yazılım bölümünde birincilik ödülü.[9]
- 2012: Google Summer of Code için seçilen projelerden biri.[10]
- 2013: ACM/SIGSAM Jenks Ödülü.[11]
Performans
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
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
Özetle
Bakış açısı
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 |
komut satırı kabuğu | IPython |
Veritabanı | 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
- CoCalc
- Sayısal analiz yazılımları karşılaştırılması
- İstatistik paketleri karşılaştırılması
- Bilgisayarlı cebir sistemleri listesi
Kaynakça
Dış bağlantılar
Wikiwand - on
Seamless Wikipedia browsing. On steroids.