In Qiskit, add amplitude_damping_error to qubits in the circuit, how to know T1?

amplitude_damping_error(param_amp, excited_state_population=0, canonical_kraus=True)

What is the process of add amplitude_damping_error to a instruction of one qubit? What is the meaning of param_amp? How can I compute the T1 from param_amp or other parameters are needed?


2 Answers 2


Amplitude Damping Channel

When describing a quantum system undergoing energy dissipation because of some type of interaction with the environment, we apply a quantum operation known as amplitude damping. So, amplitude damping describes a decay process; a channel where the state $|0\rangle$ is transmitted faithfully but $|1\rangle$ (the excited state) is transmitted correctly with probability $1-\gamma$ and decays to $|0\rangle$ (the ground state) with probability $\gamma$ [1].

The parameter $\gamma$ is a time-dependent function, which is often characterized by $1- e^{-t/T_1}$, where $t$ is time and $T_1$ is the relaxation time.

Using amplitude_damping_error()

In Qiskit you add amplitude damping error to a one-qubit instruction as follows:

from qiskit_aer.noise import NoiseModel
from qiskit_aer.noise.errors.standard_errors import amplitude_damping_error
import numpy as np

# 1) Calculate param_amp (i.e., gamma)
T1 = 25.0
gate_time = 0.1
param_amp = 1 - np.exp(-gate_time / T1)

# 2) Define amplitude damping quantum error channel
error = amplitude_damping_error(param_amp)

# 3) Create the noise model and add the quantum error to it:
noise_model = NoiseModel()
noise_model.add_all_qubit_quantum_error(error, ['u'])
# Or,
#noise_model.add_quantum_error(error, 'u', [0])

# 4) Pass the noise model to the simulator:
from qiskit_aer import AerSimulator
backend = AerSimulator(noise_model = noise_model)
job = backend.run(circuit)

[1] Quantum Computing Explained - McMahon


param_amp is the damping parameter for the amplitude damping channel.

The Kraus operators used to define this channel are available in their matrix form on the Wikipedia page. The same channel is also defined in the Qiskit documentation.

Here's an example in Qiskit documentation for adding damping error and here's another example for finding T1. In order to be able to do what you want, you will have to change the noise model in the latter example.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.