 Computer Physics Communications Program Library Programs in Physics & Physical Chemistry [Licence| Download | New Version Template] adhi_v1_0.gz(8 Kbytes) Manuscript Title: Angle decomposition of matrices. Authors: W.S. Verwoerd, V. Nolting Program title: adum.f Catalogue identifier: ADHI_v1_0Distribution format: gz Journal reference: Comput. Phys. Commun. 108(1998)218 Programming language: Fortran. Operating system: AIX, DOS, Windows NT. Keywords: General purpose, Matrix factorisation, Unitary matrix angle, Decomposition, Matrix, Interpolation, Linear algebra, Algorithm. Classification: 4.8, 4.10. Nature of problem:The algorithm can be applied to any problem where a unitary matrix M is evaluated as a function of an external parameter. It can be generalized to a hermitian or generally complex matrix A of which this dependence is further transmitted to the eigenvector matrix M of A. Solution method:An arbitrary N x N unitary matrix M is decomposed into 1/2N(N-1) factor matrices. Each factor matrix has the form of an N x N unit matrix except for a 2 x 2 complex rotation submatrix located at an appropriate poeition on the diagonal. The factor matrices each contain a rotation angle and between 0 and 3 phase angles, adding up to a total of N**2 independent real angles. This can be summarized into an N x N real angle matrix Gamma containing the same information as the unitary matrix M. Gamma can be more easily interpolated as a function of the external parameter than A. From Gamma the original matrix A at the interpolated parameter value can be recomposed in a way that guarantees its fundamental matrix properties by construction. Restrictions:The present version of the program is designed to function as a subroutine within any suitable FORTRAN 77 code. Input is the user provided N x N unitary matrix M; output is the N x N real angle matrix Gamma. Code is provided for both the decomposition of M into Gamma, and the recomposition of M from a given Gamma. For dimensions up to N = 10 accuracies of the order of 10**-13 are achieved. Unusual features:Three subroutines from Numerical Recipes are incorporated into the program to solve the system of linear equations A . x = B. If necessary, e.g. for larger dimensions, these routines may be replaced by more powerful library equivalents from e.g. NAG, IMSL, etc. Running time:A fraction of a CPU-second for a single application. Even in selfconsistent calculations where in each iteration step a whole set of matrices have to be factorized the factorization itself does not unreasonably prolong the computing time.
 Disclaimer | ScienceDirect | CPC Journal | CPC | QUB