quri_parts.circuit.noise package

AmplitudeDampingNoise(amplitude_damping_rate, excited_state_population, qubit_indices=(), target_gates=())

Single qubit amplitude damping noise.

Parameters:
  • amplitude_damping_rate (float) – Probability of amplitude damping.

  • excited_state_population (float) – Excited state population.

  • qubit_indices (Sequence[int]) – Sequence of target qubit indices.

  • target_gates (Sequence[circuit.gate_names.NonParametricGateNameType]) – Sequence of target gate names.

Return type:

GateNoiseInstruction

BitFlipNoise(error_prob, qubit_indices=(), target_gates=())

Single qubit bit flip noise.

Parameters:
  • error_prob (float) – Probability of noise generation.

  • qubit_indices (Sequence[int]) – Sequence of target qubit indices.

  • target_gates (Sequence[circuit.gate_names.NonParametricGateNameType]) – Sequence of target gate names.

Return type:

GateNoiseInstruction

BitPhaseFlipNoise(error_prob, qubit_indices=(), target_gates=())

Single qubit bit and phase flip noise.

Parameters:
  • error_prob (float) – Probability of noise generation.

  • qubit_indices (Sequence[int]) – Sequence of target qubit indices.

  • target_gates (Sequence[circuit.gate_names.NonParametricGateNameType]) – Sequence of target gate names.

Return type:

GateNoiseInstruction

class CircuitNoiseInstance

Bases: object

noises_for_depth(qubits, circuit)
noises_for_gate(gate, circuit)
DepolarizingNoise(error_prob, qubit_indices=(), target_gates=())

Single qubit depolarizing noise.

Parameters:
  • error_prob (float) – Probability of noise generation.

  • qubit_indices (Sequence[int]) – Sequence of target qubit indices.

  • target_gates (Sequence[circuit.gate_names.NonParametricGateNameType]) – Sequence of target gate names.

Return type:

GateNoiseInstruction

class DepthIntervalNoise(single_qubit_noises, depth_interval)

Bases: object

name()
class GateIntervalNoise(single_qubit_noises, gate_interval)

Bases: object

name()
class GateNoiseInstruction(name, qubit_count, params, qubit_indices, target_gates, pauli_list=Ellipsis, prob_list=Ellipsis, kraus_operators=Ellipsis, gate_matrices=Ellipsis)

Bases: object

gate_matrices
kraus_operators
name
params
pauli_list
prob_list
qubit_count
qubit_indices
target_gates
GeneralDepolarizingNoise(error_prob, qubit_count, qubit_indices=(), target_gates=())

Multi qubit general depolarizing noise.

In the case of multi qubit noise, qubit_indices should specify the qubits on which the target gate is acting, in any order, without excess or deficiency.

Parameters:
  • error_prob (float) – Probability of noise generation.

  • qubit_count (int) – Number of qubits of the noise.

  • qubit_indices (Sequence[int]) – Sequence of target qubit indices.

  • target_gates (Sequence[circuit.gate_names.NonParametricGateNameType]) – Sequence of target gate names.

Return type:

GateNoiseInstruction

KrausNoise(kraus_list, qubit_indices=(), target_gates=())

Multi qubit Kraus noise.

In the case of multi qubit noise, qubit_indices should specify the qubits on which the target gate is acting, in any order, without excess or deficiency.

Parameters:
  • kraus_list (Sequence[Sequence[Sequence[float]]]) – Sequence of Kraus operator matrices.

  • qubit_indices (Sequence[int]) – Sequence of target qubit indices.

  • target_gates (Sequence[circuit.gate_names.NonParametricGateNameType]) – Sequence of target gate names.

Return type:

GateNoiseInstruction

class MeasurementNoise(single_qubit_noises, qubit_indices=Ellipsis)

Bases: object

name()
class NoiseModel

Bases: object

add_depth_interval_noise(noise)
add_gate_interval_noise(noise)
add_gate_noise(noise)
add_measurement_noise(noise)
add_noise()
extend()
gate_noise_from_id(noise_id)
gate_noise_list()
noises_for_circuit()
noises_for_gate(gate)
NoiseInstruction

Represents a backend-independent noise instruction to be added to NoiseModel.

alias of GateNoiseInstruction | GateIntervalNoise | DepthIntervalNoise | MeasurementNoise

PauliNoise(pauli_list, prob_list, qubit_indices=(), target_gates=(), eq_tolerance=1e-08, name='PauliNoise')

Multi qubit Pauli noise.

In the case of multi qubit noise, qubit_indices should specify the qubits on which the target gate is acting, in any order, without excess or deficiency.

Parameters:
  • pauli_list (Sequence[Sequence[int]]) – Sequence of series of Pauli ids.

  • prob_list (Sequence[float]) – Sequence of probability for each Pauli operations.

  • qubit_indices (Sequence[int]) – Sequence of target qubit indices.

  • target_gates (Sequence[circuit.gate_names.NonParametricGateNameType]) – Sequence of target gate names.

  • eq_tolerance (float) – Allowed error in the total probability over 1.

  • name (str) – Give Specified name for the noise.

Return type:

GateNoiseInstruction

PhaseAmplitudeDampingNoise(phase_damping_rate, amplitude_damping_rate, excited_state_population, qubit_indices=(), target_gates=())

Single qubit phase and amplitude damping noise.

Parameters:
  • phase_damping_rate (float) – Probability of phase damping.

  • amplitude_damping_rate (float) – Probability of amplitude damping.

  • excited_state_population (float) – Excited state population.

  • qubit_indices (Sequence[int]) – Sequence of target qubit indices.

  • target_gates (Sequence[circuit.gate_names.NonParametricGateNameType]) – Sequence of target gate names.

Return type:

GateNoiseInstruction

PhaseDampingNoise(phase_damping_rate, qubit_indices=(), target_gates=())

Single qubit phase damping noise.

Parameters:
  • phase_damping_rate (float) – Probability of phase damping.

  • qubit_indices (Sequence[int]) – Sequence of target qubit indices.

  • target_gates (Sequence[circuit.gate_names.NonParametricGateNameType]) – Sequence of target gate names.

Return type:

GateNoiseInstruction

PhaseFlipNoise(error_prob, qubit_indices=(), target_gates=())

Single qubit phase flip noise.

Parameters:
  • error_prob (float) – Probability of noise generation.

  • qubit_indices (Sequence[int]) – Sequence of target qubit indices.

  • target_gates (Sequence[circuit.gate_names.NonParametricGateNameType]) – Sequence of target gate names.

Return type:

GateNoiseInstruction

ProbabilisticNoise(gate_matrices, prob_list, qubit_indices=(), target_gates=(), eq_tolerance=1e-08)

Multi qubit probabilistic noise.

This noise is defined by giving matrices representing noise gate operations and the probability of each operation explicitly.

In the case of multi qubit noise, qubit_indices should specify the qubits on which the target gate is acting, in any order, without excess or deficiency.

Parameters:
  • gate_matrices (Sequence[Sequence[Sequence[float]]]) – Sequence of matrices representing gate operations.

  • prob_list (Sequence[float]) – Sequence of probability for each operation.

  • qubit_indices (Sequence[int]) – Sequence of target qubit indices.

  • target_gates (Sequence[circuit.gate_names.NonParametricGateNameType]) – Sequence of target gate names.

  • eq_tolerance (float) – Allowed error in the total probability over 1.

Return type:

GateNoiseInstruction

QubitNoisePair

alias of tuple[Sequence[int], GateNoiseInstruction]

ResetNoise(p0, p1, qubit_indices=(), target_gates=())

Single qubit reset noise.

Parameters:
  • p0 (float) – Reset probability to \(|0\rangle\).

  • p1 (float) – Reset probability to \(|1\rangle\).

  • qubit_indices (Sequence[int]) – Sequence of target qubit indices.

  • target_gates (Sequence[circuit.gate_names.NonParametricGateNameType]) – Sequence of target gate names.

Return type:

GateNoiseInstruction

ThermalRelaxationNoise(t1, t2, gate_time, excited_state_population, qubit_indices=(), target_gates=())

Sigle qubit thermal relaxation noise.

Parameters:
  • t1 (float) – \(T_1\) relaxation time.

  • t2 (float) – \(T_2\) relaxation time.

  • gate_time (float) – Gate time.

  • excited_state_population (float) – Excited state population.

  • qubit_indices (Sequence[int]) – Target qubit indices.

  • target_gates (Sequence[circuit.gate_names.NonParametricGateNameType]) – Target gate names.

Return type:

GateNoiseInstruction

Submodules