Hermitian uniform spectrum

These routines sample a diagonal matrix from the specified interval of the real line, \((\text{lower},\text{upper}]\), and then perform a similarity transformation using a random Householder transform.

C++ API

void HermitianUniformSpectrum(Matrix<F> &A, Int n, Base<F> lower = 0, Base<F> upper = 1)
void HermitianUniformSpectrum(ElementalMatrix<F> &A, Int n, Base<F> lower = 0, Base<F> upper = 1)

C API

ElError ElHermitianUniformSpectrum_s(ElMatrix_s A, ElInt n, float lower, float upper)
ElError ElHermitianUniformSpectrum_d(ElMatrix_d A, ElInt n, double lower, double upper)
ElError ElHermitianUniformSpectrum_c(ElMatrix_c A, ElInt n, float lower, float upper)
ElError ElHermitianUniformSpectrum_z(ElMatrix_z A, ElInt n, double lower, double upper)
ElError ElHermitianUniformSpectrumDist_s(ElDistMatrix_s A, ElInt n, float lower, float upper)
ElError ElHermitianUniformSpectrumDist_d(ElDistMatrix_d A, ElInt n, double lower, double upper)
ElError ElHermitianUniformSpectrumDist_c(ElDistMatrix_c A, ElInt n, float lower, float upper)
ElError ElHermitianUniformSpectrumDist_z(ElDistMatrix_z A, ElInt n, double lower, double upper)

Python API

HermitianUniformSpectrum(A, n, lower=0, upper=1)