BosonSampling.A_mat — MethodA_mat(V::Matrix)Return the matrix $A$ defined from the Wigner covariance matrix $V$.
BosonSampling.X_mat — MethodX_mat(n::Int)Returns the $X$ matrix of dimension 2n defined as
\[X = egin{pmatrix} 0_n & I_n \ -I_n & 0_n nd{pmatrix}\]
BosonSampling.direct_sum — Methoddirect_sum(A::Matrix, B::Matrix)Performs the matrix direct sum between A and B.
BosonSampling.fourier_matrix — Methodfourier_matrix(n::Int; normalized=true)Returns a $n$-by-$n$ Fourier matrix with optional normalization (true by default).
BosonSampling.gram_matrix_one_param — Methodgram_matrix_one_param(n::Int, x::Real)Returns a $n$-by-$n$ Gram matrix parametrized by the real $0 ≤ x ≦ 1$.
BosonSampling.hadamard_matrix — Functionhadamard_matrix(n::Int; normalized=true)Returns a $n$-by-$n$ Hadamard matrix with optional normalization (true by default).
BosonSampling.husimiQ_matrix — MethodhusimiQ_matrix(V::Matrix)Returns the complex-valued covariance of the state's Husimi Q-function.
BosonSampling.perturbed_gram_matrix — Methodperturbed_gram_matrix(M, epsilon)Returns a Gram matrix generated by the columns of M which are perturbed by a Gaussian quantity of variance epsilon once normalized.
BosonSampling.perturbed_unitary — Methodperturbed_unitary(U, epsilon)Returns a unitary matrix whose columns are generating vector perturbed by a random Gaussian quantity with variance epsilon once normalized.
BosonSampling.rand_gram_matrix — Methodrand_gram_matrix(n::Int)Returns a full rank $n$-by-$n$ random Gram matrix.
BosonSampling.rand_gram_matrix_from_orthonormal_basis — Methodrand_gram_matrix_from_orthonormal_basis(n::Int, r::Int)Returns a $n$-by-$n$ random Gram matrix that generates orthonormal basis of r vectors.
BosonSampling.rand_gram_matrix_positive — Methodrand_gram_matrix_positive(n::Int)Returns a positive elements $n$-by-$n$ random Gram matrix of full rank.
BosonSampling.rand_gram_matrix_rank — Methodrand_gram_matrix_rank(n::Int, r::Int)Returns a $n$-by-$n$ random Gram matrix of maximum rank and great likelihood r.
BosonSampling.rand_gram_matrix_real — Methodrand_gram_matrix_real(n::Int)Returns a real $n$-by-$n$ random Gram matrix of full rank.
BosonSampling.rand_haar — Methodrand_haar(n::Int)Returns a $n$-by-$n$ Haar distributed unitary matrix following https://case.edu/artsci/math/esmeckes/MeckesSAMSILecture2.pdf.
BosonSampling.sylvester_matrix — Methodsylvester_matrix(p::Int; normalized=true)Returns a $2^p$-by-$2^p$ Sylvester matrix with optional normalization (true by default) following https://arxiv.org/abs/1502.06372.
BosonSampling.symplectic_mat — Methodsymplectic_mat(n::Int)Returns the symplectic matrix $J$ of dimension 2n:
\[J = egin{pmatrix} 0_n & I_n \ -I_n & 0_n nd{pmatrix}\]