Skip to content

bloqade.cirq_utils.noise.model.GeminiNoiseModelABC

← Module overview

classGeminiNoiseModelABCsource

bloqade.cirq_utils.noise.model.GeminiNoiseModelABC

Bases: cirq.NoiseModel, MoveNoiseModelABC

Abstract base class for all Gemini noise models.

Signature
class GeminiNoiseModelABC(check_input_circuit: bool = True, scaling_factor: float = 1.0, cz_paired_correlated_rates: np.ndarray | None = None, cz_paired_error_probabilities: dict | None = None, *, local_px: float = 0.0004102, local_py: float = 0.0004102, local_pz: float = 0.0004112, local_loss_prob: float = 0.0, local_unaddressed_px: float = 2e-07, local_unaddressed_py: float = 2e-07, local_unaddressed_pz: float = 1.2e-06, local_unaddressed_loss_prob: float = 0.0, global_px: float = 6.5e-05, global_py: float = 6.5e-05, global_pz: float = 6.5e-05, global_loss_prob: float = 0.0, cz_paired_gate_px: float = 0.0006549, cz_paired_gate_py: float = 0.0006549, cz_paired_gate_pz: float = 0.003184, cz_gate_loss_prob: float = 0.0, cz_unpaired_gate_px: float = 0.0005149, cz_unpaired_gate_py: float = 0.0005149, cz_unpaired_gate_pz: float = 0.002185, cz_unpaired_loss_prob: float = 0.0, mover_px: float = 0.000806, mover_py: float = 0.000806, mover_pz: float = 0.002458, move_loss_prob: float = 0.0, sitter_px: float = 0.0003066, sitter_py: float = 0.0003066, sitter_pz: float = 0.0004639, sit_loss_prob: float = 0.0)

Parameters

NameTypeDefaultDescription
check_input_circuitboolTrue
scaling_factorfloat1.0
cz_paired_correlated_ratesnp.ndarray | NoneNone
cz_paired_error_probabilitiesdict | NoneNone
local_pxfloat0.0004102
local_pyfloat0.0004102
local_pzfloat0.0004112
local_loss_probfloat0.0
local_unaddressed_pxfloat2e-07
local_unaddressed_pyfloat2e-07
local_unaddressed_pzfloat1.2e-06
local_unaddressed_loss_probfloat0.0
global_pxfloat6.5e-05
global_pyfloat6.5e-05
global_pzfloat6.5e-05
global_loss_probfloat0.0
cz_paired_gate_pxfloat0.0006549
cz_paired_gate_pyfloat0.0006549
cz_paired_gate_pzfloat0.003184
cz_gate_loss_probfloat0.0
cz_unpaired_gate_pxfloat0.0005149
cz_unpaired_gate_pyfloat0.0005149
cz_unpaired_gate_pzfloat0.002185
cz_unpaired_loss_probfloat0.0
mover_pxfloat0.000806
mover_pyfloat0.000806
mover_pzfloat0.002458
move_loss_probfloat0.0
sitter_pxfloat0.0003066
sitter_pyfloat0.0003066
sitter_pzfloat0.0004639
sit_loss_probfloat0.0

Attributes

NameTypeDefaultDescription
check_input_circuitboolTrueDetermine whether or not to verify that the circuit only contains native gates. **Caution**: Disabling this for circuits containing non-native gates may lead to incorrect results!
scaling_factorfloat1.0Factor to multiply all noise probabilities by. Use this to sweep noise levels. - 0.0 = no noise (noiseless simulation) - 1.0 = default noise levels - 2.0 = double the noise probabilities
cz_paired_correlated_ratesnp.ndarray | NoneNoneThe correlated CZ error rates as a 4x4 array.
cz_paired_error_probabilitiesdict | NoneNoneThe correlated CZ error rates as a dictionary

methodvalidate_momentssource

bloqade.cirq_utils.noise.model.GeminiNoiseModelABC.validate_moments

def validate_moments(moments: Iterable[cirq.Moment])

Validate that all moments contain gates supported by the noise model.

Parameters

NameTypeDescription
momentsIterable[cirq.Moment]
source

methodparallel_cz_errorssource

bloqade.cirq_utils.noise.model.GeminiNoiseModelABC.parallel_cz_errors

Signature
def parallel_cz_errors(ctrls: Sequence[int], qargs: Sequence[int], rest: Sequence[int]) -> dict[tuple[float, float, float, float], list[int]]

Return parallel CZ error groups for kernel rewrite noise insertion.

Parameters

NameTypeDescription
ctrlsSequence[int]
qargsSequence[int]
restSequence[int]

Returns

dict[tuple[float, float, float, float], list[int]]

source

propertymover_pauli_ratessource

bloqade.cirq_utils.noise.model.GeminiNoiseModelABC.mover_pauli_rates

mover_pauli_rates: tuple[float, float, float]

Return scaled Pauli error rates for moving atoms.

source

propertysitter_pauli_ratessource

bloqade.cirq_utils.noise.model.GeminiNoiseModelABC.sitter_pauli_rates

sitter_pauli_rates: tuple[float, float, float]

Return scaled Pauli error rates for stationary atoms.

source

propertyglobal_pauli_ratessource

bloqade.cirq_utils.noise.model.GeminiNoiseModelABC.global_pauli_rates

global_pauli_rates: tuple[float, float, float]

Return scaled Pauli error rates for global single-qubit gates.

source

propertylocal_pauli_ratessource

bloqade.cirq_utils.noise.model.GeminiNoiseModelABC.local_pauli_rates

local_pauli_rates: tuple[float, float, float]

Return scaled Pauli error rates for local single-qubit gates.

source

propertycz_paired_pauli_ratessource

bloqade.cirq_utils.noise.model.GeminiNoiseModelABC.cz_paired_pauli_rates

cz_paired_pauli_rates: tuple[float, float, float]

Return scaled Pauli error rates for paired CZ atoms.

source

propertycz_unpaired_pauli_ratessource

bloqade.cirq_utils.noise.model.GeminiNoiseModelABC.cz_unpaired_pauli_rates

cz_unpaired_pauli_rates: tuple[float, float, float]

Return scaled Pauli error rates for unpaired CZ-zone atoms.

source

propertytwo_qubit_paulisource

bloqade.cirq_utils.noise.model.GeminiNoiseModelABC.two_qubit_pauli

two_qubit_pauli: cirq.AsymmetricDepolarizingChannel

Return the scaled correlated two-qubit Pauli channel.

source