Tidy up examples (#2191)

* Fixed teleport example

* Tidied up 3 other examples

* Tidied up some print statements
This commit is contained in:
Maddy Tod 2019-04-24 19:18:12 +01:00 committed by Kevin Krsulich
parent 33c7310006
commit 56ee4ca815
6 changed files with 17 additions and 13 deletions

View File

@ -1,7 +1,7 @@
from qiskit import *
from qiskit.transpiler import PassManager
from qiskit.transpiler.passes import CommutationAnalysis, CommutationTransformation
from qiskit.transpiler.passes import CommutationAnalysis, CommutativeCancellation
from qiskit.transpiler import transpile
qr = QuantumRegister(5, 'qr')
@ -23,7 +23,7 @@ print(circuit.draw())
pm = PassManager()
pm.append([CommutationAnalysis(), CommutationTransformation()])
pm.append([CommutationAnalysis(), CommutativeCancellation()])
# TODO make it not needed to have a backend
backend_device = BasicAer.get_backend('qasm_simulator')

View File

@ -20,18 +20,19 @@ from qiskit.providers.ibmq import least_busy
###############################################################
# Make a quantum circuit for the GHZ state.
###############################################################
q = QuantumRegister(5, "q")
c = ClassicalRegister(5, "c")
num_qubits = 5
q = QuantumRegister(num_qubits, "q")
c = ClassicalRegister(num_qubits, "c")
qc = QuantumCircuit(q, c, name='ghz')
# Create a GHZ state
qc.h(q[0])
for i in range(4):
for i in range(num_qubits-1):
qc.cx(q[i], q[i+1])
# Insert a barrier before measurement
qc.barrier()
# Measure all of the qubits in the standard basis
for i in range(5):
for i in range(num_qubits):
qc.measure(q[i], c[i])
###############################################################
@ -48,7 +49,7 @@ except:
sim_backend = BasicAer.get_backend('qasm_simulator')
job = execute(qc, sim_backend, shots=1024)
result = job.result()
print('Qasm simulator')
print('Qasm simulator : ')
print(result.get_counts(qc))
# Second version: real device
@ -57,4 +58,5 @@ least_busy_device = least_busy(IBMQ.backends(simulator=False,
print("Running on current least busy device: ", least_busy_device)
job = execute(qc, least_busy_device, shots=1024)
result = job.result()
print('Physical device (%s) : ' % least_busy_device)
print(result.get_counts(qc))

View File

@ -60,7 +60,7 @@ try:
result_exp = job_exp.result()
# Show the results
print(result_exp.get_counts(qc))
print('Counts: ', result_exp.get_counts(qc))
except QiskitError as ex:
print('There was an error in the circuit!. Error = {}'.format(ex))

View File

@ -56,7 +56,7 @@ print(circuit.qasm())
shots = 10000
# Desired vector
print("Desired probabilities...")
print("Desired probabilities: ")
print(str(list(map(lambda x: format(abs(x * x), '.3f'), desired_vector))))
# Initialize on local simulator
@ -64,11 +64,11 @@ sim_backend = BasicAer.get_backend('qasm_simulator')
job = execute(circuit, sim_backend, shots=shots)
result = job.result()
print("Probabilities from simulator...[%s]" % result)
n_qubits_qureg = qr.size
counts = result.get_counts(circuit)
qubit_strings = [format(i, '0%sb' % n_qubits_qureg) for
i in range(2 ** n_qubits_qureg)]
print("Probabilities from simulator: ")
print([format(counts.get(s, 0) / shots, '.3f') for
s in qubit_strings])

View File

@ -14,8 +14,8 @@ used `pip install`, the examples only work from the root directory.
import math
from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit
from qiskit import execute, BasicAer, IBMQ
from qiskit.providers.ibmq import least_busy
from qiskit import execute, BasicAer
from qiskit.providers.ibmq import least_busy, IBMQ
###############################################################

View File

@ -59,7 +59,9 @@ qc.measure(q[2], c2[0])
###############################################################
# First version: not mapped
initial_layout = [q[0], q[1], q[2]]
initial_layout = {q[0]: 0,
q[1]: 1,
q[2]: 2}
job = execute(qc, backend=backend, coupling_map=None, shots=1024, initial_layout=initial_layout)
result = job.result()