BosonSampling.Partition — TypePartition(subsets::Vector{Subset})Create a partition from multiple Subset.
BosonSampling.PartitionOccupancy — TypePartitionOccupancy(counts::ModeOccupation, n::Int, partition::Partition)Fields: - counts::ModeOccupation - partition::Partition - n::Int - m::Int
BosonSampling.Subset — TypeSubset(state::Vector{Int})Create a mode occupation list with at most one count per mode.
Fields:
- n::Int
- m::Int
- subset::Vector{Int}BosonSampling.equilibrated_partition — Methodequilibrated_partition(m,n_subsets)Returns a most equilibratedpartition according to the principles of [`equilibratedpartition_vector`](@ref).
BosonSampling.equilibrated_partition_vector — Methodequilibrated_partition_vector(m,n_subsets)Returns a (most) equilibrated partition possible by euclidian division.
(a problem is that euclidian distribution may give nsubsets or nsubsets+1 if not done like below - here it is the most obvious thing I could think of to get a somewhat equilibrated partition with a constant number of subsets)
BosonSampling.occupies_all_modes — Methodoccupies_all_modes(part::Partition)Check wether a partition occupies all modes or not.
BosonSampling.partition_from_subset_lengths — Methodpartition_from_subset_lengths(subset_lengths)Return a partition from a vector of subset lengths.