Source: https://www.math.u-bordeaux.fr/~labessie/r%C3%A9sum%C3%A9_cours_alg_bilin_2017.pdf