Source: http://mitran-lab.amath.unc.edu/courses/MATH762/bibliography/LinTextBook/chap6.pdf