Source: https://documents.epfl.ch/groups/l/la/lastro-unit/www/PhysGenI/cours/physmathf03large.pdf