Source: https://www.math.univ-toulouse.fr/~calvi/NumericalAnalysis/JPC_NA_0_8_2.pdf