Juliaに触ってみた | moskomule log

Juliaに触ってみた

我らがJupyterのJu,であるところのJupyterに触って,IPythonに相当するIJuliaを導入してJupyterから操作してみた.ちょっと触った感想は,強いR-lang.

IJuliaの導入.

Juliaは ここから導入する.ターミナルから開いて,


Package.add("IJulia")

using IJulia

notebook()

これでJupyterが起動する.あとは普段通り.

触る.

折角なので手元にあったPRMLにあった,一様乱数からガウス分布を得るBox-Muller法によって得られる分布をプロットする.以下ではプロットツールのGadflyを用いている.

using Gadfly
set_default_plot_size(10cm,10cm);
# Box-Muller法
function box_muller(num)

    x = [] 
    y = [] 
    for i = 0:num 
        a = rand() 
        b = rand() 
        η = 2a -1 #1
        ζ = 2b -1
        r2 = η ^ 2 + ζ ^ 2
        if (r2) <= 1
            x = push!(x, η  * √(-2 * log(r2) / r2)) #2
            y = push!(y, ζ  * √(-2 * log(r2) / r2))
        else
            skip
        end
    end
    return (x, y) 
end 
(x,y) = box_muller(10000) 
plot(x=x,y=y)

#1,#2に示したように,Juliaでは\eta,\zetaと入力してタブを押すと ‘η,ζ’ と補完されて変数として用いることが出来る.また,’\sqrt’は’√’になってそのままsqrtとして使用できる.数学よりのことをするときには数式に与えられている変数と一致させられて便利かもしれないし,何より面白い.

PythonとScalaで満足しているし,情報も少ないのでいまのところ使う当てはないけれど,少し触った感じは軽快でよいし,プログラムをよく書く人にはRよりは取っつきやすいのかもしれない

comments powered by Disqus