Source: https://iramis.cea.fr/spec/GIT/FTP/2_Matrices_et_operations_de_base.pdf