mirror of
https://github.com/quantumjim/Quantum-Computation-course-Basel.git
synced 2026-09-30 09:38:22 +02:00
261 KiB
261 KiB
In [4]:
from qiskit import *
from qiskit.visualization import plot_histogram
%config InlineBackend.figure_format = 'svg' # Makes the images look niceIn [5]:
measure_z = QuantumCircuit(1,1)
measure_z.measure(0,0)
measure_z.draw(output='mpl')Out [5]:
In [6]:
measure_x = QuantumCircuit(1,1)
measure_x.h(0)
measure_x.measure(0,0)
measure_x.draw(output='mpl')Out [6]:
In [7]:
qc_0 = QuantumCircuit(1)
qc_0.draw(output='mpl')Out [7]:
In [11]:
qc = qc_0.compose(measure_z)
print('Results for z measurement:')
counts = execute(qc,Aer.get_backend('aer_simulator')).result().get_counts()
plot_histogram(counts)Out [11]:
Results for z measurement:
In [12]:
qc = qc_0.compose(measure_x)
print('Results for x measurement:')
counts = execute(qc,Aer.get_backend('aer_simulator')).result().get_counts()
plot_histogram(counts)Out [12]:
Results for x measurement:
In [13]:
qc_plus = QuantumCircuit(1)
qc_plus.h(0)
qc_plus.draw(output='mpl')Out [13]:
In [14]:
qc = qc_plus.compose(measure_z)
qc.draw()
print('Results for z measurement:')
counts = execute(qc,Aer.get_backend('aer_simulator')).result().get_counts()
plot_histogram(counts)Out [14]:
Results for z measurement:
In [15]:
qc = qc_plus.compose(measure_x)
print('Results for x measurement:')
counts = execute(qc,Aer.get_backend('aer_simulator')).result().get_counts()
plot_histogram(counts)Out [15]:
Results for x measurement:
In [16]:
qc_y = QuantumCircuit(1)
qc_y.ry( -3.14159/4,0)
qc_y.draw(output='mpl')Out [16]:
In [17]:
qc = qc_y.compose(measure_z)
print('Results for z measurement:')
counts = execute(qc,Aer.get_backend('aer_simulator')).result().get_counts()
plot_histogram(counts)Out [17]:
Results for z measurement:
In [18]:
qc = qc_y.compose(measure_x)
print('\nResults for x measurement:')
counts = execute(qc,Aer.get_backend('aer_simulator')).result().get_counts()
plot_histogram(counts)Out [18]:
Results for x measurement:
In [19]:
qc_hardy = QuantumCircuit(2)
qc_hardy.ry(1.911,1)
qc_hardy.cx(1,0)
qc_hardy.ry(0.785,0)
qc_hardy.cx(1,0)
qc_hardy.ry(2.356,0)
qc_hardy.draw(output='mpl')Out [19]:
In [20]:
measurements = QuantumCircuit(2,2)
# z measurement on both qubits
measurements.measure(0,0)
measurements.measure(1,1)
qc = qc_hardy.compose(measurements)
print('\nResults for two z measurements:')
counts = execute(qc,Aer.get_backend('aer_simulator')).result().get_counts()
plot_histogram(counts)Out [20]:
Results for two z measurements:
In [21]:
measurements = QuantumCircuit(2,2)
# x measurement on qubit 0
measurements.h(0)
measurements.measure(0,0)
# z measurement on qubit 1
measurements.measure(1,1)
qc = qc_hardy.compose(measurements)
print('\nResults for two x measurement on qubit 0 and z measurement on qubit 1:')
counts = execute(qc,Aer.get_backend('aer_simulator')).result().get_counts()
plot_histogram(counts)Out [21]:
Results for two x measurement on qubit 0 and z measurement on qubit 1:
In [22]:
measurements = QuantumCircuit(2,2)
measurements.h(0)
measurements.measure(0,0)
measurements.h(1)
measurements.measure(1,1)
qc = qc_hardy.compose(measurements)
print('\nResults for two x measurement on both qubits:')
counts = execute(qc,Aer.get_backend('aer_simulator')).result().get_counts()
plot_histogram(counts)Out [22]:
Results for two x measurement on both qubits:
In [23]:
import qiskit.tools.jupyter
%qiskit_version_tableVersion Information
| Qiskit Software | Version |
|---|---|
qiskit-terra | 0.24.1 |
qiskit-aer | 0.12.1 |
qiskit-ibmq-provider | 0.20.2 |
qiskit | 0.43.2 |
| System information | |
| Python version | 3.10.6 |
| Python compiler | Clang 12.0.0 |
| Python build | main, Oct 24 2022 11:04:34 |
| OS | Darwin |
| CPUs | 4 |
| Memory (Gb) | 32.0 |
| Tue Sep 19 12:48:21 2023 CEST | |
In [ ]:
