uniqc.simulator.error_model module¶
Quantum error models for noisy simulation.
This module defines various quantum noise models that can be applied to circuit simulations, including bit-flip, phase-flip, depolarizing, amplitude damping, and Kraus operator errors.
- Key exports:
ErrorModel: Base class for all error models.
BitFlip: Bit-flip (X) error model.
PhaseFlip: Phase-flip (Z) error model.
Depolarizing: Single-qubit depolarizing channel.
TwoQubitDepolarizing: Two-qubit depolarizing channel.
AmplitudeDamping: Amplitude damping (T1) error model.
PauliError1Q: Single-qubit Pauli error model.
PauliError2Q: Two-qubit Pauli error model.
Kraus1Q: Single-qubit Kraus operator error model.
ErrorLoader: Base error loader interface.
ErrorLoader_GenericError: Generic error loader.
ErrorLoader_GateTypeError: Gate-type specific error loader.
ErrorLoader_GateSpecificError: Gate-specific error loader.
- class uniqc.simulator.error_model.AmplitudeDamping(gamma)[source]¶
Bases:
ErrorModelAmplitude damping error model.
- Parameters:
gamma (float) – Damping rate (0 to 1).
- class uniqc.simulator.error_model.BitFlip(p)[source]¶
Bases:
ErrorModelBit-flip error model.
- Parameters:
p (float) – Bit-flip probability.
- class uniqc.simulator.error_model.Depolarizing(p)[source]¶
Bases:
ErrorModelDepolarizing error model for single qubits.
- Parameters:
p (float) – Depolarizing probability.
- class uniqc.simulator.error_model.ErrorLoader[source]¶
Bases:
objectLoad opcodes into the simulator with noise models.
Base class that inserts error opcodes into the program.
- class uniqc.simulator.error_model.ErrorLoader_GateSpecificError(generic_error, gatetype_error, gate_specific_error)[source]¶
Bases:
ErrorLoader_GateTypeErrorLoad opcodes with gate-specific noise (including per qubit-pair).
Supports generic errors, per-gate-type errors, and per-gate-instance errors (keyed by gate name and specific qubit(s)).
- Parameters:
generic_error (list[ErrorModel])
gatetype_error (dict[str, list[ErrorModel]])
gate_specific_error (dict[tuple[str, tuple[int, int]], list[ErrorModel]])
- class uniqc.simulator.error_model.ErrorLoader_GateTypeError(generic_error, gatetype_error)[source]¶
Bases:
ErrorLoader_GenericErrorLoad opcodes with gate-dependent noise.
Supports both generic errors (applied to all gates) and per-gate-type errors (applied only to specific gate types).
- Parameters:
generic_error (list[ErrorModel])
gatetype_error (dict[str, list[ErrorModel]])
- gatetype_error: dict[str, list[ErrorModel]]¶
- class uniqc.simulator.error_model.ErrorLoader_GenericError(generic_error)[source]¶
Bases:
ErrorLoaderLoad opcodes with generic (gate-independent) noise.
Applies the same set of error models to every gate.
- Parameters:
generic_error (list[ErrorModel])
- generic_error: list[ErrorModel]¶
- class uniqc.simulator.error_model.ErrorModel[source]¶
Bases:
objectBase class for quantum error models.
- class uniqc.simulator.error_model.Kraus1Q(kraus_ops)[source]¶
Bases:
ErrorModelSingle-qubit Kraus operator error model.
- class uniqc.simulator.error_model.PauliError1Q(p_x, p_y, p_z)[source]¶
Bases:
ErrorModelSingle-qubit Pauli error model with independent X, Y, Z probabilities.
- Parameters:
- class uniqc.simulator.error_model.PauliError2Q(ps)[source]¶
Bases:
ErrorModelTwo-qubit Pauli error model with 15 independent probabilities.
- class uniqc.simulator.error_model.PhaseFlip(p)[source]¶
Bases:
ErrorModelPhase-flip (Z) error model.
- Parameters:
p (float) – Phase-flip probability.