Source: http://eavr.u-strasbg.fr/~laroche/student/MasterISTI/PresComOpt.pdf