Source: https://helios.mi.parisdescartes.fr/~gk/EDP/cours_edp09.pdf