ジュリアでインデックスを使用してベクトルと行列を交換するためのトリック
コード
Juliaで見た目は同じに見えるベクトル $\mathbf{x} \in \mathbb{R}^{n}$ と行列 $A \in \mathbb{R}^{n \times 1}$ の型を簡潔に切り替える方法を紹介する1. ベクトルを作る関数 vec と行列にする関数 Matrix を見事に置き換えられる。
julia> x = rand(3)
3-element Vector{Float64}:
0.7442995832650368
0.8715261955707428
0.3513679030410609
julia> A = rand(3, 1)
3×1 Matrix{Float64}:
0.20615245161740703
0.19079463624599347
0.6776521393838526
例えば上のように $\mathbf{x} \in \mathbb{R}^{3}$ と $A \in \mathbb{R}^{3 \times 1}$ があるとしよう。言葉は不要で、単に例を見れば良い。
ベクトルから行列へ x[:,:]
julia> x[:,:]
3×1 Matrix{Float64}:
0.7442995832650368
0.8715261955707428
0.3513679030410609
行列からベクトルへ A[:]
julia> A[:]
3-element Vector{Float64}:
0.20615245161740703
0.19079463624599347
0.6776521393838526
