VQE n'est-il pas à l'ère du NISQ? (Est-ce vraiment à venir ...?) J'ai donc essayé d'implémenter un problème simple avec Blueqat. Cette fois, je vais essayer de résoudre un problème d'optimisation de combinaison trivial afin de vérifier le fonctionnement du programme.
Résolvez les combinaisons suivantes de $ q (0) $ et $ q (1) $ qui minimisent le hamiltonien $ H
À propos, l'hamiltonien prend les valeurs suivantes pour toutes les combinaisons de $ q (0) et q (1) $.
from blueqat.pauli import qubo_bit as q
from blueqat.vqe import Vqe, QaoaAnsatz
#Hamiltonian
h = 1.0 - q(0) - q(1)
ansatz = QaoaAnsatz(h, 10)
runner = Vqe(ansatz)
result = runner.run()
print("mode:")
print(result.most_common())
print("minimum value:")
print(runner.ansatz.get_energy(result.circuit, runner.sampler))
Je n'expliquerai pas les détails du code source, mais c'est assez facile à écrire.
mode:
(((1, 1), 0.9999999999996781),)
minimum value:
-0.9999999999996781
Une combinaison de solutions de $ (1,1) \ rightarrow q (0) = 1, q (1) = 1 $
$ 0.999999999996781 \ rightarrow (1,1) $ Probabilité d'apparence (le résultat change à chaque exécution)
C'était vraiment facile à mettre en œuvre! Dans le futur, j'aimerais faire quelques applications.
Recommended Posts