module documentation
Undocumented
| Class | |
Add photon loss noise model to a circuit during transpiler transformation pass. |
| Function | calculate |
Calculate Kraus operator given number of photons and photon loss rate over specified time. |
| Constant | IGNORE |
Undocumented |
| Function | __kraus |
Calculates the Kraus operators for photon loss |
| Function | __tensor |
Undocumented |
def calculate_kraus(photon_loss_rates:
Sequence[ float], time: float, circuit: bosonic_qiskit.CVCircuit, op_qubits: Sequence[ int], qumode_qubit_indices: Sequence[ int]) -> list[ np.ndarray]:
(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 | |
photonSequence[float] | kappas, the rate of photon loss per second for each qumode |
time:float | current duration of time in seconds |
circuit:CVCircuit | cq2a.CVCircuit with ops for N and a |
opSequence[int] | qubit int indices in the given CVCircuit used by the current instruction |
qumodeSequence[int] | qumode int indices in the given CVCircuit to test if qubits from instruction are a part of a qumode |
| Returns | |
list[ | List of Kraus operators |
def __kraus_operators(photon_loss_rate:
float, time: float, cutoff: int, a: sp.csc_array, n: sp.csc_array) -> list[ np.ndarray]:
(source)
¶
Calculates the Kraus operators for photon loss
| Parameters | |
photonfloat | The rate of photon loss in the qumode |
time:float | The duration of the noise channel |
cutoff:int | The maximum fock level of the qumode |
a:sp.csc_array | The annihilation operator |
n:sp.csc_array | The photon number operator |
| Returns | |
list[ | A list of Kraus operators, where operator i corresponds to losing i photons |