Esempio n. 1
0
    def test_exact_cover_vqe(self):
        """ Exact Cover VQE test """
        algorithm_cfg = {'name': 'VQE', 'max_evals_grouped': 2}

        optimizer_cfg = {'name': 'COBYLA'}

        var_form_cfg = {'name': 'RYRZ', 'depth': 5}

        params = {
            'problem': {
                'name': 'ising',
                'random_seed': 10598
            },
            'algorithm': algorithm_cfg,
            'optimizer': optimizer_cfg,
            'variational_form': var_form_cfg
        }
        backend = BasicAer.get_backend('statevector_simulator')
        result = run_algorithm(params, self.algo_input, backend=backend)
        x = sample_most_likely(result['eigvecs'][0])
        ising_sol = exact_cover.get_solution(x)
        oracle = self._brute_force()
        self.assertEqual(
            exact_cover.check_solution_satisfiability(ising_sol,
                                                      self.list_of_subsets),
            oracle)
Esempio n. 2
0
 def test_exact_cover_direct(self):
     """ Exact Cover Direct test """
     algo = ExactEigensolver(self.qubit_op, k=1, aux_operators=[])
     result = algo.run()
     x = sample_most_likely(result['eigvecs'][0])
     ising_sol = exact_cover.get_solution(x)
     np.testing.assert_array_equal(ising_sol, [0, 1, 1, 0])
     oracle = self._brute_force()
     self.assertEqual(exact_cover.check_solution_satisfiability(ising_sol, self.list_of_subsets),
                      oracle)
Esempio n. 3
0
 def test_exact_cover(self):
     """ Exact Cover test """
     params = {
         'problem': {'name': 'ising'},
         'algorithm': {'name': 'ExactEigensolver'}
     }
     result = run_algorithm(params, EnergyInput(self.qubit_op))
     x = sample_most_likely(result['eigvecs'][0])
     ising_sol = exact_cover.get_solution(x)
     np.testing.assert_array_equal(ising_sol, [0, 1, 1, 0])
     oracle = self._brute_force()
     self.assertEqual(exact_cover.check_solution_satisfiability(ising_sol, self.list_of_subsets),
                      oracle)
Esempio n. 4
0
 def test_exact_cover_vqe(self):
     """ Exact Cover VQE test """
     aqua_globals.random_seed = 10598
     result = VQE(self.qubit_op,
                  RYRZ(self.qubit_op.num_qubits, depth=5),
                  COBYLA(),
                  max_evals_grouped=2).run(
                      QuantumInstance(BasicAer.get_backend('statevector_simulator'),
                                      seed_simulator=aqua_globals.random_seed,
                                      seed_transpiler=aqua_globals.random_seed))
     x = sample_most_likely(result['eigvecs'][0])
     ising_sol = exact_cover.get_solution(x)
     oracle = self._brute_force()
     self.assertEqual(exact_cover.check_solution_satisfiability(ising_sol, self.list_of_subsets),
                      oracle)