This site hosts a set of routines for the eigenvalue decomposition, singular value decomposition, and Takagi factorization of a complex matrix. Unlike many other implementations, the current ones are all based on the Jacobi algorithm, which makes the code very compact but suitable only for small to medium-sized problems.
Although distributed as a library, the routines are self-contained and can easily be taken out of the library and included in own code, removing yet another installation prerequisite. Owing to the small size of the routines it is possible, in fact quite straightforward, to adapt the diagonalization routine to one's own conventions rather than vice versa.
The following routines are included:
The routines have been published in physics/0607103.
You can download the following files:
To install the package, unpack the archive, change into the newly created directory Diag-n.m and type ./configure, make, and make install there. See also the README file for more detailed instructions.
A PDF file with the manual is contained in the distribution. It can also be downloaded directly: manual.pdf [117 kB, MD5: d935d2ef9528abd72b02eab52a8dcb08].
Thanks for looking in.
Please send bug reports, suggestions, fan mail, etc. to Thomas Hahn, firstname.lastname@example.org.
This site and the programs offered here are not commercial. The Diag package is and will stay an open-source package and free of charge. If you want to use these routines in a commercial application, make sure you understand the GNU Lesser General Public License under which Diag is distributed. Diag is being developed at the Max-Planck-Institute for Physics in Munich.
Last update: 3 Nov 15 Thomas Hahn