Add first QC experiments.

Bell states in the Microsoft Quantum SDK and Rigetti's pyQuil.
This commit is contained in:
2018-06-11 09:41:09 -07:00
parent 6ad979d28f
commit c633b08cbd
6 changed files with 132 additions and 0 deletions

35
qc/quil/bell/bell.py Executable file
View File

@@ -0,0 +1,35 @@
#!/usr/bin/env python3
# bell.py tries to run the same Bell state program demonstrating simple
# entanglement of qubits.
from pyquil.quil import Program
from pyquil.api import QVMConnection
from pyquil.gates import CNOT, H
def main():
qvm = QVMConnection()
print('Constructing program.')
p = Program()
p.inst(H(0)).inst(CNOT(0, 1)).measure(0, 0).measure(1, 1)
print('Constructed program:')
print('--------------------')
print(p)
print('--------------------')
print('\nRunning program on simulator.')
results = qvm.run(p, trials=1000)
stats = {0: 0, 1: 0, 'agreement': 0}
for result in results:
if result[0] == 0:
stats[0] += 1
if result[0] == 1:
stats[1] += 1
if result[0] == result[1]:
stats['agreement'] += 1
print('Results: |0>: {:d} |1>: {:d} agree: {:d}'.format(
stats[0], stats[1], stats['agreement']))
if __name__ == '__main__':
main()