from qiskit import *
from math import pi
import numpy as np
from qiskit.visualization import *
import matplotlib.pyplot as plt
qc = QuantumCircuit(1)
qc.h(0)
qc.draw(output='mpl')
# Let's see the result
backend = Aer.get_backend('statevector_simulator')
out = execute(qc,backend).result().get_statevector()
print(out)
plot_bloch_multivector(out)
[0.70710678+0.j 0.70710678+0.j]
# Run the quantum circuit on a unitary simulator backend
backend = Aer.get_backend('unitary_simulator')
job = execute(qc, backend)
result = job.result()
# Show the results
print(result.get_unitary(qc, decimals=3))
[[ 0.707+0.j 0.707-0.j] [ 0.707+0.j -0.707+0.j]]
qc = QuantumCircuit(2)
qc.h(0)
qc.x(1)
qc.barrier()
qc.h(1)
qc.draw(output='mpl')
# Let's see the result
backend = Aer.get_backend('statevector_simulator')
out = execute(qc,backend).result().get_statevector()
print(out)
plot_bloch_multivector(out)
[ 0.5-6.123234e-17j 0.5-6.123234e-17j -0.5+6.123234e-17j -0.5+6.123234e-17j]
(H⊗I)×(X⊗H)
# Run the quantum circuit on a unitary simulator backend
backend = Aer.get_backend('unitary_simulator')
job = execute(qc, backend)
result = job.result()
# Show the results
print(result.get_unitary(qc, decimals=3))
[[ 0.5-0.j 0.5-0.j 0.5+0.j 0.5-0.j] [ 0.5-0.j -0.5+0.j 0.5+0.j -0.5+0.j] [-0.5+0.j -0.5+0.j 0.5+0.j 0.5-0.j] [-0.5+0.j 0.5-0.j 0.5+0.j -0.5+0.j]]
qc = QuantumCircuit(3)
qc.h(0)
qc.h(1)
qc.h(2)
qc.barrier()
qc1 = qc.copy()
qc.x(0)
qc.y(1)
qc.z(2)
qc.barrier()
qc2 = qc.copy()
qc.x(0)
qc.y(1)
qc.z(2)
qc.barrier()
qc3 = qc.copy()
qc.h(0)
qc.h(1)
qc.h(2)
qc.draw(output='mpl')
# Let's see the result
backend = Aer.get_backend('statevector_simulator')
out = execute(qc,backend).result().get_statevector()
print(out)
plot_bloch_multivector(out)
[ 1.00000000e+00-1.83697020e-16j 7.49879891e-33+6.12323400e-17j 3.74939946e-33+6.12323400e-17j -3.74939946e-33+2.29584502e-49j 0.00000000e+00+6.12323400e-17j -3.74939946e-33+0.00000000e+00j -3.74939946e-33+0.00000000e+00j 0.00000000e+00-2.29584502e-49j]
# Run the quantum circuit on a unitary simulator backend
backend = Aer.get_backend('unitary_simulator')
job = execute(qc, backend)
result = job.result()
# Show the results
print(result.get_unitary(qc, decimals=3))
[[ 1.-0.j 0.+0.j 0.+0.j -0.+0.j 0.+0.j -0.+0.j -0.+0.j 0.-0.j] [ 0.+0.j 1.-0.j -0.+0.j 0.+0.j -0.+0.j 0.+0.j 0.-0.j -0.+0.j] [ 0.+0.j -0.+0.j 1.-0.j 0.+0.j -0.+0.j 0.-0.j 0.+0.j -0.+0.j] [-0.+0.j 0.+0.j 0.+0.j 1.-0.j 0.-0.j -0.+0.j -0.+0.j 0.+0.j] [ 0.+0.j -0.+0.j -0.+0.j 0.-0.j 1.-0.j 0.+0.j 0.+0.j -0.+0.j] [-0.+0.j 0.+0.j 0.-0.j -0.+0.j 0.+0.j 1.-0.j -0.+0.j 0.+0.j] [-0.+0.j 0.-0.j 0.+0.j -0.+0.j 0.+0.j -0.+0.j 1.-0.j 0.+0.j] [ 0.-0.j -0.+0.j -0.+0.j 0.+0.j -0.+0.j 0.+0.j 0.+0.j 1.-0.j]]
# Let's see the result
backend = Aer.get_backend('statevector_simulator')
out = execute(qc1,backend).result().get_statevector()
print(out)
plot_bloch_multivector(out)
[0.35355339+0.j 0.35355339+0.j 0.35355339+0.j 0.35355339+0.j 0.35355339+0.j 0.35355339+0.j 0.35355339+0.j 0.35355339+0.j]
# Let's see the result
backend = Aer.get_backend('statevector_simulator')
out = execute(qc2,backend).result().get_statevector()
print(out)
plot_bloch_multivector(out)
[ 0.-0.35355339j 0.-0.35355339j 0.+0.35355339j 0.+0.35355339j 0.+0.35355339j 0.+0.35355339j -0.-0.35355339j -0.-0.35355339j]
# Let's see the result
backend = Aer.get_backend('statevector_simulator')
out = execute(qc3,backend).result().get_statevector()
print(out)
plot_bloch_multivector(out)
[0.35355339+0.j 0.35355339+0.j 0.35355339+0.j 0.35355339+0.j 0.35355339+0.j 0.35355339+0.j 0.35355339+0.j 0.35355339+0.j]
qc = QuantumCircuit(1)
qc.s(0)
qc.draw(output='mpl')
qc = QuantumCircuit(1)
qc.sdg(0)
qc.draw(output='mpl')
qc = QuantumCircuit(1)
qc.t(0)
qc.draw(output='mpl')
qc = QuantumCircuit(1)
qc.tdg(0)
qc.draw(output='mpl')
qc = QuantumCircuit(1)
qc.x(0)
qc.barrier()
qc1 = qc.copy()
qc.h(0)
qc.barrier()
qc2 = qc.copy()
qc.s(0)
qc.barrier()
qc3 = qc.copy()
qc.s(0)
qc.barrier()
qc4 = qc.copy()
qc.s(0)
qc.barrier()
qc5 = qc.copy()
qc.sdg(0)
qc.h(0)
qc.barrier()
qc6 = qc.copy()
qc.draw(output='mpl')
# Let's see the result
backend = Aer.get_backend('statevector_simulator')
out = execute(qc,backend).result().get_statevector()
print(out)
plot_bloch_multivector(out)
[1.-1.8369702e-16j 0.+6.1232340e-17j]
# Let's see the result
backend = Aer.get_backend('statevector_simulator')
for qc in [qc1,qc2,qc3,qc4,qc5,qc6]:
out = execute(qc,backend).result().get_statevector()
print(out)
[0.+0.j 1.+0.j] [ 0.70710678-8.65956056e-17j -0.70710678+8.65956056e-17j] [ 7.07106781e-01-8.65956056e-17j -8.65956056e-17-7.07106781e-01j] [0.70710678-8.65956056e-17j 0.70710678-8.65956056e-17j] [7.07106781e-01-8.65956056e-17j 8.65956056e-17+7.07106781e-01j] [1.-1.8369702e-16j 0.+6.1232340e-17j]