forked from poojarao8/qswift-konakaji
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathh.py
28 lines (24 loc) · 1.09 KB
/
h.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import logging
from qwrapper.hamiltonian import Hamiltonian, to_matrix_hamiltonian
from qwrapper.obs import PauliObservable
from benchmark.molecule import MolecularHamiltonian
from qswift.exact import ExactComputation
from qswift.initializer import XBasisInitializer
from qswift.qswift import QSwift
import random, numpy as np
if __name__ == '__main__':
t = 1
logging.getLogger("qswift.executor.QSwiftExecutor").setLevel(logging.DEBUG)
logging.getLogger("qswift.qswift.QSwift").setLevel(logging.INFO)
obs = Hamiltonian([1, 1], [PauliObservable("ZIIIIIII"), PauliObservable("ZZIIIIII")], 8)
hamiltonian = MolecularHamiltonian(8, "6-31g", "hydrogen")
initializer = XBasisInitializer()
exact = ExactComputation(to_matrix_hamiltonian(obs),
to_matrix_hamiltonian(hamiltonian), t, initializer)
ex = exact.compute()
N = 200
random.seed(0)
np.random.seed(0)
qswift = QSwift(obs, initializer, t=t, N=N, K=2, nshot=0, n_p=10000, tool="qulacs")
result = qswift.evaluate(hamiltonian)
print(ex, result.sum(0), result.sum(1), result.sum(2))