map_node_single_register

map_node_single_register(in_node, b2q_layout)

Map the single bosonic mode register acted upon by the circuit operation.

Given a DAGOpNode and a B2QLayout this function will:

  1. ensure that all acted-upon bosonic modes belong to the same register

  2. map the node’s indices to their global indices with respect to said bosonic mode register

  3. map this bosonic mode register to the corresponding qubit register

Caution

The returned global bosonic mode register indices are knowingly dependent on the order of the bosonic modes during the construction of their original BosonicRegister. This is unlikely to cause any issues but makes the usage of RelabelModes possibly more generally.

Parameters:
Returns:

The list of the global bosonic mode indices and mapped qubit register instance.

Raises:

NotImplementedError – when the provided node acts on bosonic modes that do not all belong to the same BosonicRegister.

Return type:

tuple[list[int], QuantumRegister]