Lumaktaw sa pangunahing nilalaman

Mga Circuit

Sa computer science, ang mga circuit ay mga modelo ng computation kung saan dinadala ng mga wire ang impormasyon sa pamamagitan ng isang network ng mga gate, na kumakatawan sa mga operasyon sa impormasyong dinadala ng mga wire. Ang quantum circuits ay isang espesipikong modelo ng computation na nakabatay sa mas pangkalahatang konsepto na ito.

Kahit na ang salitang "circuit" ay madalas na tumutukoy sa isang pabilog na landas, hindi talaga pinapayagan ang mga pabilog na landas sa mga modelo ng circuit ng computation na pinag-aaralan nang madalas. Sa madaling salita, karaniwang isinasaalang-alang natin ang mga acyclic circuit kapag iniisip natin ang mga circuit bilang mga modelo ng computation. Sumusunod ang mga quantum circuit sa pattern na ito; ang isang quantum circuit ay kumakatawan sa isang limitadong pagkakasunud-sunod ng mga operasyon na hindi makakapaglaman ng mga feedback loop.

Mga Boolean circuit​

Narito ang isang halimbawa ng isang (klasikal) na Boolean circuit, kung saan ang mga wire ay nagdadala ng mga binary value at ang mga gate ay kumakatawan sa mga operasyon ng Boolean logic:

Halimbawa ng isang Boolean circuit

Ang daloy ng impormasyon sa kahabaan ng mga wire ay mula kaliwa hanggang kanan: ang mga wire sa kaliwang bahagi ng figure na may label na X\mathsf{X} at Y\mathsf{Y} ay mga input bit, na maaaring itakda sa anumang binary value na ating napili, at ang wire sa kanang bahagi ay ang output. Ang mga intermediate na wire ay kumukuha ng anumang value na tinutukoy ng mga gate, na sinusuri mula kaliwa hanggang kanan.

Ang mga gate ay AND gates (may label na ∧\wedge), OR gates (may label na ∨\vee), at NOT gates (may label na ¬\neg). Ang mga function na kinakalkula ng mga gate na ito ay malamang na pamilyar sa maraming mambabasa, ngunit narito ang mga ito na kinakatawan ng mga talahanayan ng mga value:

a¬a0110aba∧b000010100111aba∨b000011101111\begin{array}{c} \begin{array}{c|c} a & \neg a\\ \hline 0 & 1\\ 1 & 0\\ \end{array}\\ \\ \\ \end{array} \qquad\quad \begin{array}{c|c} ab & a \wedge b\\ \hline 00 & 0\\ 01 & 0\\ 10 & 0\\ 11 & 1 \end{array} \qquad\quad \begin{array}{c|c} ab & a \vee b\\ \hline 00 & 0\\ 01 & 1\\ 10 & 1\\ 11 & 1 \end{array}

Ang dalawang maliit na solidong bilog sa mga wire na nasa kanan lamang ng mga pangalan na X\mathsf{X} at Y\mathsf{Y} ay kumakatawan sa mga operasyong fan-out, na simpleng gumagawa ng kopya ng anumang value na dinadala sa wire kung saan ito lumabas, na nagbibigay-daan sa value na ito na ma-input sa maraming gate. Ang mga operasyong fan-out ay hindi laging itinuturing na mga gate sa klasikal na setting; minsan ay tinatrato sila na parang "libre" sa ilang paraan. Kapag ang mga Boolean circuit ay na-convert sa katumbas na mga quantum circuit, gayunpaman, kailangan nating malinaw na uriin ang mga operasyong fan-out bilang mga gate upang mahawakan at maipaliwanag ang mga ito nang tama.

Narito ang parehong circuit na inilalarawan sa isang estilo na mas karaniwan sa electrical engineering, na gumagamit ng mga kumbensyonal na simbolo para sa AND, OR, at NOT gate:

Boolean circuit sa klasikong estilo

Hindi natin gagamitin ang estilo na ito o ang mga partikular na simbolo ng gate na ito pa, ngunit gagamit tayo ng iba't ibang simbolo upang kumatawan sa mga gate sa mga quantum circuit, na ipapaliwanag natin habang nakakatagpo tayo ng mga ito.

Ang partikular na circuit sa halimbawang ito ay nagkalkula ng exclusive-OR (o XOR nang maigsi), na tinutukoy ng simbolo na βŠ•\oplus:

abaβŠ•b000011101110\begin{array}{c|c} ab & a \oplus b\\ \hline 00 & 0\\ 01 & 1\\ 10 & 1\\ 11 & 0 \end{array}

Sa susunod na diagram, isinasaalang-alang natin ang isang pagpipilian para sa mga input: X=0\mathsf{X}=0 at Y=1.\mathsf{Y}=1. Ang bawat wire ay may label na value na dala nito upang masubaybayan mo ang mga operasyon. Ang output value ay 11 sa kasong ito, na siyang tamang value para sa XOR: 0βŠ•1=1.0 \oplus 1 = 1.

Pagsusuri ng isang Boolean circuit

Ang tatlong ibang posibleng setting ng input ay maaaring suriin sa katulad na paraan.

Iba pang uri ng mga circuit​

Tulad ng iminumungkahi sa itaas, ang konsepto ng isang circuit sa computer science ay napaka-pangkalahatan. Halimbawa, minsan ay sinusuri ang mga circuit na ang mga wire ay nagdadala ng mga value maliban sa 00 at 11, gayundin ang mga gate na kumakatawan sa iba't ibang pagpipilian ng mga operasyon.

Sa mga arithmetic circuit, halimbawa, ang mga wire ay maaaring magdala ng mga integer value habang ang mga gate ay kumakatawan sa mga arithmetic na operasyon, tulad ng addition at multiplication. Ang sumusunod na figure ay naglalarawan ng isang arithmetic circuit na kumukuha ng dalawang variable na input value (xx at yy) pati na rin ang isang ikatlong input na nakatakda sa value na 1.1. Ang mga value na dinadala ng mga wire, bilang mga function ng mga value na xx at y,y, ay ipinapakita sa figure.

Halimbawa ng arithmetic circuit

Maaari rin tayong isaalang-alang ang mga circuit na nagsasama ng randomness, tulad ng mga circuit kung saan ang mga gate ay kumakatawan sa mga probabilistikong operasyon.

Mga quantum circuit​

Sa quantum circuit model, ang mga wire ay kumakatawan sa mga qubit at ang mga gate ay kumakatawan sa mga operasyon sa mga qubit na ito. Magtutuon muna tayo sa mga operasyong natagpuan natin sa ngayon, lalo na ang mga unitary operation at standard basis measurement. Habang natututo tayo tungkol sa iba pang uri ng mga quantum operation at measurement, maaari nating palawakin ang ating modelo nang naaayon.

Narito ang isang simpleng halimbawa ng isang quantum circuit:

Simpleng quantum circuit

Sa circuit na ito, mayroon tayong iisang qubit na pinangalanang X,\mathsf{X}, na kinakatawan ng pahalang na linya, at isang pagkakasunud-sunod ng mga gate na kumakatawan sa mga unitary operation sa qubit na ito. Tulad ng sa mga halimbawa sa itaas, ang daloy ng impormasyon ay mula kaliwa hanggang kanan β€” kaya ang unang operasyong isinasagawa ay isang Hadamard operation, ang pangalawa ay isang SS operation, ang pangatlo ay isa pang Hadamard operation, at ang huling operasyon ay isang TT operation. Ang pag-apply ng buong circuit ay nag-a-apply ng komposisyon ng mga operasyong ito, THSH,T H S H, sa qubit na X.\mathsf{X}.

Minsan ay nais nating malinaw na ipahiwatig ang mga input o output state ng mga circuit. Halimbawa, kung ia-apply natin ang operasyong THSHT H S H sa state na ∣0⟩,\vert 0\rangle, makukuha natin ang state na 1+i2∣0⟩+12∣1⟩.\frac{1+i}{2}\vert 0\rangle + \frac{1}{\sqrt{2}} \vert 1 \rangle. Maaari itong ipahiwatig tulad ng sumusunod:

Simpleng quantum circuit na sinuri

Ang mga quantum circuit ay madalas na nagsisimula sa lahat ng qubit na na-initialize sa ∣0⟩,\vert 0\rangle, tulad ng mayroon tayo sa kasong ito, ngunit mayroon ding mga sitwasyon kung saan ang mga input qubit ay unang itinakda sa iba't ibang state. Narito ang isa pang halimbawa ng isang quantum circuit, sa pagkakataong ito na may dalawang qubit:

Quantum circuit na lumilikha ng e-bit

Tulad ng palagi, ang gate na may label na HH ay tumutukoy sa isang Hadamard operation, habang ang pangalawang gate ay isang operasyong controlled-NOT: ang solidong bilog ay kumakatawan sa control qubit at ang bilog na kahawig ng simbolo na βŠ•\oplus ay nagtatanda ng target qubit.

Bago suriin ang circuit na ito nang mas detalyado at ipaliwanag kung ano ang ginagawa nito, napakahalaga na una nating linawin kung paano inuutusan ang mga qubit sa mga quantum circuit. Ito ay konektado sa kombensyon na ginagamit ng Qiskit para sa pagpapangalan at pag-oorder ng mga sistema na binanggit nang maigsi sa nakaraang aralin.

Kombensyon ng Qiskit sa pag-oorder ng qubit para sa mga circuit

Sa Qiskit, ang pinakamataas na qubit sa isang circuit diagram ay may index na 00 at tumutugma sa pinakakanang posisyon sa isang tuple ng mga qubit (o sa isang string, Cartesian product, o tensor product na tumutugma sa tuple na ito), ang pangalawa mula sa itaas na qubit ay may index na 1,1, at tumutugma sa posisyon na pangalawa mula sa kanan sa isang tuple, at iba pa. Ang pinakamababang qubit, na may pinakamataas na index, ay samakatuwid ay tumutugma sa pinakakaliwang posisyon sa isang tuple. Sa partikular, ang mga default na pangalan ng Qiskit para sa mga qubit sa isang nn-qubit na circuit ay kinakatawan ng nn-tuple na (qnβˆ’1,…,q0),(\mathsf{q_{n-1}},\ldots,\mathsf{q_{0}}), na may q0\mathsf{q_{0}} bilang qubit sa itaas at qnβˆ’1\mathsf{q_{n-1}} sa ibaba sa mga quantum circuit diagram.

Tandaan na ito ay isang pagbabago ng isang mas karaniwang kombensyon para sa pag-oorder ng mga qubit sa mga circuit, at isang madalas na pinagmumulan ng kalituhan. Ang karagdagang impormasyon sa kombensyon ng pag-oorder na ito ay makikita sa pahina ng dokumentasyon ng Bit-ordering sa Qiskit.

Kahit na minsan ay lumilihis tayo mula sa mga partikular na default na pangalan na q0,…,qnβˆ’1\mathsf{q_{0}},\ldots,\mathsf{q_{n-1}} na ginagamit para sa mga qubit ng Qiskit, lagi nating susundin ang kombensyon ng pag-oorder na inilarawan sa itaas kapag binibigyang-kahulugan ang mga circuit diagram sa buong kursong ito. Kaya, ang aming interpretasyon ng circuit sa itaas ay naglalarawan ito ng isang operasyon sa isang pares ng mga qubit na (X,Y).(\mathsf{X},\mathsf{Y}). Kung ang input sa circuit ay isang quantum state na βˆ£ΟˆβŸ©βŠ—βˆ£Ο•βŸ©,\vert\psi\rangle \otimes \vert\phi\rangle, halimbawa, nangangahulugan ito na ang mas mababang qubit na X\mathsf{X} ay nagsisimula sa state na ∣ψ⟩\vert\psi\rangle at ang mas mataas na qubit na Y\mathsf{Y} ay nagsisimula sa state na βˆ£Ο•βŸ©.\vert\phi\rangle.

Upang maunawaan kung ano ang ginagawa ng circuit, maaari tayong lumakad mula kaliwa hanggang kanan sa pamamagitan ng mga operasyon nito.

  1. Ang unang operasyon ay isang Hadamard operation sa Y\mathsf{Y}:

    Unang operasyon ng e-bit creator

    Kapag nag-a-apply ng gate sa iisang qubit tulad nito, walang nangyayari sa iba pang mga qubit (na isang qubit lamang ang iba sa kasong ito). Ang walang nangyayari ay katumbas ng pagsasagawa ng identity operation. Ang naka-dotted na rektanggulo sa figure sa itaas ay samakatuwid ay kumakatawan sa operasyong ito:

    IβŠ—H=(12120012βˆ’12000012120012βˆ’12). \mathbb{I}\otimes H = \begin{pmatrix} \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} & 0 & 0\\[2mm] \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} & 0 & 0\\[2mm] 0 & 0 & \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}}\\[2mm] 0 & 0 & \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} \end{pmatrix}.

    Tandaan na ang identity matrix ay nasa kaliwa ng tensor product at ang HH ay nasa kanan, na naaayon sa kombensyon ng pag-oorder ng Qiskit.

  2. Ang pangalawang operasyon ay ang controlled-NOT operation, kung saan ang Y\mathsf{Y} ang control at ang X\mathsf{X} ang target:

    Pangalawang operasyon ng e-bit creator

    Ang aksyon ng controlled-NOT gate sa mga standard basis state ay ang sumusunod:

    Controlled-NOT gate

    Dahil inuutusan natin ang mga qubit bilang (X,Y),(\mathsf{X}, \mathsf{Y}), na may X\mathsf{X} sa ibaba at Y\mathsf{Y} sa itaas ng ating circuit, ang matrix representation ng controlled-NOT gate ay ito:

    (1000000100100100). \begin{pmatrix} 1 & 0 & 0 & 0\\[2mm] 0 & 0 & 0 & 1\\[2mm] 0 & 0 & 1 & 0\\[2mm] 0 & 1 & 0 & 0 \end{pmatrix}.

Ang unitary operation na isinasagawa ng buong circuit, na bibigyan natin ng pangalang U,U, ay ang komposisyon ng mga operasyon:

U=(1000000100100100)(12120012βˆ’12000012120012βˆ’12)=(1212000012βˆ’1200121212βˆ’1200).U = \begin{pmatrix} 1 & 0 & 0 & 0\\[2mm] 0 & 0 & 0 & 1\\[2mm] 0 & 0 & 1 & 0\\[2mm] 0 & 1 & 0 & 0 \end{pmatrix} \begin{pmatrix} \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} & 0 & 0\\[2mm] \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} & 0 & 0\\[2mm] 0 & 0 & \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}}\\[2mm] 0 & 0 & \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} \end{pmatrix} = \begin{pmatrix} \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} & 0 & 0\\[2mm] 0 & 0 & \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}}\\[2mm] 0 & 0 & \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}}\\[2mm] \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} & 0 & 0 \end{pmatrix}.

Sa partikular, na alaalahanin ang ating notasyon para sa mga Bell state,

βˆ£Ο•+⟩=12∣00⟩+12∣11βŸ©βˆ£Ο•βˆ’βŸ©=12∣00βŸ©βˆ’12∣11⟩∣ψ+⟩=12∣01⟩+12∣10βŸ©βˆ£Οˆβˆ’βŸ©=12∣01βŸ©βˆ’12∣10⟩,\begin{aligned} \vert \phi^+ \rangle & = \frac{1}{\sqrt{2}} \vert 0 0 \rangle + \frac{1}{\sqrt{2}} \vert 1 1 \rangle \\[2mm] \vert \phi^- \rangle & = \frac{1}{\sqrt{2}} \vert 0 0 \rangle - \frac{1}{\sqrt{2}} \vert 1 1 \rangle \\[2mm] \vert \psi^+ \rangle & = \frac{1}{\sqrt{2}} \vert 0 1 \rangle + \frac{1}{\sqrt{2}} \vert 1 0 \rangle \\[2mm] \vert \psi^- \rangle & = \frac{1}{\sqrt{2}} \vert 0 1 \rangle - \frac{1}{\sqrt{2}} \vert 1 0 \rangle, \end{aligned}

nalaman natin na

U∣00⟩=βˆ£Ο•+⟩U∣01⟩=βˆ£Ο•βˆ’βŸ©U∣10⟩=∣ψ+⟩U∣11⟩=βˆ’βˆ£Οˆβˆ’βŸ©.\begin{aligned} U \vert 00\rangle & = \vert \phi^+\rangle\\ U \vert 01\rangle & = \vert \phi^-\rangle\\ U \vert 10\rangle & = \vert \psi^+\rangle\\ U \vert 11\rangle & = -\vert \psi^-\rangle. \end{aligned}

Ang circuit na ito ay nagbibigay sa atin ng paraan upang likhain ang state na βˆ£Ο•+⟩\vert\phi^+\rangle kung patakbuhin natin ito sa dalawang qubit na na-initialize sa ∣00⟩.\vert 00\rangle. Sa mas pangkalahatang paraan, nagbibigay ito sa atin ng paraan upang i-convert ang standard basis sa Bell basis. (Tandaan na, kahit na hindi ito mahalaga para sa halimbawang ito, ang βˆ’1-1 phase factor sa huling state, βˆ’βˆ£Οˆβˆ’βŸ©,-\vert \psi^-\rangle, ay maaaring alisin kung gusto natin sa pamamagitan ng paggawa ng maliit na karagdagan sa circuit. Halimbawa, maaari tayong magdagdag ng isang controlled-ZZ gate sa simula, na katulad ng isang controlled-NOT gate maliban na ang isang ZZ operation ay ina-apply sa target qubit kaysa sa isang NOT operation kapag ang control ay nakatakda sa 1.1. Bilang alternatibo, maaari tayong magdagdag ng isang swap gate sa dulo. Ang alinman sa pagpipilian ay nag-aalis ng minus sign nang hindi naaapektuhan ang aksyon ng circuit sa tatlong iba pang standard basis state.)

Sa pangkalahatan, ang mga quantum circuit ay maaaring maglaman ng anumang bilang ng mga qubit wire. Maaari rin tayong magsama ng mga classical bit wire, na ipinahiwatig ng mga double line, tulad ng sa halimbawang ito:

Halimbawang circuit na may mga measurement

Dito mayroon tayong isang Hadamard gate at isang controlled-NOT gate sa dalawang qubit na X\mathsf{X} at Y,\mathsf{Y}, tulad ng sa nakaraang halimbawa. Mayroon din tayong dalawang klasikal na bit, A\mathsf{A} at B,\mathsf{B}, pati na rin ang dalawang measurement gate. Ang mga measurement gate ay kumakatawan sa mga standard basis measurement: ang mga qubit ay binabago sa kanilang mga post-measurement state, habang ang mga resulta ng measurement ay na-overwrite sa mga klasikal na bit na tinuturo ng mga arrow.

Madalas na maginhawa na ilalarawan ang isang measurement bilang isang gate na kumukuha ng qubit bilang input at nag-o-output ng isang klasikal na bit (kumpara sa pag-output ng qubit sa post-measurement state nito at pagsulat ng resulta sa isang hiwalay na klasikal na bit). Nangangahulugan ito na ang nasukat na qubit ay itinapon na at maaaring ligtas na balewalain pagkatapon nito, ang state nito ay nagbago sa ∣0⟩\vert 0\rangle o ∣1⟩\vert 1\rangle depende sa resulta ng measurement.

Halimbawa, ang sumusunod na circuit diagram ay kumakatawan sa parehong proseso tulad ng sa nakaraang diagram, ngunit kung saan isinasapanganib natin ang X\mathsf{X} at Y\mathsf{Y} pagkatapos ng measurement sa kanila:

Halimbawang circuit na may mga measurement (compact)

Habang nagpapatuloy ang kurso, makakakita tayo ng mas maraming halimbawa ng mga quantum circuit, na karaniwang mas kumplikado kaysa sa mga simpleng halimbawa sa itaas. Narito ang ilang halimbawa ng mga simbolo na ginagamit upang tukuyin ang mga gate na karaniwang lumalabas sa mga circuit diagram:

  • Ang mga single-qubit gate ay karaniwang ipinapakita bilang mga parisukat na may titik na nagpapahiwatig kung anong operasyon ito, tulad nito:

    Mga single-qubit gate

    Ang mga Not gate (o katumbas nito, ang mga XX gate) ay minsan din tinutukoy ng isang bilog na may plus sign sa loob:

    Not gate

  • Ang mga swap gate ay tinutukoy tulad ng sumusunod:

    Swap gate

  • Ang mga controlled-gate, na ibig sabihin ay mga gate na naglalarawan ng mga controlled-unitary operation, ay tinutukoy ng isang punung bilog (na nagpapahiwatig ng control) na konektado ng patayong linya sa anumang operasyong kinokontrol. Halimbawa, ang mga controlled-NOT gate, controlled-controlled-NOT (o Toffoli) gate, at controlled-swap (Fredkin) gate ay tinutukoy tulad nito:

    Controlled gate

  • Ang mga arbitrary na unitary operation sa maraming qubit ay maaaring tingnan bilang mga gate. Sila ay inilalarawan ng mga rektanggulo na may label na pangalan ng unitary operation. Halimbawa, narito ang isang paglalarawan ng isang (hindi tinukoy) na unitary operation na UU bilang isang gate, kasama ang isang controlled na bersyon ng gate na ito:

    Arbitrary unitary gate kasama ang controlled na bersyon