Skip to content

Commit

Permalink
#5 Delete: print statements and unused imports
Browse files Browse the repository at this point in the history
  • Loading branch information
mapa21 committed May 10, 2024
1 parent 57cc274 commit 33cf417
Showing 1 changed file with 23 additions and 30 deletions.
53 changes: 23 additions & 30 deletions weak_global_coin.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,7 @@
"outputs": [],
"source": [
"from qiskit import QuantumCircuit\n",
"from qiskit.quantum_info import Statevector\n",
"from qiskit.visualization import plot_histogram\n",
"from qiskit_aer import Aer, AerSimulator\n",
"from qiskit_aer import AerSimulator\n",
"import numpy as np\n",
"from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager\n",
"from qiskit_ibm_runtime import SamplerV2"
Expand All @@ -38,11 +36,10 @@
"metadata": {},
"outputs": [],
"source": [
"n = 10\n",
"n = 4\n",
"n_cube = pow(n,3)\n",
"\n",
"qb_per_process = int(np.ceil(np.log2(n_cube)))\n",
"total_qubits = n * qb_per_process"
"qb_per_process = int(np.ceil(np.log2(n_cube)))"
]
},
{
Expand Down Expand Up @@ -73,6 +70,7 @@
" self.coin = qc\n",
" \n",
" def generate_leader_circuit(self):\n",
" total_qubits = n * qb_per_process\n",
" qc = QuantumCircuit(total_qubits)\n",
" qc.h(range(0, qb_per_process))\n",
"\n",
Expand Down Expand Up @@ -100,9 +98,8 @@
" self.system = system\n",
" self.result = None\n",
" self.memory = None\n",
" def measure_circuit_sampler(self):\n",
" def measure_circuit(self):\n",
" aer_sim = AerSimulator(method=\"stabilizer\")\n",
" #aer_sim = AerSimulator()\n",
" pm = generate_preset_pass_manager(backend=aer_sim, optimization_level=1)\n",
" isa_qc = pm.run(self.system)\n",
" sampler = SamplerV2(backend=aer_sim)\n",
Expand All @@ -122,7 +119,7 @@
"\n",
"receivers → set of processes meant to receive the message\n",
"\n",
"circuit → message from sender to receiver(s)"
"system → message (i.e. a circuit) from sender to receiver(s)"
]
},
{
Expand All @@ -135,10 +132,7 @@
" def __init__(self, sender, receivers, system) -> None:\n",
" self.sender = sender\n",
" self.receivers = receivers\n",
" self.circuit = Circuit(system)\n",
" def __str__(self):\n",
" return f\"sender: {self.sender} | receivers: {self.receivers} | memory: {self.circuit.memory}\"\n",
" "
" self.circuit = Circuit(system) "
]
},
{
Expand Down Expand Up @@ -210,7 +204,7 @@
"metadata": {},
"outputs": [],
"source": [
"def get_highest_leader():\n",
"def get_highest_leader_id():\n",
" leader_measurements = {}\n",
" for i in range(len(leader_msgs)):\n",
" process_id = leader_msgs[i].sender\n",
Expand All @@ -223,12 +217,11 @@
" existing_ids = [process_id]\n",
"\n",
" leader_measurements.update({leader_outcome:existing_ids})\n",
" print(leader_measurements)\n",
" highest_leader_outcome = max(leader_measurements)\n",
"\n",
" leader_processes_ids = leader_measurements.get(highest_leader_outcome)\n",
" leader_processes_ids.sort()\n",
" print(\"after sort: \", leader_processes_ids)\n",
" print(\"highest_leader: \", leader_processes_ids[0])\n",
" \n",
" return leader_processes_ids[0]"
]
},
Expand All @@ -238,23 +231,23 @@
"metadata": {},
"outputs": [],
"source": [
"for i in range(n):\n",
" send_coin(i)\n",
" send_leader(i)\n",
"def quantum_coin_flip():\n",
" for i in range(n):\n",
" send_coin(i)\n",
" send_leader(i)\n",
"\n",
"for i in range(len(leader_msgs)):\n",
" leader_msgs[i].circuit.measure_circuit_sampler()\n",
" print(\"leader: \", int(leader_msgs[i].circuit.memory[:qb_per_process], 2), leader_msgs[i].circuit.memory[:qb_per_process])\n",
" for i in range(len(leader_msgs)):\n",
" leader_msgs[i].circuit.measure_circuit()\n",
"\n",
"leader_process_id = get_highest_leader()\n",
" leader_process_id = get_highest_leader_id()\n",
"\n",
"leader_coin = None\n",
" leader_coin = None\n",
"\n",
"for i in range(len(coin_msgs)):\n",
" if coin_msgs[i].sender == leader_process_id:\n",
" coin_msgs[i].circuit.measure_circuit_sampler()\n",
" leader_coin = coin_msgs[i].circuit.memory\n",
"print(\"leader_coin: \", leader_coin)"
" for i in range(len(coin_msgs)):\n",
" if coin_msgs[i].sender == leader_process_id:\n",
" coin_msgs[i].circuit.measure_circuit()\n",
" leader_coin = coin_msgs[i].circuit.memory\n",
" return leader_coin"
]
}
],
Expand Down

0 comments on commit 33cf417

Please sign in to comment.