Açık Kaynak Kodlu ve Özgür Matematik Yazılımı SAGE



Benzer belgeler
Açık Kod Kaynaklı ve Özgür Matematik Yazılımı: SAGE

Akademik Dünyada Özgür Yazılım. Akademik Dünyada. Onur Tolga Şehitoğlu

R ile Programlamaya Giriş ve Uygulamalar

Açık Kaynak Kodlu Yazılım

MATLAB A GİRİŞ. EE-346 Hafta-1 Dr. Ayşe DEMİRHAN

Matematik ve Geometri Eğitiminde Teknoloji Tabanlı Yaklaşımlar

Data Science Boot Camp

Nasıl Pardus Geliştiricisi Olunur?

Veritabanı Uygulamaları Tasarımı

Temel Bilgisayar (Basic Computer) Yazılım (Software)

Turquaz. Açık kodlu muhasebe yazılımı Turquaz Proje Grubu

DERS SEÇİM KILAVUZU. Sınıf Dönemi Kodu Adı Sınıf Dönemi Kodu Adı. Nesne Yönelimli Programlama. Yazılım Tasarımı ve Mimarisi

Microsoft Excel 1.BÖLÜM

Linux Kurulumu (Sürüm 1.52) İçindekiler

Android e Giriş. Öğr.Gör. Utku SOBUTAY

Moodle-IST Kullanım Klavuzu

Sade ve tam ekran masaüstü kullanımının temel çıkış noktası, aranılan özelliğe çabuk erişimi sağlayan yenilikçi kullanıcı deneyimidir.

ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ

MatLab. Mustafa Coşar

TOBB EKONOMİ VE TEKNOLOJİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ I. SINIF EĞİTİM - ÖĞRETİM PROGRAMI

(Bilgisayar ağlarının birbirine bağlanarak büyük bir ağ oluşturmasıdır)

Akademik Uygulamalar ve Linux. Fatih Mehmet AVCU İnönü Üniversitesi Enformatik Bölümü

LKD Kendi İlacını Kullanıyor

Fırat Üniversitesi Hastanesi Dinamik Web Sayfası

Özgür Yazılımlarla Web Programlama. Özlem Özgöbek

Pardus. Erkan Tekman, T. Barış Metin. 18 Mayıs Ulusal Dağıtım Projesi Ulusal Elektronik ve Kriptoloji Enstitüsü. Pardus için 10 Neden

Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların

Yrd. Doç. Dr. Gökçe BECİT İŞÇİTÜRK. Gökçe BECİT İŞÇİTÜRK 1

Java Temel Özellikleri

1 NEDEN PROGRAMLAMA ÖĞRENMELIYIZ?

Linux Kullanıcıları Derneği'nin Çalışmaları

Script. Statik Sayfa. Dinamik Sayfa. Dinamik Web Sitelerinin Avantajları. İçerik Yönetim Sistemi. PHP Nedir? Avantajları.

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

1. YIL 1. DÖNEM DERS KODU DERS ADI T+U+L KREDİ AKTS. Atatürk İlkeleri ve İnkılap Tarihi I

İNÖNÜ ÜNİVERSİTESİ MALATYA MESLEK YÜKSEKOKULU DERS TANITIM FORMU. Kredisi AKTS Eğitim Dili Tipi: Zorunlu/ Saat

ENFORMATİK Dersin Amacı

Bilkent Üniversitesi Bilgisayar Mühendisliği Bölümü. Bilgisayar Mühendisliği

=A1+A2-A3, =A1*A2/A3,

GALATASARAY ÜNİVERSİTESİ

SELÇUK ÜNİVERSİTESİ SEYDİŞEHİR MESLEK YÜKSEKOKULU BİLGİSAYAR TEKNOLOJİLERİ BÖLÜMÜ BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS DAĞILIM ÇİZELGESİ (2010)

Özgür Yazılımlar ile Kablosuz Ağ Denetimi

İşletme Fakültesi Bil. Kullanımı Ders notları 2

FAN-SİM FAN-SİM FAN PERFORMANS HESAPLAMA VE SEÇİM YAZILIMI.

Wikipedia'nın Kardeş Projeleri. Özlem Özgöbek

İNÖNÜ ÜNİVERSİTESİ MALATYA MESLEK YÜKSEKOKULU DERS TANITIM FORMU. Kredisi AKTS Eğitim Dili Tipi: Zorunlu/ Saat

Pardus. A. Murat Eren, 25 Mart Pardus Geliştiricisi. Pardus Yenilikleri Sık Sorulan Sorular

Akdeniz Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölüm Tanıtımı

GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ LİSANS PROGRAMI

Akdeniz Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölüm Tanıtımı

PYTHON PROGRAMLAMA DİLİ

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

Temel Bilgi Teknlolojileri 1. Ders notları 5. Öğr.Gör. Hüseyin Bilal MACİT 2017

Sosyal Ağlar ve Çevrimiçi Kütüphane Katalogları: OPAC 2.0

Ünite-3 Bilgisayar Yazılımı.

EYLÜL 2012 İŞLETİM SİSTEMLERİ. Enformatik Bölümü

Ders Adı Ders Kodu T+U K AKTS Snf Program ATATÜRK İLKELERİ VE INKİLAP TARİHİ I AIIT Matematik ANALİTİK GEOMETRİ I MAT

MÜHENDİSLİK FAKÜLTESİ / ENSTİTÜSÜ / YÜKSEKOKULU BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ BÖLÜMÜ /ABD LİSANS PROGRAMI - 1 ( yılı ve sonrasında birinci

Arayüz Nedir? Arayüz Çeşitleri Arayüz Tasarım Yöntemleri Arayüz Tasarım Hataları. Ömer Faruk MIZIKACI

PostgreSQL Veritabanı Sunucusu Devrim GÜNDÜZ.

Okullar ve Üniversiteler için Dijital Kütüphane

Akdeniz Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölüm Tanıtımı

İşletim Sistemleri; İÇERİK. Yazılım BİLGİ TEKNOLOJİLERİ VE UYGULAMALARI Yazılım Türleri

Başlık: Windows Sistem Yöneticisi Yardımcısı

Yazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım

GALATASARAY ÜNİVERSİTESİ

BİLGİ İŞLEM DERS 1. Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ MSGSU FİZİK BÖLÜMÜ

tarih ve 163 sayılı Eğitim Komisyonu Kararı Eki-2

Efe Çiftci Çankaya Üniversitesi Bilgisayar Mühendisliği Bölümü Kasım 2012 CENG 191 Computer Engineering Orientation Özel Sunumu

TEMEL BİLGİTEKNOLOJİLERİ

Veri Bilim - Yapay Öğrenme Yaz Okulu, 2017 Matematiksel Temeller ve Vaka Çalışmaları

Hızlı Sistem Kurulumu ve Yönetimi İçin Yeni Bir Yaklaşım: SUSE Stüdyo

FAN SELECTOR FAN SELECTOR FAN SEÇİM YAZILIMI.

1 Nisan Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. Đlgili Modül/ler : Stok

Özgür Yazılım Eğitim Yönetim Sistemleri

Bilgisayar Dersi. Öğr. Gör Kağan GÜL. Kırşehir Ahi Evran Üniversitesi

1.PROGRAMLAMAYA GİRİŞ

Ruby Nedir? 1.1 Amaçlar. 1.2 Ruby nin Yapısal Sıradüzeni

Selahattin Esim CEO

DERS TANITIM BİLGİLERİ. Dersin Adı Kodu Yarıyıl Teori (saat/hafta) Laboratuar (saat/hafta) Uygulama (saat/hafta) AKTS. Yerel Kredi

Kre di. Ders Kodu BIL-107. Açıklama Eşdeğer Akademik Araştırma ve EHB-119 Sunum I. MAT-151 Matematik I MAT-152 Matematik II

Giriş BLM 105 Programlama I Toplam 30 Toplam MUH 204 Elektronik ve Uygulamaları

Bilgisayar Mühendisliği

MÜHENDİSLİK VE TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2016/2017 ÖĞRETİM YILI 1. YARIYIL FİNAL SINAVI PROGRAMI 1. SINIF

18. Akademik Bilişim Konferansı

JetSMS Direct Çözümü

Pardus Projesi ve Topluluk süreçleri. Ali Işıngör Akın Ömeroğlu

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

ÖZGÜR YAZILIMLAR İLE J2EE

WEB 2.0 ARAÇLARINI TANIMAK

BİLİŞİM TEKNOLOJİLERİ WEB PROGRAMCISI MODÜLER PROGRAMI (YETERLİĞE DAYALI)

Hızlı ve Güvenli Vale Hizmeti

CAEeda TM GENEL TANITIM. EDA Tasarım Analiz Mühendislik

MİKROGEN. Genel Muhasebe Paketi Mikro Yazılımevi A.Ş.

Bilgisayar İşletim Sistemleri BLG 312

Luca NET Kobi Ticari Yazılımında ilk yapılacaklar

Kantar Otomasyonu Özellikler Kullanım Satış Kamyon Hareketleri Ağırlık Bilgisi... 9

Sanallaştırma Nedir? Bahadır Demircioğlu. Şubat, 2013

Bilgi Güvenliği Denetim Sürecinde Özgür Yazılımlar. Fatih Özavcı Bilgi Güvenliği Danışmanı

Flash ile Etkileşimli Öğretim Materyali Hazırlama Semineri

BİLİŞİM TEKNOLOJİLERİ GÖRSEL PROGRAMLAMA MODÜLER PROGRAMI (YETERLİĞE DAYALI)

Transkript:

Açık Kaynak Kodlu ve Özgür Matematik Yazılımı SAGE Hamdi Murat Yıldırım Bilgisayar Teknolojisi ve Bilişim Sistemleri Bölümü, Bilkent Üniversitesi hmurat@bilkent.edu.tr Akademik Bilişim 2009, 11/02/2009 Harran Üniversitesi, Şanlıurfa

İçerik SAGE Nedir? Neden SAGE? SAGE'nin Yapısı ve Özellikleri Çalışan Örnekler (Canlı gösterim) SAGE'nin Üniversitelerde Kullanımına Dair Öneriler

SAGE Nedir? Neden SAGE? SAGE (Software for Algebra and Geometry Experimentation) lisans: GNU Genel Kamu Lisansı (GPL) SAGE, çoğu GPL lisanslı birçok özgür ve açık kod kaynaklı yazılım paketleri (GMP, Python, Common Lisp, Bzip2, FreeType, MoinMoin Wiki v.b.) matematik yazılımları (Maxima, GAP, Singular, NTL, PARI/GP v.b. ) bir şemsiye altında toplayan bir matematik yazılımıdır. Matlab, Mathematica, Maple ve Magma gibi ticari matematiksel yazılımlar için özgür ve açık kod kaynaklı bir alternatiftir.

SAGE Nedir? Proje başlangıcı: Ocak 2005 ve ilk sürümü 24 Şubat 2005 (SAGE'nin en yeni sürümü 3.2.3, Ocak 2009) Lider geliştiricisi William Stein (Doçent, matematikçi, Washington Üniversitesi, temel ilgi alanı sayılar teorisi, bilgisayar bilimi bölümünden lisans dereceli) Başlarda SAGE'nin geliştirilmesi için öğrencileri istihdam etmiştir. SAGE nin geliştirmesi tüm dünyadan gönüllü çalışmalarla, bağış ve hibelerle desteklenmektedir. 2007 yılı özgür yazılım için bir uluslararası yarışması Les Trophées Du Libre'nin bilimsel yazılım bölümünü birincisi

SAGE Nedir?

SAGE Nedir?

Neden SAGE? SAGE nin kurumu oldukça kolaydır: birçok platform (Microsoft Windows, Linux ve Apple Mac OS X) için kaynak koddan ve ikili sürümleri mevcuttur. SAGE çok iyi belgelendirmeye sahiptir SAGE kurmakla, bir şemsiye altında topladığı (çoğu GPL altında) araçlar ve en iyi özgür, açık kod kaynaklı matematiksel yazılımlar da ek çaba gerektirmeden kurulmaktadır.

Neden SAGE? Üniversitelerde SAGE yi kullanarak verilen Kalkülüs, Lineer Cebir ve Soyut Cebir gibi alanlarda dersler bulunmaktadır. Matematik eğitiminde (Üniversite ve Liselerde) rahatlıkla ve kolayca kullanılabilir. Çünkü etkileşimli (interact) modu sayesinde hesapları etkileşimli ve basamak basamak sunmak mümkün.

SAGE'nin Yapısı ve Özellikleri Bu araçlar ve yazılımlar, SAGE nin güçlü komut satırı yanısıra, Grafik kullanıcı arayüzü SAGE Notebook ile web tarayıcısı üzerinden kullanılabilir. Her iki arayüz üzerinde komutlar hakkında kolaylıkla yardım alınabilir ve kodlara ulaşılabilir. Çevrim içi deneme: www.sagenb.org Komut satırından notebook() komudu ile başlatılır.

SAGE'nin Yapısı ve Özellikleri SAGE Notebook en iyi özgür, açık kod kaynaklı ve de ticari matematiksel yazılımların web tarayıcısı üzerinden rahat ve etkili kullanımını sağlar. Kullanıcılar Notebook üzerinde geliştirilen çalışmaları işlem tablosu (worksheet) üzerinden koruyabilir ve paylaşabilirler. 2B grafik ve 3B etkileşimli grafik çizimi LaTeX karakter dizimini destekler (jsmath sayesinde). Bilimsel makalelere matematiksel sembollerin aktarımı kolaylaştırır.

SAGE'nin Yapısı ve Özellikleri SAGE ile etkileşimin başrol oyuncusu: Python ve Ipython (geliştirilmiş etkileşimli Python kabuk ve etkileşimli paralel hesaplama için bir mimari) SAGE (diğer matematik yazılımlarından farklı) ile çalışmak için kullanılan programlama dili Python, güçlü ve modern bir nesne yönelimli, yorumlanabilen, birimsel (modüler) ve etkileşimli bir programlama dilidir yeni veri çeşitleri tanımlamak kolaydır. girintilere dayalı ve son derece kolay okunabilir sözdizimi, dilin öğrenilmesini ve akılda kalmasını kolaylaştırır. Birçok standart kütüphane (istatistik, matematik, fizik, biyoenformatik, 3 boyutlu grafik, ağ, veritabanı, kriptografi ve diğer bir çok uygulama alanlar için) mevcuttur.

SAGE'nin Yapısı ve Özellikleri SAGE üzerinde koşturulan bazı işlemler, arayüz sayesinde yazılımları ve kütüphaneleri otomatik olarak kullandırır. bazılarında ise kullanıcıdan açık olarak hangisinin kullanıcılığını belirtebilir. Her bir kütüphane için değişkenlerin durumu bağımsızdır ve kütüphaneler arasında nesnelerin transferi genellikle dizilere dönüşümle sağlanır. SAGE ile kullanıcılar için paylaşım ve birlikte çalışma olanağı veren wiki yazılımı Moin Moin Wiki gelmektedir. Örnek kullanım (SAGE hakkında paylaşımlar) http://wiki.sagemath.org/ Komut satırından wiki() komudu ile başlatılır.

SAGE Çalışan örnekler (Canlı gösterim) http://www.sagenb.org üzerinden kayıt olup, ücretsiz bir hesap edindikten sonra ORNEK-1, ORNEK-2, ORNEK-3 ve CYTHON anahtar kelimeleri ile arama yapılıp örnek işlem tablolarına (ORNEK-1.sws, ORNEK-2.sws, ORNEK-3.sws ve CYTHON.sws) ulaşılabilir. Bu işlem tablolaların adresleri (sisteminizde SAGE kurulu ise): http://www.sagenb.org/home/pub/259/download/ornek-1.sws http://www.sagenb.org/home/pub/260/download/ornek-2.sws http://www.sagenb.org/home/pub/261/download/ornek-3.sws http://www.sagenb.org/home/pub/262/download/cython.sws Bu işlem tablolalarının her biri (sırayla) her hücrenin üzerinde Shift + Enter tuşlarına birlikte basarak çalıştırılabilir. veya Notebook arayüzünün Action menüsünden Evalute All seçeneği seçilebilir.

SAGE Çalışan örnekler (Canlı gösterim) Hücre (cell) üzerinde çalışırkan fac ile başlayan komutların listesin almak için fac yazdıktan sonra tab tuşuna basılabilir ve sonrası istenilen komut seçilir. Örnek (Komut hakkında yardım almak) factorial? veya factorial?? komutlarından sonra Shift + Enter tuşlarına basılır. İkincisi daha detaylı yardım verir.

SAGE'nin Üniversitelerde Kullanımına Dair Öneriler SAGE var olan birçok özgür ve açık kod kaynaklı yazılımı bünyesinde toplayarak bunlara çok iyi arayüz sağlayan ve kullanımları oldukça kolay kılan bir yazılımdır. Örneğine çokta rastlanamayacak türden başarılı, destek görmekte ve gelecek vadetmektedir. Web üzerinde bir çok belgeye ulaşıyor ve kolaylıkla görüntülenebiliniyor. SAGE sayesinde bu kolaylığı etkileşim bir yapı altında Matematiksel işlemleri içinde yapar, yayınlar, sonuçları görsel yorumlar ve dersler verebilir hale gelindi. SAGE'nin kullanıcısının artması ve yaygın olarak Türkiye'de kullanılması sağlamanın yolu Üniversitelerden geçiyor.

SAGE'nin Üniversitelerde Kullanımına Dair Öneriler Bu rüzgarın Üniversitelerimizde esmesine imkan sağlamalıdır. Bunun ilk basamağı Kalkülüs, Lineer Cebir ve Türevsel Denklemler gibi derslerinde SAGE matematiksel yazılımına yer vermektir. İkinci basamağı ise gerek Üniversitelerde gerek sanayideki araştırma-geliştirme ortamlarında kullanımını arttırmaktan geçmektedir. Bunun içinde SAGE Üniversite veya kurumlarda merkezi bir bilgisayar sistemi üzerine kurulabilir.

SAGE'nin Üniversitelerde Kullanımına Dair Öneriler Böylesi bir sistem hem merkezi bir hesaplama gücünün çok kişi tarafından paylaşılması adına hem de kullanıcıların çalışmalarını yani işlem tabloları (worksheets) paylaşabilmesi adına önemlidir. Bu paylaşım SAGE ile birlikte gelen Moin Moin wiki yazılımı üzerinden yapılabilir. Ayrıca paylaşılan işlem tabloları (worksheets) için RSS beslemeler oluşturulabilir (SAGE yazılımının henüz böyle bir desteği -Moin Moin Wiki ile Notebook arasında- yoktur). Ek olarak SAGE belgeleri Türkçe'ye çevrilebilir. Buna paralel olarak Türkiye'den SAGE yazılımı geliştirilmesine katkıda bulanacak araştırmacılarımız çıkabilir.

SAGE'nin Üniversitelerde Kullanımına Dair Öneriler Araştırmalarında yüksek hesaplama gücüne ihtiyaç duyacaklar için SAGE yazılımının paralel ve dağıtık hesaplama yetenekleri kullanılabilir (SAGE'nin Cython, paralel ve dağıtık hesaplama desteği çerçevesinde). Bunun için değişik bilgisayar kümesi (örneğin bilgisayar laboratuvarlarının kullanımı) inşa yöntemleri/yazılımları mevcuttur: OSCAR (açık kod küme uygulama kaynakları) : http://svn.oscar.openclustergroup.org/trac/oscar LinuxPMI Projesi (Devam etmeyen Openmosix projesinin devamı): http://linuxpmi.org/trac Sanal Makine Bilgisayar Kümesi : http://en.wikipedia.org/wiki/computer_cluster_in_virtual_machines NOT: Bu yöntemlerin SAGE ile kullanımı üzerine çalışmalar devam ediyor, detaylarına bildiride yer verilecektir.

SAGE'nin Yapısı ve Özellikleri Cython dili Python diline oldukça benzer. Cython yardımıyla C fonksiyonları çağrılabilir ve C veri tipleri tanımlanabilir. C dili ile yazılmış modülleri Cython yardımıyla SAGE'de kullanılmaktadır. Böylece hızlı olan C modülleri sayesinde Python kodunun çalışması hızlandırılabilir.

SAGE'nin Yapısı ve Özellikleri Paralel ve dağıtık hesaplamalar için @parallel decorator sayesinde kolayca ve güvenli bir şekilde yapılmaktadır. Örnek:

Kaynakça [1] SAGE Matematik Yazılımı, http://www.sagemath.org/ [2] William Stein kişisel web sayfası, http://modular.math.washington.edu/ [3] SAGE'in en iyi özgür bilimsel yazılım ödülü hakkında, http://www.sciencedaily.com/releases/2007/12/071206145213.htm [4] Python programlama dili (Özgür ansiklopedi Wikipedia girdisi) http://tr.wikipedia.org/wiki/python_(programlama_dili) [5] SAGE indirme web sayfası, http://www.sagemath.org/download.html [6] SAGE (Özgür ansiklopedi Wikipedia girdisi), http://en.wikipedia.org/wiki/sage_(computer_algebra_system) [7] SAGE Günleri 12, http://wiki.sagemath.org/days12