Source: https://www.math.ucla.edu/~honda/math520/notes.pdf