def test_create_qasm_operation_dict(self): ops = self.basic_ops + ['mY180 q0'] operation_dict = qta.create_operation_dict(ops, self.pulse_pars) self.assertTrue(valid_operation_dictionary(operation_dict)) self.assertCountEqual(operation_dict.keys(), [ 'init_all', 'RO q0', 'X180 q0', 'Y180 q0', 'X90 q0', 'Y90 q0', 'mY180 q0' ]) self.assertEqual( operation_dict['X180 q0']['prepare_function_kwargs']['amplitude'], 0.5) self.assertEqual( operation_dict['X90 q0']['prepare_function_kwargs']['amplitude'], 0.5 * 0.48) self.assertEqual( operation_dict['Y180 q0']['prepare_function_kwargs']['amplitude'], 0.5) self.assertEqual( operation_dict['Y90 q0']['prepare_function_kwargs']['amplitude'], 0.5 * 0.48) self.assertEqual( operation_dict['X180 q0']['prepare_function_kwargs']['phase'], 0) self.assertEqual( operation_dict['X90 q0']['prepare_function_kwargs']['phase'], 0) self.assertEqual( operation_dict['mY180 q0']['prepare_function_kwargs']['phase'], 270) self.assertEqual( operation_dict['Y90 q0']['prepare_function_kwargs']['phase'], 90)
def test_create_qasm_operation_dict(self): ops = self.basic_ops + ['mY180 q0'] operation_dict = qta.create_operation_dict(ops, self.pulse_pars) self.assertTrue(valid_operation_dictionary(operation_dict)) self.assertCountEqual(operation_dict.keys(), ['init_all', 'RO q0', 'X180 q0', 'Y180 q0', 'X90 q0', 'Y90 q0', 'mY180 q0']) self.assertEqual( operation_dict['X180 q0']['prepare_function_kwargs']['amplitude'], 0.5) self.assertEqual( operation_dict['X90 q0']['prepare_function_kwargs']['amplitude'], 0.5*0.48) self.assertEqual( operation_dict['Y180 q0']['prepare_function_kwargs']['amplitude'], 0.5) self.assertEqual( operation_dict['Y90 q0']['prepare_function_kwargs']['amplitude'], 0.5*0.48) self.assertEqual( operation_dict['X180 q0']['prepare_function_kwargs']['phase'], 0) self.assertEqual( operation_dict['X90 q0']['prepare_function_kwargs']['phase'], 0) self.assertEqual( operation_dict['mY180 q0']['prepare_function_kwargs']['phase'], 270) self.assertEqual( operation_dict['Y90 q0']['prepare_function_kwargs']['phase'], 90)
def test_complete_sequence_loading_simple(self): ''' Tests all the loading with an AllXY sequence that contains all the basic steps but does not require mapping the allowed operations. ''' qasm_file = self.AllXY_qasm_file ops = qta.extract_required_operations(qasm_file.name) # # config needs to contain enough info to generate mapping operation_dict = qta.create_operation_dict(ops, self.pulse_pars) # operation_mapping = qta.create_operation_mapping(required_ops) # # uploads all operations in op dict with Capturing() as output: qta.prepare_operations(operation_dict) qta.qasm_to_asm(qasm_file.name, operation_dict)