Skip to content

Commit

Permalink
Added reporting of time taken for quantum algorithm to run on QC
Browse files Browse the repository at this point in the history
  • Loading branch information
Saad-Mufti committed Nov 23, 2019
1 parent 6cfc760 commit 6094cae
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 3 deletions.
Binary file added Energy Plant Locations.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 9 additions & 3 deletions Energy Plants.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import pandas as pd
# import networkx as nx
import networkx as nx
from pyquil.api import WavefunctionSimulator
from pyquil.paulis import PauliSum, PauliTerm
from entropica_qaoa.utilities import hamiltonian_from_distances
Expand All @@ -11,6 +11,8 @@
from math import log
from entropica_qaoa.utilities import cluster_accuracy, max_probability_bitstring
from entropica_qaoa.utilities import distances_dataset
from entropica_qaoa.utilities import graph_from_hamiltonian
from entropica_qaoa.utilities import plot_graph
from scipy.spatial.distance import pdist
import geopy.distance

Expand Down Expand Up @@ -42,6 +44,9 @@
print(dist)

hamiltonian = hamiltonian_from_distances(dist)
G = graph_from_hamiltonian(hamiltonian)
plot_graph(G)
# nx.draw(G)
timesteps = 3
iterations = 500
n_qubits = 16
Expand Down Expand Up @@ -70,13 +75,14 @@ def run_qaoa(hamiltonian, params, timesteps, max_iters, init_state=None):
return cost_function.get_wavefunction(params.raw()), res

t0 = time.time()
wave_func, res = run_qaoa(hamiltonian, params, timesteps=3, max_iters=2500)
wave_func, res = run_qaoa(hamiltonian, params, timesteps=3, max_iters=4500)

print('Run complete!\n','Runtime:','{:.3f}'.format(time.time()-t0))
t0 = time.time()
wave_func = cost_function.get_wavefunction(params.raw())
lowest = max_probability_bitstring(wave_func.probabilities())

true_clusters = [1 if val else 0 for val in bools]
print(cluster_accuracy(lowest,true_clusters))

print('Full Run complete!\n','Runtime:','{:.3f}'.format(time.time()-t0))
print(res)
1 change: 1 addition & 0 deletions TestOutput1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
��

0 comments on commit 6094cae

Please sign in to comment.