Source: https://www.epfl.ch/labs/lifmet/wp-content/uploads/2018/08/g_gr_gruetter_www_vectors_Vecteurs_Exercices.pdf