Source: https://homepages.warwick.ac.uk/~ecsgaj/matrixAlgSlidesC.pdf