Source: https://users.clas.ufl.edu/hager/papers/CG/lcg.pdf