参考: Wikipedia: Row-major_order
行列を配列に格納するときにどのような順番に格納するかとしてRow-major orderとColumn-major orderの2種類があります。
たとえばこのような行列があったとき
Column-major orderとRow-major orderではそれぞれ以下のように配列に格納されます。
Address | Column-major order | Row-major order |
---|---|---|
0 | ||
1 | ||
2 | ||
3 | ||
4 | ||
5 |
Row-major order は C/C++/Objective-C (for C-style arrays), Mathematica, PL/I, Pascal, Speakeasy, SAS, and C#/CLI/.Net などで使われています。
Column-major order は Fortran, OpenGL and OpenGL ES, MATLAB, GNU Octave, S-Plus, R, Julia, Rasdaman, Scilab などで使われています。
並び順の異なる行列ライブラリ間でデータをやりとりする場合等は、気をつけましょう。