行列とは

行列とは、行と列に並んだデータのことです。

# 行列
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ライブラリを呼び出しやすくするためです。

関連情報