Numerically Stable Generation of Correlation Matrices and Their Factors

Correlation matrices—symmetric positive semidefinite matrices with unit diagonal—are important in statistics and in numerical linear algebra. For simulation and testing it is desirable to be able to generate random correlation matrices with specified eigenvalues (which must be nonnegative and sum to the dimension of the matrix). A popular algorithm of Bendel and Mickey takes a matrix having the specified eigenvalues and uses a finite sequence of Givens rotations to introduce 1s on the diagonal. We give improved formulae for computing the rotations and prove that the resulting algorithm is numerically stable. We show by example that the formulae originally proposed, which are used in certain existing Fortran implementations, can lead to serious instability. We also show how to modify the algorithm to generate a rectangular matrix with columns of unit 2-norm. Such a matrix represents a correlation matrix in factored form, which can be preferable to representing the matrix itself, for example when the correlation matrix is nearly singular to working precision.

[1]  G. Forsythe,et al.  On best conditioned matrices , 1955 .

[2]  P. Fillmore,et al.  On Similarity and the Diagonal of a Matrix , 1969 .

[3]  A. Sluis Condition numbers and equilibration of matrices , 1969 .

[4]  M. R. Mickey,et al.  Population correlation matrices for sampling experiments , 1978 .

[5]  G. Stewart The Efficient Generation of Random Orthogonal Matrices with an Application to Condition Estimators , 1980 .

[6]  N. N. Chan,et al.  Diagonal elements and eigenvalues of a real symmetric matrix , 1983 .

[7]  Gene H. Golub,et al.  Matrix computations , 1983 .

[8]  I. Olkin,et al.  Generating Correlation Matrices , 1984 .

[9]  Charles R. Johnson,et al.  Matrix analysis , 1985, Statistical Inference for Engineers and Data Scientists.

[10]  Shang P. Lin,et al.  Generation of Population Correlation Matrices with Specified Eigenvalues , 1985 .

[11]  F. Trench,et al.  Numerical solution of the eigenvalue problem for Hermitian Toeplitz matrices , 1989 .

[12]  J. Demmel,et al.  On Floating Point Errors in Cholesky , 1989 .

[13]  Mei Han An,et al.  accuracy and stability of numerical algorithms , 1991 .

[14]  Charles R. Johnson,et al.  Topics in Matrix Analysis , 1991 .

[15]  R. Holmes On random correlation matrices , 1991 .

[16]  James Demmel,et al.  Jacobi's Method is More Accurate than QR , 1989, SIAM J. Matrix Anal. Appl..

[17]  Richard Barrett,et al.  Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods , 1994, Other Titles in Applied Mathematics.

[18]  Hongyuan Zha,et al.  A note on constructing a symmetric matrix with specified diagonal entries and eigenvalues , 1995 .

[19]  Roy Mathias Accurate Eigensystem Computations by Jacobi Methods , 1995, SIAM J. Matrix Anal. Appl..

[20]  Gene H. Golub,et al.  Matrix computations (3rd ed.) , 1996 .

[21]  Gene H. Golub,et al.  Matrix Computations, Third Edition , 1996 .

[22]  Anne Greenbaum,et al.  Iterative methods for solving linear systems , 1997, Frontiers in applied mathematics.

[23]  Z. Drmač Accurate Computation of the Product-Induced Singular Value Decomposition with Applications , 1998 .

[24]  Khakim D. Ikramov A remark on “a note on constructing a symmetric matrix with specified diagonal entries and eigenvalues” , 1998 .

[25]  Z. Drmač A Tangent Algorithm for Computing the Generalized Singular Value Decomposition , 1998 .

[26]  Carlos Tomei,et al.  Geometric proofs of some theorems of Schur-Horn type , 1999 .