BIT Numerical Mathematics

, Volume 40, Issue 4, pp 640–651

Numerically Stable Generation of Correlation Matrices and Their Factors

  • Philip I. Davies
  • Nicholas J. Higham

DOI: 10.1023/A:1022384216930

Cite this article as:
Davies, P.I. & Higham, N.J. BIT Numerical Mathematics (2000) 40: 640. doi:10.1023/A:1022384216930


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.

Random correlation matrix Bendel-Mickey algorithm eigenvalues singular value decomposition test matrices forward error bounds relative error bounds IMSL NAG Library Jacobi method 

Copyright information

© Swets & Zeitlinger 2000

Authors and Affiliations

  • Philip I. Davies
    • 1
  • Nicholas J. Higham
    • 2
  1. 1.Department of MathematicsUniversity of ManchesterManchesterEngland
  2. 2.Department of MathematicsUniversity of ManchesterManchesterEngland

Personalised recommendations