Implementation of a network of interconnected beamsplitters for coherent state evolution

If your goal was to create a multi-mode state, then you need to compound those Coherent operations into one object like this:

state = (
    Coherent(x=[1.0, 2.0], y=[-1.0, -2.0])
    & Coherent(x=[1.0, 2.0], y=[-1.0, -2.0])
    & Coherent(x=[1.0, 2.0], y=[-1.0, -2.0])
)

print(state.num_modes) # 6

state >> BS[0, 1] >> BS[2, 3] >> BS[4, 5] # this works!

You can find out more about this here: Basic API Reference — Mr Mustard 0.4.1 documentation

1 Like