Source: http://www.mapageweb.umontreal.ca/ferbeyre/files/lectures/GF5.20.pdf