1] #cleaner directly add in the HVI variable, but was a bit layzy getattr(segment, gates[0]).add_HVI_marker("dig_wait_1") getattr(segment, gates[0]).add_HVI_variable("t_measure", 100) # usually this is not done via HVI averaging, so time is just set to a dummy variable atm (thight might change in a later stage) function_info = format_name(f, args_name, args, kwargs) f(*args, **kwargs) return function_info return my_wrapper if __name__ == '__main__': from pulse_lib.segments.utility.looping import loop_obj, linspace from pulse_templates.demo_pulse_lib.virtual_awg import get_demo_lib pulse = get_demo_lib('quad') seg = pulse.mk_segment() @template_wrapper def pulse_intra(segment, gates, t_wait, t_ramp, p_0, p_1, **kwargs): pass info = pulse_intra(seg, ('P1', 'P2'), 1000, 100, (0, 0), (0.1, 3), debug=True) print(info) info = pulse_intra(seg, ('P1', 'P2'), 1000, linspace(0, 1, axis=0), (0, 1), (0.1, 3)) print(info)
linspace(0, np.pi * 4, npoints, axis=axis, name='Phase shift', unit='rad')).add(seg) gate_set_qubit_1.X.add(seg, phase_corrections={}) if __name__ == '__main__': from pulse_templates.coherent_control.single_qubit_gates.standard_set import single_qubit_std_set from pulse_templates.coherent_control.single_qubit_gates.single_qubit_gates import single_qubit_gate_spec from pulse_templates.demo_pulse_lib.virtual_awg import get_demo_lib from pulse_templates.utility.plotting import plot_seg from pulse_lib.segments.utility.looping import linspace pulse = get_demo_lib('six') seg = pulse.mk_segment() X90 = single_qubit_gate_spec( 'qubit4_MW', 1e9, 200, 120, padding=20, ) ss_set = single_qubit_std_set() ss_set.X = X90 test_pulse = single_qubit_gate_spec( 'qubit2_MW', 1e9,