行列とは
行列とは、行と列に並んだデータのことです。
# 行列 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ライブラリを呼び出しやすくするためです。