Abstract
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.
Original language | English |
---|---|
Pages (from-to) | 640-651 |
Number of pages | 11 |
Journal | BIT Numerical Mathematics |
Volume | 40 |
Issue number | 4 |
Publication status | Published - Dec 2000 |
Keywords
- Bendel-Mickey algorithm
- Eigenvalues
- Forward error bounds
- IMSL
- Jacobi method
- NAG library
- Random correlation matrix
- Relative error bounds
- Singular value decomposition
- Test matrices