2025-06-11 at

Indexing Conventions : Matrices and Cartesian Coordinates are Transverse : pre-amble to "column-" and "row-" major terminology

As always, the terminological conventions of math, have nothing to do with math. I almost never bother to remember which is left and right.

 1.

The convention in matrix ordering is (y,x) which is transverse to Cartesian conventions of (x,y). Definitely learnt this in school, but never used matrices for years, so didn't remember it. Now that memory-layouts are a thing, and I'm building a programming language for knowledge management, I shall need to bear it in mind.

2.

This terminology of matrix ordering carries into computer programming conventions, whereby

handle-index-index is interpreted as handle-y-x i.e. handle-rows-columns

3.

Subsequently, the terms row-major order and column-major order can be interpreted only under this assumption

row-major ordering is where the data for handle-*rows*-columns is stored together in memory, as is the case for languages : C / C++ 

whereas,

column-major ordering is where the data for handle-rows-*columns* is stored together in memory, as is the case for languages : FORTRAN, Julia, R

3b.

As a further consideration, the use of Iliffe vectors and linked-lists, as in the simplest data structures of many high-level programming languages like Erlang, Pyhon, and Javascript is not relevant by this concept.

 


No comments :

Post a Comment