Notasi dirac dalam komputasi kuantum
notasi Dirac adalah cara yang ringkas dan kuat untuk menggambarkan status dan operasi kuantum. Ini dinamai sesuai dengan fisikawan Paul Dirac, yang mengembangkan notasi pada tahun 1930-an. Notasi dirac digunakan dalam komputasi kuantum untuk menggambarkan status kuantum, operasi kuantum, dan pengukuran kuantum.
Artikel ini memperkenalkan Anda pada notasi Dirac dan menunjukkan kepada Anda cara menggunakannya untuk menjelaskan status dan operasi kuantum.
Vektor dalam notasi Dirac
Ada dua jenis vektor dalam notasi Dirac: vektor bra
Jika $\psi$ adalah vektor kolom, maka Anda dapat menulisnya dalam notasi Dirac sebagai $\ket{\psi}$, di mana}$$\ket{\cdot menunjukkan bahwa itu adalah vektor ket.
Demikian pula, vektor baris $\psi^\dagger$ dinyatakan sebagai $\bra{\psi}$, yang merupakan vektor bra . Dengan kata lain, $\psi^\dagger$ diperoleh dengan menerapkan konjugasi kompleks entry-wise ke elemen transpose $\psi$. Notasi bra-ket secara langsung menyiratkan bahwa $\braket{\psi|\psi}$ adalah produk dalam vektor $\psi$ dengan dirinya sendiri, yang menurut definisi $1$.
Lebih umumnya, jika $\psi$ dan $\phi$ merupakan vektor status kuantum, maka produk dalamnya adalah $\braket{\phi|\psi}$. Produk dalam ini menyiratkan bahwa probabilitas mengukur status $\ket{\psi}$ menjadi $\ket{\phi}$ ^ $|\braket{\phi|\psi}|2$.
Dasar komputasi menyatakan $0$ dan $1$ diwakili sebagai $\begin{bmatrix} 1 \ 0 \end{bmatrix}=\ket{{0}$ dan $\begin{bmatrix} 0 \ 1 \end{bmatrix}=\ket{1}$, masing-masing.
Contoh: Mewakili operasi Hadamard dengan notasi Dirac
Mari kita terapkan gerbang Hadamard $H$ ke status kuantum $\ket{0}$ dan $\ket{1}$ menggunakan notasi Dirac:
$$ \frac{1}{\sqrt{2}}\begin{bmatrix} 1 \\ 1 \end{bmatrix}=H\ket{{0}=\ket{+}$$
\ket{ {1} = \ket{-} $$ $$ \frac{1}{\sqrt{2}}\begin{bmatrix} 1 \\ -1 \end{bmatrix}=H
Status yang dihasilkan sesuai dengan vektor unit di arah $+x$ dan $-x$ pada bola Bloch. Status-status ini juga dapat diperluas menggunakan notasi Dirac sebagai jumlah $\ket{0}$ dan $\ket{1}$:
$$ \ket{+}=\frac{{1}{\sqrt{2}}(\ket{0} + \ket{1}) $$
$$ \ket{-} = \frac{1}{\sqrt{ {2}}(\ket{0} - \ket{1}) $$
Vektor dasar komputasi
Setiap status kuantum selalu dapat dinyatakan sebagai jumlah vektor dasar komputasi dan jumlah tersebut mudah diekspresikan menggunakan notasi Dirac. Kebalikannya juga benar dalam kondisi $\ket{+}$ dan $\ket{-}$ juga membentuk dasar untuk kondisi kuantum. Anda dapat melihat ini dari fakta bahwa
$$ \ket{0} = \frac{1}{\sqrt{2}}(\ket{+} + \ket{-}) $$
$$ \ket{1} = \frac{1}{\sqrt{2}}(\ket{+} - \ket{-}) $$
Sebagai contoh notasi Dirac, pertimbangkan braket $\braket{0 | 1}$ yang merupakan produk dalam antara $0$ dan $1$. Hal ini dapat ditulis sebagai
$$ \braket{0 | 1}=\begin{bmatrix} 1 & 0 \end{bmatrix}\begin{bmatrix}0\\ 1\end{bmatrix}=0. $$
Contoh ini mengatakan bahwa $\ket{{0}$ dan $\ket{{1}$ merupakan vektor ortogonal, yang berarti bahwa $\braket{0 | 1}=\braket{1 | 0}=0.$ Juga, dengan definisi $\braket{0 | 0}=\braket{1 | 1}=1$, yang berarti bahwa kedua vektor dasar komputasi juga dapat disebut orthonormal.
Properti orthonormal ini digunakan dalam contoh berikut. Jika Anda memiliki status $\ket{\psi}={\frac{3}{5}}\ket{{1}+{\frac{{4}{5}}\ket{0}$ , maka karena $\braket{1 | 0}=0$ probabilitas mengukur $1 adalah$
$$ \big|\braket{1 |\psi}\big|^2=\left|\frac{{3}{5}\braket{1 | 1} +\frac{{4}{5}\braket{1 | 0}\right|^2=\frac{{9}{{25}. $$
Notasi produk tensor
Notasi Dirac sangat berguna untuk mengekspresikan produk tensor . Produk tensor penting dalam komputasi kuantum karena vektor keadaan yang menggambarkan dua register kuantum yang tidak berhubungan adalah produk tensor dari dua vektor keadaan.
Produk tensor $\psi\otimes\phi$ untuk dua vektor status kuantum $\phi$ dan $\psi$ ditulis dalam notasi Dirac sebagai $\ket{\psi}\otimes\ket{\phi}$. Berdasarkan konvensi, Anda juga dapat menulis produk tensor sebagai $\ket{\psi}\ket{\phi}=\ket{\psi\phi}$.
Misalnya, status dengan dua qubit yang diinisialisasi ke status nol adalah $\ket{{0}\otimes\ket{0}=\ket{0}\ket{0}=\ket{00}$.
Contoh: Jelaskan superposisi dengan notasi Dirac
Sebagai contoh lain tentang bagaimana Anda dapat menggunakan notasi Dirac untuk menggambarkan status kuantum, pertimbangkan cara-cara yang setara berikut untuk menulis status kuantum yang merupakan superposisi yang sama atas setiap string bit panjang $n yang mungkin$
$$ H^{\otimes n}\ket{0}=\frac{1}{2^{n/2}}\sum_{j=0}^{2^n-1}\ket{j}=\ket{+}^{\otimes n}. $$
Di sini Anda mungkin bertanya-tanya mengapa jumlahnya berkisar dari $0$ hingga $2^{n}-1$ untuk $n$ bit. Pertama, perhatikan bahwa ada $2^{n}$ konfigurasi berbeda yang $dapat diambil oleh n$ bit. Anda dapat melihat ini dengan mencatat bahwa satu bit dapat mengambil nilai $2$ tetapi dua bit dapat mengambil nilai $4$ dan seterusnya. Secara umum, ini berarti bahwa ada $2^n$ string bit yang mungkin berbeda tetapi nilai terbesar yang dikodekan di salah satu dari mereka $1\cdots 1=2^n-1$ dan karenanya itu adalah batas atas untuk jumlah tersebut. Sebagai catatan samping, dalam contoh ini Anda tidak menggunakan +^ n+ dalam analogi ke $\ket{}^{\otimes n}=\ket{}$$\ket{{0}.{\otimes}=\ket{{0}$ Konvensi notasi ini dicadangkan untuk status dasar komputasi dengan setiap kubit diinisialisasi menjadi nol. Meskipun konvensi seperti itu masuk akal dalam kasus ini, konvensi tersebut tidak digunakan dalam literatur komputasi kuantum.
Ekspresikan linearitas dengan notasi Dirac
Fitur lain dari notasi Dirac adalah fakta bahwa itu linier. Misalnya, untuk dua angka $\alpha$ kompleks dan $\beta$, Anda dapat menulis
$$ \ket{\psi} \otimes ( \alpha\ket{\phi} + \beta\ket{\chi})=\alpha\ket{\psi}\ket{\phi} + \beta\ket{\psi}\ket{\chi}.$$
Artinya, Anda dapat mendistribusikan notasi produk tensor dalam notasi Dirac sehingga mengambil produk tensor antara vektor status akhirnya terlihat seperti perkalian biasa.
Vektor bra mengikuti konvensi yang mirip dengan vektor ket. Misalnya, vektor $\bra{\psi}\bra{\phi}$ setara dengan $\psi^\dagger\otimes\phi^\dagger=(\psi\otimes\phi)^\dagger$ vektor status. Jika vektor $\ket{\psi}$ ket adalah $\alpha\ket{0} + \beta\ket{1}$, maka versi vektor bra vektor adalah $\bra{\psi}=\ket{\psi}^\dagger= (\bra{{0}\alpha^* +\bra{1}\beta^*).$
Sebagai contoh, bayangkan Bahwa Anda ingin menghitung probabilitas mengukur status $\ket{\psi}=\frac{3}{5}\ket{{1}+ \frac{4}{5}\ket{0}$ menggunakan program kuantum untuk mengukur status menjadi $\ket{+}$ atau .$\ket{{-}$ Kemudian probabilitas bahwa perangkat akan mengeluarkan bahwa status adalah $\ket{-}$
$$|\braket{- |\psi}|^2=\left|\frac{{1}{\sqrt{{2}}(\bra{0} - \bra{{1})(\frac{3}{5}\ket{{1} + \frac{{4}{5}\ket{0}) \right|^2=\left|-\frac{3}{5\sqrt{{2}} + \frac{{4}{5\sqrt{2}}\right|^2=\frac{{1}{{50}.$$
Fakta bahwa tanda negatif muncul dalam perhitungan probabilitas adalah manifestasi dari interferensi kuantum, yang merupakan salah satu mekanisme di mana komputasi kuantum memperoleh keuntungan dibandingkan komputasi klasik.
ketbra atau produk luar
Item terakhir yang layak dibahas dalam notasi Dirac adalah ketbra atau produk luar. Produk luar diwakili dalam notasi Dirac sebagai $\ket{\psi}\bra{\phi}$. Produk luar didefinisikan melalui perkalian matriks sebagai $\ket{\psi}\bra{\phi}=\psi\phi^\dagger$ untuk vektor kondisi kuantum $\psi$ dan $\phi$. Contoh paling sederhana, dan bisa dibilang paling umum dari notasi ini, adalah
$$ \ket{0} \bra{ {0} = \begin{bmatrix}1\\ 0 \end{bmatrix}\begin{bmatrix}1& 0 \end{bmatrix}=\begin{bmatrix}1 & 0\\ 0 & 0\end{bmatrix}\qquad\ket{1}\bra{1}=\begin{bmatrix}0\\ 1 \end{bmatrix}\begin{bmatrix}0& 10 \end{bmatrix}=\begin{bmatrix}& 0\\ 0 & 1\end{bmatrix}. $$
Ketbras sering disebut proyektor karena mereka memproyeksikan kondisi kuantum ke nilai tetap. Karena operasi ini bukan uniter (dan bahkan tidak mempertahankan norma vektor), komputer kuantum tidak dapat menerapkan proyektor secara deterministik. Namun proyektor melakukan pekerjaan yang indah untuk menggambarkan tindakan pengukuran pada kondisi kuantum. Misalnya, jika Anda mengukur status $\ket{\psi}$$menjadi 0$, maka transformasi yang dihasilkan yang dialami status sebagai akibat dari pengukuran adalah
$$\ket{\psi} \rightarrow \frac{(\ket{{0}\bra{{0})\ket{\psi}}{|\braket{0 |\psi}|}=\ket{{0},$$
seperti yang Anda harapkan jika Anda mengukur status dan menemukannya menjadi $\ket{0}$. Untuk mengulangi, proyektor tersebut tidak dapat diterapkan pada kondisi dalam komputer kuantum deterministik. Sebaliknya, mereka dapat diterapkan paling baik secara acak dengan hasil $\ket{0}$ muncul dengan beberapa probabilitas tetap. Probabilitas keberhasilan pengukuran semacam itu dapat ditulis sebagai nilai harapan proyektor kuantum dalam kondisi
$$ \bra{\psi} (\ket{0}\bra{0})\ket{\psi}=|\braket{\psi| 0}|^2, $$
yang menggambarkan bahwa proyektor memberikan cara baru untuk mengekspresikan proses pengukuran.
Jika sebaliknya Anda mempertimbangkan untuk mengukur kubit pertama dari status multi-kubit menjadi $1$, maka Anda juga dapat menggambarkan proses ini dengan mudah menggunakan proyektor dan notasi Dirac:
$$P(\text{qubit = pertama 1})=\bra{\psi}\left(\ket{{1}\bra{{1}\otimes \mathbf{\mathbf{1}^{\otimes n-1}\right) . \ket{\psi} $$
Di sini matriks identitas dapat dengan mudah ditulis dalam notasi Dirac sebagai
$$ \mathbb{I}=\ket{{0}\bra{0}+\ket{{1}\bra{1}=\begin{bmatrix}1& 0\\ 0& 1 \end{bmatrix}. $$
Untuk kasus di mana ada dua qubit proyektor dapat diperluas sebagai
$$ \ket{1} \bra{1} \otimes \mathbb{I}=\ket{{1}\bra{1}\otimes (\ket{0}\bra{0}+\ket{1}\bra{{1})=\ket{10}\bra{{10} + . \ket{{11}\bra{{11} $$
Anda kemudian dapat melihat bahwa ini konsisten dengan diskusi tentang kemungkinan pengukuran untuk status multiqubit menggunakan notasi vektor kolom:
$$ P(\text{qubit pertama = 1})=\psi^\dagger (e_{10}e_{10}^\dagger + e_{{11}e_{{11}^\dagger)\psi=|e_{{10}^\dagger\psi|^2 + |e_{11}^\dagger\psi|^2, $$
yang cocok dengan diskusi pengukuran multi-qubit. Generalisasi hasil ini untuk kasus multi-qubit, bagaimanapun, sedikit lebih mudah untuk mengekspresikan menggunakan notasi Dirac daripada notasi kolom-vektor, dan sepenuhnya setara dengan pengobatan sebelumnya.
Operator kepadatan
Operator lain yang berguna untuk mengekspresikan menggunakan notasi Dirac adalah operator kepadatan, kadang-kadang juga dikenal sebagai status operator. Sebagai vektor kondisi kuantum, operator kepadatan menggambarkan kondisi kuantum suatu sistem. Sementara vektor status kuantum hanya dapat mewakili status murni, operator kepadatan juga dapat mewakili status campuran.
Secara umum, matriks $\rho$ yang diberikan adalah operator kepadatan yang valid jika kondisi berikut terpenuhi:
- $\rho$ adalah matriks bilangan kompleks
- $\rho = \rho^{\dagger}$ (yaitu, $\rho$ merupakan Hermitian)
- Setiap eigenvalue $p$ dari $\rho$ non-negatif
- Semua nilai eigen \ $rho$ dijumlahkan ke 1
Bersama-sama, kondisi ini menjamin bahwa $\rho$ dapat dianggap sebagai ansambel. Operator kepadatan untuk vektor kondisi kuantum $\ket{\psi}$ mengambil bentuk $\rho =\sum_i p_i \ket{\psi_i}\bra{\psi_i}$ adalah dekomposisi eigenvalue dari $\rho$, kemudian $\rho$ menggambarkan ansambel $\rho ={\ket{\psi_i}\text{ dengan probabilitas} p_i }$.
Kondisi kuantum murni adalah yang dicirikan oleh vektor ket tunggal atau wavefunction, dan tidak dapat ditulis sebagai campuran statistik (atau kombinasi cembung) dari kondisi kuantum lainnya. Kondisi kuantum campuran adalah ansambel statistik dari kondisi-kondisi murni.
Pada bola Bloch, status murni diwakili oleh titik di permukaan bola, sedangkan keadaan campuran diwakili oleh titik interior. Status campuran dari satu qubit diwakili oleh pusat bola, oleh simetri. Kemurnian suatu keadaan dapat divisualisasikan sebagai derajat di mana ia dekat dengan permukaan bola.
Konsep ini mewakili status sebagai matriks, daripada vektor, seringkali nyaman karena memberikan cara yang nyaman untuk mewakili perhitungan probabilitas, dan juga memungkinkan Anda untuk menggambarkan ketidakpastian statistik dan ketidakpastian kuantum dalam formalisme yang sama.
Operator kepadatan $\rho$ mewakili kondisi murni jika dan hanya jika:
- $\rho$ dapat ditulis sebagai produk luar dari vektor kondisi, $\rho=\ket{\psi}\bra{\psi}$
- $\rho =\rho^2$
- $tr(\rho^2)=1$
Untuk mengetahui seberapa dekat operator kepadatan tertentu $\rho$ menjadi murni, Anda dapat melihat jejak (yaitu, jumlah elemen diagonal) dari $\rho^2$. Operator kepadatan mewakili kondisi murni jika dan hanya jika $tr (\rho ^{2})=1$.
Q# urutan gerbang setara dengan kondisi kuantum
Titik akhir yang layak dinaikkan tentang notasi kuantum dan Q# bahasa pemrograman: awal dokumen ini menyebutkan bahwa status kuantum adalah objek dasar informasi dalam komputasi kuantum. Kemudian mungkin mengejutkan bahwa di dalam Q# tidak ada gagasan tentang kondisi kuantum. Sebaliknya, semua status hanya dijelaskan oleh operasi yang digunakan untuk mempersiapkannya. Contoh sebelumnya adalah ilustrasi yang sangat baik tentang ini. Daripada mengekspresikan superposisi seragam atas setiap string bit kuantum dalam register, Anda dapat mewakili hasilnya sebagai $H^{\otimes n}\ket{0}$. Deskripsi status yang eksponensial lebih pendek ini tidak hanya memiliki keuntungan yang dapat Anda alasan secara klasik tentang hal itu, tetapi juga secara ringkas mendefinisikan operasi yang perlu disebarkan melalui tumpukan perangkat lunak untuk mengimplementasikan algoritma. Untuk alasan ini, Q# dirancang untuk memancarkan urutan gerbang daripada kondisi kuantum; namun, pada tingkat teoritis kedua perspektif setara.