Source: https://www.gerad.ca/Sebastien.Le.Digabel/MTH1007/3_factorisationLU.pdf