When I calculate the T1 value of the qubit several times with the same hamiltonian, the values decrease in each time.
First, create the fluxonium qubit.
# this cell is extracted from the tutorial section of circuitQ documentation
import circuitq as cq
import networkx as nx
import numpy as np
import matplotlib.pyplot as plt
graph = nx.MultiGraph()
graph.add_edge(0,1, element = 'C')
graph.add_edge(0,1, element = 'J')
graph.add_edge(0,1, element = 'L')
circuit = cq.CircuitQ(graph)
# set the circuit parameters
# use the same parameters as the tutorial
EJ = circuit.c_v["E"]/3
phi_ext = np.pi*circuit.phi_0
There are three methods for T1 calculation, get_T1_quasiparticles()
, get_T1_charge()
, and get_T1_flux()
. In my code, everytime I calcurate the T1 with the same hamiltonian, T1_charge
and T1_flux
decrease. ( I recreate the same hamiltonian in each loop.) I do not know why the values decrease even though I use the same circuit parameters.
The eigenvalues were not changing. Only T1_charge
and T1_flux
.
T1_qp = []
T1_c = []
T1_f = []
for i in range(15):
circuit.get_numerical_hamiltonian(401, parameter_values=[False, EJ, False, phi_ext])
circuit.get_eigensystem()
# T1 caluculation
T1_qp.append(circuit.get_T1_quasiparticles())
T1_c.append(circuit.get_T1_charge())
T1_f.append(circuit.get_T1_flux())
# plot each T1 value
plt.plot(np.arange(15), T1_qp/T1_qp[0],'ro', label = 'T1_qp')
plt.plot(np.arange(15), T1_c/T1_c[0],'go', label = 'T1_c')
plt.plot(np.arange(15), T1_f/T1_f[0],'bx', label = 'T1_f', markersize = 10)
plt.legend()
plt.xlabel('number of loop')
plt.ylabel('T1 proportion')
plt.show()
![image](https://user-images.githubusercontent.com/84119030/133378167-5a05849d-32f3-48d9-85dd-8b502c66f41c.png)
I also found that I could get the same T1_c
and T1_f
if we don't recreate the hamiltonian. The same value was calculated even when get_eigensystem()
method was done in each loop. The get_numerical_hamiltonian()
method, however, made the situation bad, I guess.
T1_qp = []
T1_c = []
T1_f = []
for i in range(15):
circuit.get_eigensystem()
# T1 caluculation
T1_qp.append(circuit.get_T1_quasiparticles())
T1_c.append(circuit.get_T1_charge())
T1_f.append(circuit.get_T1_flux())
# plot each T1 value
plt.plot(np.arange(15), T1_qp/T1_qp[0],'ro', label = 'T1_qp')
plt.plot(np.arange(15), T1_c/T1_c[0],'go', label = 'T1_c')
plt.plot(np.arange(15), T1_f/T1_f[0],'bx', label = 'T1_f', markersize = 10)
plt.legend()
plt.xlabel('number of loop')
plt.ylabel('T1 proportion')
plt.show()
![image](https://user-images.githubusercontent.com/84119030/133378483-5b2a7b45-9a06-42bf-8860-a6b130576d38.png)