Skip to content

noise

chalmers_qubit.devices.sarimner.noise

Classes:

Name Description
DecoherenceNoise

Represents decoherence noise in a quantum system, characterized by T1 and T2 times for each qubit.

ZZCrossTalk

A noise model representing always-on ZZ cross talk between qubits,

DecoherenceNoise

DecoherenceNoise(decoherence_dict: dict)

Bases: Noise

Represents decoherence noise in a quantum system, characterized by T1 and T2 times for each qubit.

This class models the decoherence effects on qubits in a quantum system. It allows for specifying individual T1 (relaxation) and T2 (dephasing) times for each qubit in the system.

Parameters:

Name Type Description Default
decoherence_dict dict

A dictionary specifying the decoherence parameters for each qubit. The keys should be qubit identifiers, and the values should be dictionaries containing 't1' and 't2' keys with their respective time values in nanoseconds.

required

Attributes:

Name Type Description
decoherence dict

A dictionary storing the T1 and T2 values for each qubit in the system.

Example
1
2
3
4
5
decoherence_dict = {
    0: {'t1': 50e3, 't2': 70e3}, # values for the 0th qubit
    1: {'t1': 45e3, 't2': 60e3} # values for the 1st qubit
}
noise = [DecoherenceNoise(decoherence_dict)]
Notes
  • T1 represents the relaxation time, which characterizes the time scale for energy dissipation.
  • T2 represents the dephasing time, which characterizes the time scale for loss of phase coherence.
  • T2 is always less than or equal to 2*T1.

Methods:

Name Description
get_noisy_pulses

Return the input pulses list with noise added and

get_noisy_pulses

get_noisy_pulses(
    dims: list,
    pulses: Optional[Pulse] = None,
    systematic_noise: Optional[Pulse] = None,
)

Return the input pulses list with noise added and the pulse independent noise in a dummy :class:.Pulse object.

Parameters:

Name Type Description Default
dims list

The dimension of the components system.

required
pulses list of :class:`.Pulse`

The input pulses. The noise will be added to pulses in this list.

None
systematic_noise :class:`.Pulse`

The dummy pulse with no ideal control element.

None

Returns:

Name Type Description
noisy_pulses list of :class:`.Pulse`

Noisy pulses.

systematic_noise :class:`.Pulse`

The dummy pulse representing pulse-independent noise.

ZZCrossTalk

ZZCrossTalk(cross_talk_dict: dict)

Bases: Noise

A noise model representing always-on ZZ cross talk between qubits, characterized by a cross-talk coefficient for each pair of qubits.

Parameters:

Name Type Description Default
cross_talk_dict dict

A dictionary specifying the cross-talk strength between qubits. The keys are tuples (i, j), where i and j are qubit indices, and the corresponding value is the ZZ interaction strength between qubit i and qubit j.

required

Attributes:

Name Type Description
cross_talk_dict dict

A dictionary representing the ZZ cross-talk interaction strengths between qubit pairs.

Notes
  • This model assumes that cross talk is always on, meaning it continuously affects the qubits throughout their operation.
Example
1
2
3
4
5
cross_talk_dict = {
    (0, 1): 0.01,  # ZZ interaction strength between qubit 0 and qubit 1
    (1, 2): 0.02,  # ZZ interaction strength between qubit 1 and qubit 2
}
noise = [ZZCrossTalk(cross_talk)]

Methods:

Name Description
get_noisy_pulses

Return the input pulses list with noise added and

get_noisy_pulses

get_noisy_pulses(
    dims: list,
    pulses: Optional[Pulse] = None,
    systematic_noise: Optional[Pulse] = None,
)

Return the input pulses list with noise added and the pulse independent noise in a dummy :class:.Pulse object.

Parameters:

Name Type Description Default
dims list

The dimension of the components system, the default value is [3,3...,3] for qutrit system.

required
pulses list of :class:`.Pulse`

The input pulses. The noise will be added to pulses in this list.

None
systematic_noise :class:`.Pulse`

The dummy pulse with no ideal control element.

None

Returns:

Name Type Description
pulses list of :class:`.Pulse`

Noisy pulses.

systematic_noise :class:`.Pulse`

The dummy pulse representing pulse-independent noise.