mirror of https://github.com/Qiskit/qiskit.git
Tidy up examples (#2191)
* Fixed teleport example * Tidied up 3 other examples * Tidied up some print statements
This commit is contained in:
parent
33c7310006
commit
56ee4ca815
|
@ -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')
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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])
|
||||
|
|
|
@ -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
|
||||
|
||||
|
||||
###############################################################
|
||||
|
|
|
@ -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()
|
||||
|
|
Loading…
Reference in New Issue