module documentation

Undocumented

Class PhotonLossNoisePass Add photon loss noise model to a circuit during transpiler transformation pass.
Function calculate_kraus Calculate Kraus operator given number of photons and photon loss rate over specified time.
Function __kraus_operators Undocumented
Function __tensor_operators Undocumented
def calculate_kraus(photon_loss_rates: Sequence[float], time: float, circuit: c2qa.CVCircuit, op_qubits: Sequence[int], qumode_qubit_indices: Sequence[int]): (source)

Calculate Kraus operator given number of photons and photon loss rate over specified time.

Apply Kraus operator to provided qubit_indices only, tensor product with identity for remaining qubits.

Following equation 44 from Bosonic Oprations and Measurements, Girvin

Parameters
photon_loss_rates:Sequence[float]kappas, the rate of photon loss per second for each qumode
time:floatcurrent duration of time in seconds
circuit:CVCircuitcq2a.CVCircuit with ops for N and a
op_qubits:Sequence[int]qubit int indices in the given CVCircuit used by the current instruction
qumode_qubit_indices:Sequence[int]qumode int indices in the given CVCircuit to test if qubits from instruction are a part of a qumode
Returns
List of Kraus operators
def __kraus_operators(photon_loss_rate: float, time: float, cutoff: int, a, n): (source)

Undocumented

def __tensor_operators(current: list, new: list): (source)

Undocumented