Beam-splitter in quantum neural networks

I have an inquiry about the " Quantum neural network" page on Strawberry Fields (Hardware and cloud — Strawberry Fields 0.23.0 documentation).

Specifically on the " Extending to quantum neural networks" section the 1 to 4 qumode CV quantum neural network layers are shown and explained.

Here it’s explained that the BS (Beam Splitters) present in the circuit are “two-mode phaseless beamsplitters” which, as I understand, means that the BS_gate will have only 1 parameter as it’s input.

On the other hand on the code below, on the “Utility function” section, two parameters are used in the BS_Gate.
Code below:

def interferometer(params, q):
    """Parameterised interferometer acting on ``N`` modes.

    Args:
        params (list[float]): list of length ``max(1, N-1) + (N-1)*N`` parameters.

            * The first ``N(N-1)/2`` parameters correspond to the beamsplitter angles
            * The second ``N(N-1)/2`` parameters correspond to the beamsplitter phases
            * The final ``N-1`` parameters correspond to local rotation on the first N-1 modes

        q (list[RegRef]): list of Strawberry Fields quantum registers the interferometer
            is to be applied to
    """
    N = len(q)
    theta = params[:N*(N-1)//2]
    phi = params[N*(N-1)//2:N*(N-1)]
    rphi = params[-N+1:]

    if N == 1:
        # the interferometer is a single rotation
        ops.Rgate(rphi[0]) | q[0]
        return

    n = 0  # keep track of free parameters

    # Apply the rectangular beamsplitter array
    # The array depth is N
    for l in range(N):
        for k, (q1, q2) in enumerate(zip(q[:-1], q[1:])):
            # skip even or odd pairs depending on layer
            if (l + k) % 2 != 1:
                ops.BSgate(theta[n], phi[n]) | (q1, q2)
                n += 1

    # apply the final local phase shifts to all modes except the last one
    for i in range(max(1, N - 1)):
        ops.Rgate(rphi[i]) | q[i]

Therefore I do not understand what is meant by “phase-less beam splitters”.

Hi @Giorgio_Panichi , welcome to the Forum!

If you look here in the docs for BSgate you’ll notice that the first parameter is the transmittivity angle 𝜃, which is related to the transmission amplitude of the beamsplitter. The second parameter is the phase angle 𝜙, which is related to the reflection amplitude of the beamsplitter. In this case there’s no global phase, which is why this is considered a phaseless beamsplitter. I know the term is confusing given that they’re all angles, but I hope this clarified things a bit.

Let me know if this helps!