factograf
TR
Sign in

Ücretsiz bir açık kaynak kodlu matematik yazılım sistemi

SageMath

SageMath
All data from the card 10
İlk yayınlanma
24 Şubat 2005)
Güncel sürüm
10.10 28 Eylül 2026
Kod deposu
github.com/sagemath/sage
Programlama dili
Python, Cython
İşletim sistemi
Linux, macOS, Microsoft Windows, Solaris, Android, iOS
Platform
Kişisel bilgisayarlar ve web platformu IA-32, x86-64, ARM, Itanium, SPARC
Boyutu
y.. 112–3319 MB
Tür
Bilgisayarlı cebir sistemi(CAS - Computer Algebra System)
Lisans
GPLv3
Resmî sitesi
sagemath.org

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

William A. Stein
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.

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) itibarıyla, 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.

SageMath içinde bulunan
matematik paketleri
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
Veritabanı ZODB, SQLite
Grafik arayüz SageMath Notebook, MathJax (ö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

Read next

In 24 languages

Text from Wikipedia, CC BY-SA 4.0 · Source article