Skip to content

Commit 607e236

Browse files
author
Stefania Lazar
committed
Addresses Natha's requested changes from the pull request.
- adds __name__ to Logger in analysis_v3 files and multi_qubit_module.py. - removes measure_multi_parity_multi_round measure and sequence functions.
1 parent cedc07a commit 607e236

File tree

10 files changed

+15
-372
lines changed

10 files changed

+15
-372
lines changed

pycqed/analysis_v3/data_processing.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import logging
2-
log = logging.getLogger()
3-
log.addHandler(logging.StreamHandler())
2+
log = logging.getLogger(__name__)
3+
44
import lmfit
55
import numpy as np
66
import scipy as sp
@@ -333,14 +333,15 @@ def arbitrary_mapping(data_dict, data_keys_in, data_keys_out, **params):
333333
mapping_kwargs (dict): additional arguments to forward to mapping function
334334
335335
"""
336-
mapping = get_param('mapping', data_dict, **params)
337-
mapping_kwargs = get_param('mapping_kwargs', data_dict,
336+
mapping = help_func_mod.get_param('mapping', data_dict, **params)
337+
mapping_kwargs = help_func_mod.get_param('mapping_kwargs', data_dict,
338338
default_value=dict(), **params)
339339
if mapping is None:
340340
raise ValueError('mapping is not specified.')
341341
elif isinstance(mapping, str):
342342
mapping = eval(mapping)
343-
data_to_proc_dict = get_data_to_process(data_dict, data_keys_in)
343+
data_to_proc_dict = help_func_mod.get_data_to_process(data_dict,
344+
data_keys_in)
344345

345346
if len(data_keys_out) != len(data_to_proc_dict):
346347
raise ValueError('data_keys_out and data_keys_in do not have '

pycqed/analysis_v3/fitting.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import logging
2-
log = logging.getLogger()
3-
log.addHandler(logging.StreamHandler())
2+
log = logging.getLogger(__name__)
43

54
from pycqed.analysis_v3 import helper_functions as help_func_mod
65
from pycqed.analysis import fitting_models as fit_mods

pycqed/analysis_v3/helper_functions.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import logging
2-
log = logging.getLogger()
3-
log.addHandler(logging.StreamHandler())
2+
log = logging.getLogger(__name__)
43
import os
54
import h5py
65
import numpy as np

pycqed/analysis_v3/pipeline_analysis.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@
1717
from pycqed.analysis_v3 import plotting as plot_module
1818
import copy
1919
import logging
20-
log = logging.getLogger()
21-
log.addHandler(logging.StreamHandler())
20+
log = logging.getLogger(__name__)
2221

2322

2423
class PipelineDataAnalysis(object):

pycqed/analysis_v3/plotting.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import logging
2-
log = logging.getLogger()
3-
log.addHandler(logging.StreamHandler())
2+
log = logging.getLogger(__name__)
43

54
import numpy as np
65
import numbers

pycqed/analysis_v3/processing_pipeline.py

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -29,19 +29,6 @@ def check_keys_in(self, keys_in=None):
2929
else:
3030
raise ValueError('This is the first node in the pipeline. '
3131
'keys_in must be specified.')
32-
# else:
33-
# if not isinstance(keys_in, list):
34-
# keys_in = [keys_in]
35-
# # check if keys_in are suffixes of previous keys_out
36-
# keys_out_in_pipe = []
37-
# for d in self:
38-
# if 'keys_out' in d:
39-
# keys_out_in_pipe += [d['keys_out'] for keyi in keys_in if
40-
# keyi in d['keys_out'][0]]
41-
# # print(f'Taking keys_in as the keys_out of node '
42-
# # f'{d["node_type"]} for the key suffix {keyi}')
43-
# if len(keys_out_in_pipe) > 0:
44-
# keys_in = [kk for k in keys_out_in_pipe for kk in k]
4532
return keys_in
4633

4734
def add_filter_data_node(self, reset_reps, keys_in=None, **params):

pycqed/analysis_v3/saving.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import logging
2-
log = logging.getLogger()
3-
log.addHandler(logging.StreamHandler())
2+
log = logging.getLogger(__name__)
43

54
import os
65
import json

pycqed/instrument_drivers/meta_instrument/qubit_objects/QuDev_transmon.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import logging
2+
log = logging.getLogger(__name__)
23
import numpy as np
34
import matplotlib.pyplot as plt
45
from copy import deepcopy
@@ -30,8 +31,6 @@
3031
from pycqed.measurement import mc_parameter_wrapper
3132
import pycqed.analysis_v2.spectroscopy_analysis as sa
3233
from pycqed.utilities import math
33-
log = logging.getLogger()
34-
log.addHandler(logging.StreamHandler())
3534

3635
try:
3736
import pycqed.simulations.readout_mode_simulations_for_CLEAR_pulse \
@@ -2414,7 +2413,7 @@ def find_T1(self, times, n_cal_points_per_state=2, cal_states='auto',
24142413
self.T1_ef(T1)
24152414
else:
24162415
self.T1(T1)
2417-
return T1
2416+
return T1
24182417

24192418
def find_rb_gate_fidelity(self, cliffords, nr_seeds, label=None,
24202419
gate_decomposition='HZ', interleaved_gate=None,

pycqed/measurement/multi_qubit_module.py

Lines changed: 2 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,10 @@
88
import lmfit
99
from copy import deepcopy
1010
import pygsti
11-
import logging
12-
1311
from pycqed.utilities.general import temporary_value
1412

15-
log = logging.getLogger()
16-
log.addHandler(logging.StreamHandler())
13+
import logging
14+
log = logging.getLogger(__name__)
1715

1816
import pycqed.measurement.sweep_functions as swf
1917
import pycqed.measurement.awg_sweep_functions as awg_swf
@@ -729,100 +727,6 @@ def measure_parity_single_round(ancilla_qubit, data_qubits, CZ_map,
729727
))
730728

731729

732-
def measure_multi_parity_multi_round(ancilla_qubits, data_qubits,
733-
parity_map, CZ_map,
734-
prep=None, upload=True, prep_params=None,
735-
mode='tomo',
736-
parity_seperation=1100e-9,
737-
rots_basis=('I', 'Y90', 'X90'),
738-
parity_loops = 1,
739-
cal_points=None, analyze=True,
740-
exp_metadata=None, label=None,
741-
detector='int_log_det'):
742-
"""
743-
744-
:param ancilla_qubit:
745-
:param data_qubits:
746-
:param CZ_map: example:
747-
{'CZ qb1 qb2': ['Y90 qb1', 'CX qb1 qb2', 'mY90 qb1'],
748-
'CZ qb3 qb4': ['CZ qb4 qb3']}
749-
:param preps:
750-
:param upload:
751-
:param prep_params:
752-
:param cal_points:
753-
:param analyze:
754-
:param exp_metadata:
755-
:param label:
756-
:param detector:
757-
:return:
758-
"""
759-
760-
qubits = ancilla_qubits + data_qubits
761-
qb_names = [qb.name for qb in qubits]
762-
for qb in qubits:
763-
qb.prepare(drive='timedomain')
764-
765-
if label is None:
766-
label = 'S7-rounds_' + str(parity_loops) + '_' + '-'.join(rots_basis) + \
767-
'_' + '-'.join([qb.name for qb in qubits])
768-
769-
if prep_params is None:
770-
prep_params = get_multi_qubit_prep_params(
771-
[qb.preparation_params() for qb in qubits])
772-
773-
# if cal_points is None:
774-
# cal_points = CalibrationPoints.multi_qubit(qb_names, 'ge')
775-
776-
if prep is None:
777-
prep = 'g'*len(data_qubits)
778-
779-
MC = ancilla_qubits[0].instr_mc.get_instr()
780-
781-
seq, sweep_points = mqs.multi_parity_multi_round_seq(
782-
[qb.name for qb in ancilla_qubits],
783-
[qb.name for qb in data_qubits],
784-
parity_map,
785-
CZ_map,
786-
prep,
787-
operation_dict = get_operation_dict(qubits),
788-
mode=mode,
789-
parity_seperation=parity_seperation,
790-
rots_basis=rots_basis,
791-
parity_loops=parity_loops,
792-
cal_points=cal_points,
793-
prep_params=prep_params,
794-
upload=upload)
795-
796-
MC.set_sweep_function(awg_swf.SegmentHardSweep(
797-
sequence=seq, upload=False, parameter_name='Tomography'))
798-
MC.set_sweep_points(sweep_points)
799-
800-
rounds = 0
801-
for k in range(len(parity_map)):
802-
if parity_map[k]['round'] > rounds:
803-
rounds = parity_map[k]['round']
804-
rounds += 1
805-
806-
MC.set_detector_function(
807-
get_multiplexed_readout_detector_functions(
808-
qubits,
809-
nr_averages=ancilla_qubits[0].acq_averages(),
810-
nr_shots=ancilla_qubits[0].acq_shots(),
811-
)[detector])
812-
if exp_metadata is None:
813-
exp_metadata = {}
814-
exp_metadata.update(
815-
{'sweep_name': 'Tomography',
816-
'preparation_params': prep_params,
817-
'hard_sweep_params': {'tomo': {'values': np.arange(0, len(sweep_points)),
818-
'unit': ''}}
819-
})
820-
821-
MC.run(label, exp_metadata=exp_metadata)
822-
823-
if analyze:
824-
tda.MultiQubit_TimeDomain_Analysis(qb_names=qb_names)
825-
826730
def measure_tomography(qubits, prep_sequence, state_name,
827731
rots_basis=('I', 'X180', 'Y90', 'mY90', 'X90', 'mX90'),
828732
use_cal_points=True,

0 commit comments

Comments
 (0)