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}\]