Random Operators and Superoperators

A module for generating random quantum states and processes.

Random Complex Matrix

ginibre_matrix_complex(dim, k, rs) Given a scalars dim and k, returns a dim by k matrix, drawn from the complex Ginibre ensemble [IM].

Random States

haar_rand_state(dim) Given a Hilbert space dimension dim this function returns a vector representing a random pure state operator drawn from the Haar measure.
ginibre_state_matrix(dim, rank) Given a Hilbert space dimension dim and a desired rank K, returns a dim by dim positive semidefinite matrix of rank K drawn from the Ginibre ensemble.
bures_measure_state_matrix(dim) Given a Hilbert space dimension dim, returns a dim by dim positive semidefinite matrix drawn from the Bures measure [OSZ].

Random Processes

haar_rand_unitary(dim[, rs]) Given a Hilbert space dimension dim this function returns a unitary operator U ∈ C^(dim by dim) drawn from the Haar measure [MEZ].
rand_map_with_BCSZ_dist(dim, kraus_rank) Given a Hilbert space dimension dim and a Kraus rank K, returns a dim^2 by dim^2 Choi matrix J(Λ) of a channel drawn from the BCSZ distribution with Kraus rank K [RQO].