Informatyka kwantowa wykorzystuje kluczowe zjawiska opisujące zachowanie cząstek w mikroskali, takie jak superpozycja, która umożliwia cząstce przebywanie jednocześnie w wielu możliwych stanach. Dopiero wykonanie pomiaru powoduje ujawnienie konkretnej wartości. Superpozycja jest jednym z elementów umożliwiających tworzenie bardzo złożonych stanów kwantowych, trudnych do obliczenia klasycznymi metodami.

Superpozycja to stan, w którym kubit znajduje się w kilku stanach jednocześnie. Jedną z bramek, która może utworzyć stan superpozycji jest bramka Hadamarda. Jej zapis macierzowy ma następującą postać:
![Rendered by QuickLaTeX.com \[H = \frac{1}{\sqrt{2}} \begin{bmatrix} 1 & 1\\ 1 & -1 \end{bmatrix}\]](https://quantum.psnc.pl/wp-content/ql-cache/quicklatex.com-2be305caac5dcc1cb35f599df615eba3_l3.png)
Wartość
odpowiada za normalizację amplitudy. Zauważmy, że bramka Hadamarda działając na każdy z dwóch stanów bazowych, doprowadza do sytuacji, w której prawdopodobieństwa zmierzenia stanów
i
są identyczne i równe 50%.
![Rendered by QuickLaTeX.com \[H|0\rangle = \frac{1}{\sqrt{2}} \begin{bmatrix} 1 & 1\\ 1 & -1 \end{bmatrix} \begin{bmatrix} 1\\ 0 \end{bmatrix} = \frac{1}{\sqrt{2}} \begin{bmatrix} 1\\ 1 \end{bmatrix} = \frac{1}{\sqrt{2}} |0\rangle + \frac{1}{\sqrt{2}} |1\rangle = |+\rangle\]](https://quantum.psnc.pl/wp-content/ql-cache/quicklatex.com-e34646122e71f2a5e94745f4ffa1d6b0_l3.png)
![Rendered by QuickLaTeX.com \[\left(\frac{1}{\sqrt{2}}\right)^2 = \frac{1}{2}\]](https://quantum.psnc.pl/wp-content/ql-cache/quicklatex.com-5bc9bf458ce6399e35fe7c874a8d75c5_l3.png)
![Rendered by QuickLaTeX.com \[H|1\rangle = \frac{1}{\sqrt{2}} \begin{bmatrix} 1 & 1\\ 1 & -1 \end{bmatrix} \begin{bmatrix} 0\\ 1 \end{bmatrix} = \frac{1}{\sqrt{2}} \begin{bmatrix} 1\\ -1 \end{bmatrix} = \frac{1}{\sqrt{2}} |0\rangle - \frac{1}{\sqrt{2}} |1\rangle = |-\rangle\]](https://quantum.psnc.pl/wp-content/ql-cache/quicklatex.com-753609b68f5621c1146d4e1542b9684f_l3.png)
![Rendered by QuickLaTeX.com \[\left(\frac{1}{\sqrt{2}}\right)^2 = \frac{1}{2} \hspace{1cm} \left(-\frac{1}{\sqrt{2}}\right)^2 = \frac{1}{2}\]](https://quantum.psnc.pl/wp-content/ql-cache/quicklatex.com-70aeefe54b37b8775460f19cdb1f4d59_l3.png)
Poniżej przedstawiono przykładowy obwód z bramką Hadamarda, który będzie na wyjściu mierzył 0 i 1 z prawdopodobieństwem równym
.
from qiskit import QuantumCircuit
qc = QuantumCircuit(1)
qc.h(0)
qc.measure_all()
qc.draw()Code language: Python (python)
W praktyce, ponieważ kod jest uruchamiany na symulatorze komputera kwantowego, rzeczywisty rozkład może różnić się od teoretycznego. Ważnym parametrem jest w tym przypadku liczba uruchomień obwodu — parametr shots. Zwiększenie go sprawia, że wyniki bliższe są teoretycznym przewidywaniom, ale wydłuża obliczenia, zwłaszcza dla bardziej złożonych obwodów.
from qiskit.primitives import StatevectorSampler
from qiskit.visualization import plot_histogram
sampler = StatevectorSampler()
job = sampler.run([qc], shots=1024)
result = job.result()[0]
counts = result.data.meas.get_counts()
plot_histogram(counts)
Code language: Python (python)