Source: https://www.ceremade.dauphine.fr/~turinici/enseignement/2008_2009/algebre_lineaire3/poly_td_ex2008_2009.pdf