rand.random_ginibre

Generates a Ginibre random matrix.

Functions

random_ginibre(dim_n, dim_m[, seed])

Generate a Ginibre random matrix [1].

Module Contents

rand.random_ginibre.random_ginibre(dim_n, dim_m, seed=None)

Generate a Ginibre random matrix [1].

Generates a random dim_n-by-dim_m Ginibre matrix.

A Ginibre random matrix is a matrix with independent and identically distributed complex standard Gaussian entries.

Ginibre random matrices are used in the construction of Wishart-random POVMs [2].

Examples

Generate a random \(2\)-by-\(2\) Ginibre random matrix.

>>> from toqito.rand import random_ginibre
>>> random_ginibre(2, 2) 
array([[0.39166472-1.54657971j, 0.36538245+0.23324642j],
       [0.50103695-0.25857737j, 0.8357054 +0.31404353j]])

It is also possible to pass a seed to this function for reproducibility.

>>> from toqito.rand import random_ginibre
>>> random_ginibre(2, 2, seed=42)
array([[ 0.21546751-1.37959021j, -0.73537981-0.92077996j],
       [ 0.53064913+0.09039682j,  0.66507969-0.22361728j]])

References

[1] (1,2)

Wikipedia. Circular law. URL: https://en.wikipedia.org/wiki/Circular_law.

[2]

Teiko Heinosaari, Maria Anastasia Jivulescu, and Ion Nechita. Random positive operator valued measures. Journal of Mathematical Physics, Apr 2020. URL: http://dx.doi.org/10.1063/1.5131028, doi:10.1063/1.5131028.

Parameters:
  • dim_n (int) – The number of rows of the Ginibre random matrix.

  • dim_m (int) – The number of columns of the Ginibre random matrix.

  • seed (int | None) – A seed used to instantiate numpy’s random number generator.

Returns:

A dim_n-by-dim_m Ginibre random density matrix.

Return type:

numpy.ndarray