配列の要素それぞれに対してまとめて演算を行うことをブロードキャスト(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 の任意の関数に対して利用することができ、非常に強力です。