qiskit with the online IBM Quantum Lab and when I run the following code
from qiskit import QuantumCircuit, Aer, execute from qiskit.visualization import plot_bloch_multivector qc = QuantumCircuit(1) qc.h(0) qc.h(0) qc.h(0) out = execute(qc,Aer.get_backend('statevector_simulator')).result().get_statevector() print(out) plot_bloch_multivector(out)
... it results in the following state vector for the qubit:
As you can see there's a very small imaginary component in the |1> amplitude.
These imaginary values pop up often with
qiskit, such as:
qc.x(0) qc.h(0) --> [ 0.70710678+0.00000000e+00j -0.70710678+8.65956056e-17j]
or even very small non-imaginary numbers, such as:
qc.x(0) qc.h(0) qc.h(0) --> [6.123234e-17+0.00000000e+00j 1.000000e+00-2.22044605e-16j]
Is this something unique to quantum mechanics/computing that actually has practical consequences when doing computation, or perhaps simply a quirk of Python's scientific notation implementation.