Source: https://www.math.univ-toulouse.fr/~jmilles/download/cours_alg_bilin_gris.pdf