Source: http://agl.cs.unm.edu/~forrest/dissertations/kenneth-ingham-dissertation.pdf