Haar
The Haar distribution is the uniform distribution over the space of real or
complex unitary matrices.
C++ API
-
void
Haar
(Matrix<F> &A, Int n)
-
void
Haar
(DistMatrix<F> &A, Int n)
Draws A
from the Haar distribution. The current scheme performs a QR
factorization of a Gaussian matrix, but Stewart introduced a well-known
scheme which only requires quadratic work for the implicit representation
as a product of random Householder reflectors.
-
void
ImplicitHaar
(Matrix<F> &A, Matrix<F> &t, Int n)
-
void
ImplicitHaar
(DistMatrix<F> &A, DistMatrix<F, MD, STAR> &t, Int n)
Sets A
to a set of Householder reflectors with the same structure as
the result of a QR decomposition. The product of these reflectors is a
sample from the Haar distribution.
C API
-
ElError
ElHaar_s
(ElMatrix_s A, ElInt n)
-
ElError
ElHaar_d
(ElMatrix_d A, ElInt n)
-
ElError
ElHaar_c
(ElMatrix_c A, ElInt n)
-
ElError
ElHaar_z
(ElMatrix_z A, ElInt n)
-
ElError
ElHaarDist_s
(ElDistMatrix_s A, ElInt n)
-
ElError
ElHaarDist_d
(ElDistMatrix_d A, ElInt n)
-
ElError
ElHaarDist_c
(ElDistMatrix_c A, ElInt n)
-
ElError
ElHaarDist_z
(ElDistMatrix_z A, ElInt n)
-
ElError
ElImplicitHaar_s
(ElMatrix_s A, ElMatrix_s t, ElMatrix_s d, ElInt n)
-
ElError
ElImplicitHaar_d
(ElMatrix_d A, ElMatrix_d t, ElMatrix_d d, ElInt n)
-
ElError
ElImplicitHaar_c
(ElMatrix_c A, ElMatrix_c t, ElMatrix_s d, ElInt n)
-
ElError
ElImplicitHaar_z
(ElMatrix_z A, ElMatrix_z t, ElMatrix_d d, ElInt n)
-
ElError
ElImplicitHaarDist_s
(ElDistMatrix_s A, ElDistMatrix_s t, ElDistMatrix_s d, ElInt n)
-
ElError
ElImplicitHaarDist_d
(ElDistMatrix_d A, ElDistMatrix_d t, ElDistMatrix_d d, ElInt n)
-
ElError
ElImplicitHaarDist_c
(ElDistMatrix_c A, ElDistMatrix_c t, ElDistMatrix_s d, ElInt n)
-
ElError
ElImplicitHaarDist_z
(ElDistMatrix_z A, ElDistMatrix_z t, ElDistMatrix_d d, ElInt n)
Python API
-
Haar
(A, n)
-
ImplicitHaar
(A, t, d, n)