Порядок в столбце-мажоре кажется более естественным. Например, предположим, что если вы хотите сохранить фильм в файл картинка за картинкой, то вы используете порядок столбцов, и это очень интуитивно понятно, и никто не будет сохранять его в порядке расположения строк.
Если вы программист на C / C ++, вы должны использовать некоторые библиотеки более высокого уровня для матриц (Eigen, Armadillo, ...) с порядком старших по умолчанию столбцов. Только маньяк будет использовать необработанные указатели C с порядком основной строки, хотя C / C ++ предлагает нечто, напоминающее индексирование матрицы.
Для простоты все с порядком мажорных строк следует считать как минимум странно сформированным. Срез за срезом - это просто естественный порядок, и он означает порядок столбцов (например, Fortran). У наших отцов / матерей были очень веские причины, по которым они выбрали именно это.
К сожалению, до того, как стало ясно, несколько интересных библиотек были созданы в порядке следования строк, вероятно, из-за недостатка опыта.
Чтобы уточнить, напомним определение порядка основной строки, где правый индекс изменяется быстрее за один шаг в памяти, например, A (x, y, z) это z-индекс, это означает, что в памяти пиксели из разных срезов смежны, что мы бы не хотели не хочу Для фильма A (x, y, t) последний индекс - время t. Нетрудно представить, что просто невозможно сохранить фильм в режиме мажорной строки.