Akademisyenler öncülüğünde matematik/fizik/bilgisayar bilimleri soru cevap platformu
3 beğenilme 0 beğenilmeme
844 kez görüntülendi
Julia öğrenmek istiyorum. Julia programını nasıl kurabilirim? Nereden başlamalıyım? Temel kaynaklar nelerdir?
Veri Bilimi kategorisinde (11.5k puan) tarafından  | 844 kez görüntülendi
Bu soruya bir de "Julia ile bir pure matematikçi ne yapabilir" sorusunu ekleyebilir miyim?
Hay hay tabii ki de. Ben kendi açımdan soruna şöyle bir yanıt verebilirim. Biz genel topolojide açık küme kavramından daha genel kavramlar olan bazı açık küme türleri ile çalışıyoruz. Alfa-açık küme, önaçık küme, yarıaçık küme, b-açık küme, beta-açık küme vs. gibi. Bu kümeleri tek tek tespit etmek çok zaman alıyor. Ama bir programda birkaç kod yazmak suretiyle bu işleri çok kısa sürede yapabiliyoruz. Mesela Python'da yazılan bir programla $5$ elemanlı bir küme üzerinde yazılabilecek tüm topoloji bulan programı çalıştırdığımızda bilgisayar bu işi (bizim bilgisayarımızla) 2 saatte bitirebiliyor. Ancak @eloi'den aldığım bilgiye göre Julia Python'dan 700 kat daha hızlı. Bu ise işimizi daha kısa sürede bitirmemize yardımcı oluyor. Dolayısıyla bazı sonuçlara Julia programı yardımı ile daha hızlı ulaşabiliriz. Bu bizim için önemli. Diğer pür matematikçiler nasıl faydalanır bilemiyorum.

2 Cevaplar

4 beğenilme 0 beğenilmeme

Julia benim son günlerde takip ettiğim en tatlı dil. MIT de matlab ve python dan sıkılan bir grup tarafından yazılmış bu dil ve gerçekten üzerine düşünülmüş bir dil.

Şu siteden indirebilirsiniz. Gene aynı sitede çeşitli tutoriallar bulunmakta. Aynı zamanda youtube kanalı da güzel. Ama çok hızlı bir başlangıç için şu siteye göz atabilirsiniz.

C dili derlenen(compiled) bir dildir. Hızının sebeplerinden biri budur. Python ise yorumlanan (interpretted) bir dildir. Julia ise "just in time compiled" bir dildir. Yazdıgınız her fonksiyon ilk çağrılışında derlenir daha sonraki çağırılışlarında ise daha önce derlenmiş  olan kod parçacığı kullanılır. Bu nedenle fonksiyonu ilk çağırışınızda biraz yavaş çalışır ama gelecek çağırılışlarda C ile yarışabilen hızlarda çalışır. 

İçinde bir çok matematiksel fonksiyonla birlikte gelir. Lineer Cebir apmak için ekstra bi paket indirmenize gerek yoktur mesela. Fizikçilerin tabiri ile "bra" ve "ket" ayrımı bile yapıyor bu dil .

Sentaks olarak python ile matlab arasında bir yerde diyebilirim. Her iki dilden farklı olarak lisp ailesi gibi homoikonik bir dildir (yani dilin sentaks ağacına dilin içindeyken erişiminiz vardır [çok beyin yakan işler yapabilirsiniz bu sayede]). Pür matematikçilerin hoşuna gidebilecek çeşitli paketler bulunmakta (mesela şöye bir paket buldum ). Uygulamalı matematikçiler için matlab ve python/numpy gibi dillerden sonra cennet gibi gelebilir julia (valla para vermiyorlar reklam yapayım diye). Tüm paket listesine buradan erişebilirsiniz.

Ülkemizden de bu dile büyük katkılarda bulunuluyor. Koç Üniversitesinden Prof. Dr. Deniz Yüret juliada çok sık kullanılan bir derin öğrenme paketi yazmıştır.  

Bu dilde aynı zamanda $\LaTeX$ ifadeleri de kullanabilirsiniz. Mesela bir degerin bir dizide olup olmadıgını kontrol etmek için $\in$ ifadesini kullabilirsiniz. Dildeki değişkenleri türkçe olarak da adlandırabilirsiniz.

Küçük bir tad vermek adına iki fonksiyon tanımlayalım bu dilde.

function fibonacci(x)
    if x<2
        1
    else
        fibonacci(x-1) + fibonacci(x-2)
    end
end

f(x) = x^2

sayılar = [1 2 3 4 5 6 7 8 9 10]

f(2) # 4 gelecek
f.(sayılar) # sayılar dizisindeki her sayının karesi gelecek

 

(1.6k puan) tarafından 
"MIT de matlab ve python dan sıkılan bir grup tarafından yazılmış"

 

lükse bak dedirtecek cinsten..
1 beğenilme 0 beğenilmeme
https://twitter.com/aureliengeron/status/1277714332155916289 pythonun üzerine julia için  baktığım ilk kaynak.Hafif bir başlangıç
(20 puan) tarafından 
20,282 soru
21,819 cevap
73,497 yorum
2,511,081 kullanıcı