sf.tdm.full_compile

full_compile(gate_args, device, delays=[1, 6, 36], phi_range=[-1.5707963267948966, 1.5707963267948966], return_list=True)[source]

Makes a user-defined set of gate arguments compatible with TDMProgram and the Borealis hardware.

Parameters
  • gate_args (dict) – dictionary with the collected arguments for squeezing gate, phase gates and beamsplitter gates

  • device (sf.Device) – the Borealis device containing the supported squeezing parameters

  • delays (list, optional) – The delay applied by each loop in time bins. Defaults to [1, 6, 36].

  • phi_range (list, optional) – The range of phase shift accessible to the Borealis phase modulators. Defaults to [-pi / 2, pi / 2].

Returns

the input dictionary in which the gate-argument lists are properly padded with vacuum time bins, compatible with the allowed squeezing values and with the range of the Borealis phase modulators

Return type

dict