ffsim.random.random_hermitian

ffsim.random.random_hermitian(dim, *, seed=None, dtype=<class 'complex'>)[source]

Return a random Hermitian matrix from the Gaussian unitary ensemble.

The Gaussian unitary ensemble (GUE) is the canonical distribution over Hermitian matrices: it is the unique Gaussian distribution invariant under conjugation by a unitary matrix. The entries satisfy E[H[i, i] ** 2] = E[abs(H[i, j]) ** 2] = 1, so the eigenvalues follow the semicircle law on [-2 * sqrt(dim), 2 * sqrt(dim)].

Parameters:
  • dim (int) – The width and height of the matrix.

  • seed – A seed to initialize the pseudorandom number generator. Should be a valid input to np.random.default_rng.

  • dtype – The data type to use for the result.

Return type:

ndarray

Returns:

The sampled Hermitian matrix.

References