I am attempting to simulate HOM interference with imperfect sources and with a loss channel put on the output of the beam splitter using add() and LC(). I am finding that the distinguishability of the source is not taken into account if the loss channel is added, giving an output prb(|1,1>) = 0, even if the amount of loss is set to 0. By removing the loss channel, the output is prb(|1,1>) != 0 as expected.
Cheers,
Stephen
source = pcvl.Source(indistinguishability = 0.9)
QPU = pcvl.Processor("SLOS", pcvl.BS(), source)
QPU.add(0, pcvl.LC(0))
QPU.mode_post_selection(0)
QPU.with_input(pcvl.BasicState([1, 1]))
pcvl.pdisplay(QPU.probs()["results"])