SageMath

SageMath (daha önce Sage veya SAGE, "System for Algebra and Geometry Experimentation - 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ı. 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.
Geliştirme
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.
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. 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). 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.
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ü.
2012: Google Summer of Code için seçilen projelerden biri.
2013: ACM/SIGSAM Jenks Ödülü.
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.
Lisanslama ve kullanılabilirlik
SageMath özgür yazılım olup GNU Genel Kamu Lisansı sürüm 3 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ı. SageMath 8.0 (Temmuz 2017), OpenDreamKit projesi tarafından finanse edilen geliştirme ile, 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. SageMath 10.0 (Mayıs 2023) itibariyle, sürüm 2'de Windows Subsystem for Linux gerektirmektedir, 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" 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
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.