GLM bzw. OpenGL und Mathematica
Folgendes C++ - Programm (das die GLM-Bibliothek von OpenGL benutzt für Matrix-Berechnungen) ...



...ergibt folgenden Output:



Wenn man nun, zwecks Fehlersuche im C++ - Programm, auf die Idee kommt, diese Rechnung mit Mathematica nachzuvollziehen, dann gelangt man nur dann zum richtigen Resultat, wenn man die Reihenfolge der Matrix-Multiplikation gegenüber dem C++ - Programm umstellt:



Der Grund für dieses unterschiedliche Verhalten liegt darin, dass OpenGL - Matrizen und GLM - Matrizen in "spaltenweiser Anordnung" (Column-major order) gespeichert werden. Mathematica-Matrizen werden dagegen in "zeilenweiser Anordnung" (Row-major order) im Speicher abgelegt.

Der Unterschied zwischen diesen beiden Speicherformaten für Matrizen wird im folgenden Wikipedia-Artikel sehr anschaulich erklärt:
https://en.wikipedia.org/wiki/Row-_and_column-major_order