Skip to content

Commit b596aca

Browse files
andrea-pasqualestavros11
authored andcommitted
refactor: resonator flux with new calibration model
1 parent 779f04c commit b596aca

File tree

3 files changed

+19
-11
lines changed

3 files changed

+19
-11
lines changed

src/qibocal/calibration/calibration.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,3 +128,12 @@ def qubits(self) -> list:
128128
@property
129129
def nqubits(self) -> int:
130130
return len(self.qubits)
131+
132+
# TODO: add crosstalk object where I can do this
133+
def get_crosstalk_element(self, qubit1: QubitId, qubit2: QubitId):
134+
a, b = self.qubits.index(qubit1), self.qubits.index(qubit2)
135+
return self.flux_crosstalk_matrix[a, b]
136+
137+
def set_crosstalk_element(self, qubit1: QubitId, qubit2: QubitId, value: float):
138+
a, b = self.qubits.index(qubit1), self.qubits.index(qubit2)
139+
self.flux_crosstalk_matrix[a, b] = value

src/qibocal/protocols/flux_dependence/resonator_flux_dependence.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,11 @@
1313
)
1414
from scipy.optimize import curve_fit
1515

16-
from ... import update
1716
from ...auto.operation import Data, Parameters, QubitId, Results, Routine
1817
from ...config import log
1918
from ...result import magnitude, phase
19+
20+
from ... import update
2021
from ..utils import GHZ_TO_HZ, HZ_TO_GHZ, extract_feature, table_dict, table_html
2122
from . import utils
2223

@@ -130,10 +131,12 @@ def _acquisition(
130131
)
131132

132133
qubit_frequency[q] = platform.config(qubit.drive).frequency
133-
bare_resonator_frequency[q] = 0 # qubit.bare_resonator_frequency
134-
matrix_element[q] = 1 # qubit.crosstalk_matrix[q]
134+
bare_resonator_frequency[q] = platform.calibration.single_qubits[
135+
q
136+
].resonator.bare_frequency
137+
matrix_element[q] = platform.calibration.get_crosstalk_element(q, q)
135138
offset[q] = -offset0 * matrix_element[q]
136-
charging_energy[q] = 0 # -qubit.anharmonicity
139+
charging_energy[q] = platform.calibration.single_qubits[q].qubit.charging_energy
137140

138141
data = ResonatorFluxData(
139142
resonator_type=platform.resonator_type,
@@ -294,9 +297,9 @@ def _plot(data: ResonatorFluxData, fit: ResonatorFluxResults, target: QubitId):
294297

295298

296299
def _update(results: ResonatorFluxResults, platform: Platform, qubit: QubitId):
297-
pass
298-
# update.bare_resonator_frequency(results.bare_resonator_freq[qubit], platform, qubit)
300+
update.bare_resonator_frequency(results.bare_resonator_freq[qubit], platform, qubit)
299301
# update.readout_frequency(results.resonator_freq[qubit], platform, qubit)
302+
# TODO: add coupling somewhere
300303
# update.coupling(results.coupling[qubit], platform, qubit)
301304

302305

src/qibocal/update.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -83,11 +83,7 @@ def crosstalk_matrix(
8383
platform.calibration.flux_crosstalk_matrix = np.zeros(
8484
(platform.calibration.nqubits, platform.calibration.nqubits)
8585
)
86-
87-
a, b = platform.calibration.qubits.index(qubit), platform.calibration.qubits.index(
88-
flux_qubit
89-
)
90-
platform.calibration.flux_crosstalk_matrix[a, b] = float(matrix_element)
86+
platform.calibration.set_crosstalk_element(qubit, flux_qubit, matrix_element)
9187

9288

9389
def iq_angle(angle: float, platform: Platform, qubit: QubitId):

0 commit comments

Comments
 (0)