行列とは
行列とは、行と列に並んだデータのことです。
# 行列 1 4 2 5 3 6
上記は、3行2列の行列です。
列優先行列と行優先行列
プログラムで行列を表現する場合は、データは配列で持ちます。列方向に対してデータを並べる行列の表現方法を列優先の行列、行方向に対してデータを並べる行列の表現方法を行優先の行列といいます。
# 列優先の行列表現
my $mat_column_major = {
rows_length => 3,
columns_length => 2,
values => [1, 2, 3, 4, 5, 6],
};
# 行優先の行列表現
my $mat_row_major = {
rows_length => 3,
columns_length => 2,
values => [1, 4, 2, 5, 3, 6],
};
ディープラーニング入門では、列優先の行列表現を使います。これは、後でC言語やcuda/GPUを使って行列計算を高速化する場合に、行列計算のBLASライブラリを呼び出しやすくするためです。
Perl AI深層学習入門