BosonSampling.H_matrix
— MethodH_matrix(U, input_state, partition_occupancy_vector)
H_matrix(interf::Interferometer, i::Input, o::FockDetection)
H_matrix(interf::Interferometer, i::Input, subset_modes::ModeOccupation)
H matrix for a partition defined by partition_occupancy_vector
, see definition in the article below.
Conventions follow the author's Boson bunching is not maximized by indistinguishable particles which are the ones compatible with Tichy's conventions (Shshnovitch has a different one for the evolution of the creation operators).
BosonSampling.bunching_probability_brute_force_bosonic
— Methodbunching_probability_brute_force_bosonic(U, input_state, output_state; print_output = false)
bunching_probability_brute_force_bosonic(interf::Interferometer, i::Input, subset_modes::ModeOccupation)
Bosonic bunching probability by direct summation of all possible cases
bunching_event_proba
gives the probability to get the event of $[1^n 0^(m-n)]$.
BosonSampling.full_bunching_probability
— Methodfull_bunching_probability(interf::Interferometer, i::Input, subset_modes::Subset)
full_bunching_probability(interf::Interferometer, i::Input, mo::ModeOccupation)
Computes the probability that all n photons end up in the subset of chosen output modes following.
BosonSampling.is_fully_bunched
— Methodis_fully_bunched(ev::Event, subset::Subset)
Tells if all photons end up in the subset.
BosonSampling.n_bunched_events
— Methodn_bunched_events(events::Vector{Event}, subset::Subset)
Gives the number of fully bunched events in subset.