View on GitHub

julia-doc

Julia入門

ブロードキャスト

配列の要素それぞれに対してまとめて演算を行うことをブロードキャスト(broadcast)といいます。例えば、以下のような演算を考えます。

julia> A = [ 2.0, 3.0, 1.0 ]
julia> b = 10.0
julia> c = 1.0

julia> f(a) = (-b+sqrt(b^2-4 * a * c)) / (2 * a)
f (generic function with 1 method)

julia> f(A[1])
-0.10208423834364044

julia> f(A[2])
-0.10319474672552342
 
julia> f(A[3])
-0.10102051443364424

配列 A の各要素を関数fの引数として与えています。このような場合、ブロードキャスト演算を表すドット(.)を用いると以下のように簡単に書けます。

julia> f.(A)
3-element Vector{Float64}:
 -0.10208423834364044
 -0.10319474672552342
 -0.10102051443364424

この方法は Julia の任意の関数に対して利用することができ、非常に強力です。