GateNoiseSimulation#

class pennylane_calculquebec.processing.steps.gate_noise_simulation.GateNoiseSimulation(machine_name: str, use_benchmark=True)#

Bases: PreProcStep

Adds gate noise to operations from a circuit using MonarQ’s noise model

native_gates

the set of monarq-native gates

native_gates#

the set of monarq-native gates

Returns:

the name of gates that are native to MonarQ

Return type:

list[str]

execute(tape)

Apply gate noise to a circuit tape using MonarQ's noise model.

execute(tape)#

Apply gate noise to a circuit tape using MonarQ’s noise model.

For each operation in tape:

  • Single-qubit gates are followed by a depolarizing channel parameterised by the qubit’s single-qubit gate fidelity.

  • Two-qubit (CZ) gates are followed by a depolarizing channel on each involved wire, parameterised by the coupler’s CZ gate fidelity.

Amplitude-damping (T1) and phase-damping (T2 Ramsey) channels are built from benchmark data when use_benchmark=True, or from TypicalBenchmark typical values otherwise.

Parameters:

tape (QuantumTape) – a circuit whose operations must all belong to MonarQ’s native gate set

Returns:

a new tape with noise channels inserted after each gate

Return type:

QuantumTape

Raises:
  • ValueError – if any operation is not in the MonarQ native gate set

  • ValueError – if no CZ noise data can be found for a two-qubit gate