Further information on the algorithms described in this section can be found in the following book,
Further information on the generalized eigensystems QZ algorithm can be found in this paper,
Eigensystem routines for very large matrices can be found in the Fortran library lapack. The lapack library is described in,
The lapack source code can be found at the website above along with an online copy of the users guide.