İçeriğe atla

SageMath

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.4[1] Bunu Vikiveri'de düzenleyin (20 Temmuz 2024 (3 ay önce) (20 Temmuz 2024))
Önizleme sürümü9.7.beta7 / 1 Ağustos 2022 (2 yıl ö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

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

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]
CebirGAP, Singular, FLINT
Cebirsel geometriSingular
Keyfi hassasiyetli aritmetik GMP, MPFR, MPFI, NTL, mpmath, Arb
Aritmetik geometri PARI/GP, NTL, mwrank, ECM
KalkülüsMaxima, SymPy, GiNaC, Giac, FriCAS
KombinatorikSymmetrica, Sage-Combinat
Lineer cebirATLAS, BLAS, LAPACK, NumPy, LinBox, IML, GSL
Çizge teorisiNetworkX
Grup teorisiGAP
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ğuIPython
Veri tabanı ZODB, SQLite
Grafik arayüzSageMath Notebook, MathJax[18] (önceden jsMath)
Grafikler matplotlib, Tachyon, GD, Jmol
Etkileşimli programlama dili Python
NetworkingTwisted
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

  1. ^ "Release 10.4". 20 Temmuz 2024. Erişim tarihi: 27 Temmuz 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

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

İlgili Araştırma Makaleleri

Linux dağıtımı ; Linux çekirdeği, GNU araçları ve bir masaüstü ortamının bir araya gelmesiyle, bu birlikteliği sürdürülebilir şekilde yönetecek bir yapılandırma araçları seti, yazılım güncelleme araçları vb. ile oluşturularak tam teşekküllü bir işletim sistemi haline gelen uygulamalar bütününü ifade eder.

<span class="mw-page-title-main">Gentoo Linux</span> kaynak kod temelli bir GNU/Linux dağıtımı

Gentoo, kaynak kod temelli bir Linux dağıtımıdır. Kaynak kod tabanlı kurulumunun zorluğu sebebiyle, diğer Linux dağıtımları kadar popüler olamasa da; kaynak kurulumlu dağıtımlar arasında en popüleridir. Özelleşmiş Linux dağıtımları hazırlanırken temel olarak kullanılmaya uygundur. Gentoo, adını bir çeşit penguen olan Gentoo Pengueni'nden almıştır.

<span class="mw-page-title-main">Xgl</span>

Xgl, X Pencere Sistemi için geliştirilmiş ve günümüzde artık kullanılmayan bir görüntü sunucusudur; zamanının modern ekran kartlarının OpenGL sürücüleriyle birlikte sağladığı avantajları X Pencere Sistemi'ne kazandırabilmek amacıyla tasarlanmıştır. Linux masaüstüne çeşitli şeffaflaştırma, gölgelendirme, animasyon gibi görsel ögelerin ilâve olmasını sağlar. Bu ögelerin kullanılması, ekran kartını kullandığı için, işlemci gücüne ihtiyaç duymaz, böylece uygulanan efektler sistemin performansını düşürmez.

<span class="mw-page-title-main">Sabayon Linux</span> Gentoo tabanlı bir linux dağıtımı

Sabayon Linux veya Sabayon, Gentoo tabanlı bir linux dağıtımıdır. Gentoo'dan farklı olarak, Sabayon önceden derlenmiş olarak kurulur. x86 ve x86 64 işlemci mimarilerini desteklemektedir.

Pisi Linux; PiSi paket yönetim sistemini içeren Pardus 2011 sürümünü taban alan, özgür yazılım topluluğu tarafından geliştirilen, bilgisayar kullanıcılarına kurulum, yapılandırma ve kullanım konusunda büyük kolaylık sağlayan ve onların başlıca masaüstü gereksinimlerini karşılamayı amaçlayan, son kullanıcı odaklı bir GNU/Linux dağıtımıdır. Anka takımı tarafından geliştirilme süreci devam eden Pisi Linux, 10 Temmuz 2015'te 1.2 sürümü yayımlandı. İçerisinde 6000'den fazla güncellenmiş paketi bulunan 1.2 sürümü sonrası ise büyük değişimler getirecek olan 2.1 sürümü ile tüm paketler yeni sürümlerine geçirildi ve birçok hata giderildi, bu sayede Pisi Linux'un hızı ve stabilitesi artırılmış oldu.

<span class="mw-page-title-main">Linux-libre</span>

Linux-libre, Linux çekirdeğinin değiştirilmiş sürümlerinden sağlanan bir GNU paketi ve işletim sistemi çekirdeğidir. Bu tasarının hedefi kaynak kodu olmayan, kod şaşırtması bulunan ve özgür olmayan her yazılımın Linux çekirdeğinden çıkarılmasıdır.

<span class="mw-page-title-main">Guix System Distribution</span>

Guix System Distribution, GNU Guix paket yöneticisi etrafında inşa edilen bir işletim sistemidir. Linux-libre çekirdeğini kullanır ve gelişim aşamasındaki GNU Hurd çekirdeğini destekler. 3 Şubat 2015'te Özgür Yazılım Vakfı'nın özgür dağıtımlar listesine eklenmiştir.

<span class="mw-page-title-main">Familiar Linux</span>

Familiar Linux, iPAQ makineleri ve diğer kişisel dijital asistanlar için bir Linux dağıtımıdır. OPIE veya GPE Palmtop Ortamını grafiksel kullanıcı arabirimi olarak kullanabilir. Bu makinelerde Windows CE'nin yerini aldı. Familiar Linux pek çok uygulama içeren eksiksiz bir işletim sistemiydi.

<span class="mw-page-title-main">Discordian takvimi</span> Principia Discordianın 00034. sayfasında belirtilen Discordian (Erisian) takvimi Discordianizm taraftarları tarafından kullanılan alternatif bir takvimdir

Discordian veya Erisian takvimi, bazı Discordianizm taraftarları tarafından kullanılan alternatif bir takvimdir. Principia Discordia'nın 00034. sayfasında belirtilmiştir.

<span class="mw-page-title-main">Anaconda (Python dağıtımı)</span>

Anaconda ücretsiz ve açık kaynaklı, Python ve R programlama dillerinin bilimsel hesaplama kullanımında paket yönetimini kolaylaştırmayı amaçlayan bir özgür ve açık kaynaklı dağıtımdır. Paket sürümleri conda paket yönetim sistemi ile yönetilir. Anaconda dağıtımı Windows, Linux ve MacOS işletim sistemlerinde kullanılabilen veri bilimi paketleri içerir.

<span class="mw-page-title-main">Python Paket Dizini</span>

Python Paket Dizini, PyPI olarak kısaltılır ve Peynir Dükkanı olarak da bilinir, Python için resmi bir üçüncü taraf yazılım deposudur. Perl için CPAN deposuna ve R için CRAN deposuna benzer. PyPI, bir hayır kurumu olan Python Software Foundation tarafından işletilmektedir. Bazı paket yöneticileri, pip dahil, PyPI'yi paketler ve bağımlılıkları için varsayılan kaynak olarak kullanır.

<span class="mw-page-title-main">HomeBank</span>

HomeBank, OpenBSD, Linux, FreeBSD, Microsoft Windows, Mac OS ve AmigaOS üzerinde çalışan kişisel bir muhasebe yazılım paketidir. GNU Genel Kamu Lisansı altında yayınlanan HomeBank, özgür bir yazılımdır. HomeBank, Debian, Fedora, Mandriva, openSUSE, Gentoo Linux, Arch Linux ve Ubuntu gibi Linux dağıtımlarının yazılım havuzlarında bulunabilir.

<span class="mw-page-title-main">Calculate Linux</span>

Calculate Linux, bir Linux dağıtımıdır. Gentoo Linux tabanlıdır.

Bu sayfada, kategorize edilmiş bir liste şeklinde önemli Linux dağıtımları hakkında genel bilgiler mevcuttur. Dağıtımlar, kökü olan ana dağıtım veya paket yönetim sistemine göre sınıflandırılır.

<span class="mw-page-title-main">Snap (yazılım)</span>

Snap, Linux çekirdeğini ve systemd init sistemini kullanan işletim sistemleri için Canonical tarafından geliştirilmiş bir yazılım paketleme ve dağıtım sistemidir. Snaps adı verilen paketler ve bunları kullanma aracı snapd , bir dizi Linux dağıtımında çalışır ve yukarı akış yazılım geliştiricilerinin uygulamalarını doğrudan kullanıcılara dağıtmasına olanak tanır. Snap'ler, ana bilgisayar sistemine aracılı erişime sahip bir sanal alanda çalışan bağımsız uygulamalardır. Snap ilk olarak bulut uygulamaları için piyasaya sürüldü, ancak daha sonra Nesnelerin İnterneti cihazları ve masaüstü uygulamaları için de çalışacak şekilde taşındı.

rEFInd

rEFInd, UEFI ve EFI tabanlı makineler için bir önyükleme yöneticisidir. Tek bir kalıcı aygıta kurulu birden çok işletim sistemini başlatmak için kullanılabilir. Ayrıca UEFI uygulamalarını başlatmak için bir yol sağlar.

<span class="mw-page-title-main">Void Linux</span>

Void Linux, sıfırdan tasarlanan ve uygulanan X Binary Package System (XBPS) paket yöneticisini ve "runit init" sistemini kullanan bağımsız bir Linux dağıtımıdır. İkili çekirdek blobları hariç, temel kurulum tamamen özgür yazılımdan oluşur ancak kullanıcılar özel yazılım yüklemek için özgür olmayan resmi bir depoya erişebilir.

<span class="mw-page-title-main">AutoKey</span>

AutoKey, Linux için ücretsiz, açık kaynaklı bir komut dosyası oluşturma uygulamasıdır.

Burada, sayısal analiz veya veri analizi için kullanılmak üzere tasarlanmış önemli son kullanıcı bilgisayar uygulamaları listelenmiştir:

Bilgisayar ağ yönetimi alanında, pcap ağ trafiğini yakalama için bir API'dir. Bu isim packet capture kelimesinin kısaltması olsa da, API'nin özel ismi bu değildir. Unix benzeri sistemler pcap'i libpcap kütüphanesinde uygular; Windows için, libpcap'in artık desteklenmeyen veya geliştirilmeyen WinPcap adlı bir uyarlaması ve Windows 7 ve sonrası için hala desteklenen Npcap adlı bir uyarlaması vardır.