示例#1
0
    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)
示例#3
0
    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)
    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)