Source: https://people.math.ethz.ch/~salamon/PREPRINTS/difftop.pdf