Injects dephasing errors with the given probability into the error-correcting circuit.
Namespace: Microsoft.Research.LiquidAssembly: Liquid1 (in Liquid1.dll) Version: 1.0.5981.24943 (1.0.*)
Syntax member Inject :
prob : float -> Tuple<Circuit, FSharpList<int>>
Parameters
- prob
- Type: SystemDouble
The probability of an error on execution of a gate.
Each qubit input to the gate has this same chance of a dephasing error.
If an error is injected, it will be either an X, Y, or Z error, with equal probability.
Note that errors are never injected on ancilla qubits.
Return Value
Type:
TupleCircuit,
FSharpListInt32A tuple containing the new Circuit with errors injected as the first item
and a list of injected error counts as the second.
The error count list contains the count of X, Y, and Z errors injected, in that order.
Remarks
Note that the errors are inserted as explicit gates into a new Circuit, rather than
randomly being injected on each run.
That is, if the resulting circuit is executed multiple times, the same errors will be
injected each time.
To get a different set of random errors, this routine must be re-run and a new Circuit generated.
Also note that errors are only inserted before wrapped and extended gates (Gate types Wrap and Ext).
In particular, this means that errors appear before logical gates rather than before physical gates.
If the original non-error correcting circuit included wrapped or extended gates, then errors may
be injected before those gates as well.
See Also