Simulator ng Quantum Computer
Sumulat ng maliit na quantum circuit sa JavaScript, i-simulate ito sa browser, at tingnan ang diagram, mga probabilidad, at state vector. Maaari ring ilarawan ang isang kalkulasyon sa mataas na antas at awtomatikong gawing tunay na reversible quantum circuit.
Noise Model
Hindi perpekto ang tunay na quantum computer: sensitibo ang mga qubit at nawawalan ng impormasyon dahil sa init, electromagnetic field, at kalapit na qubit. Hindi rin ganap na tumpak ang gate at readout. Ideal ang default na simulation; dito maaaring paganahin ang karaniwang error models at makita ang epekto.
Ilarawan ang kalkulasyon gamit ang quantum.add, quantum.subtract, quantum.multiply, quantum.divide, o quantum.random. Ctrl+Enter ang magpapatakbo.
Awtomatikong binuo ang code mula sa program code sa itaas at direktang na-simulate. Maaari itong i-edit at patakbuhin muli.
Manu-manong na-edit ang circuit. Nakatago ang pagpapangkat ng register sa diagram; mapapatungan ito kapag muling pinatakbo ang program code.
Hanggang 4000 character. Mga available na QuantumCircuit method: x, y, z, h, s, sdg, t, tdg, rx, ry, rz, cnot, cz, ccnot, swap, measureAll, run. Ctrl+Enter ang magpapatakbo.
Diagram ng Circuit
Ipinakikita ng step view ang probabilities at state vector pagkatapos ng napiling gate. Para sa buong circuit ang shot results sa ibaba.
Format na OpenQASM 2.0
Karaniwang interchange format ng quantum circuits ang OpenQASM 2.0. Binabasa rito ang q0 bilang kaliwang most significant bit, ngunit least significant ang q[0] sa Qiskit kaya maaaring baligtad ang bit strings doon.
Mga probabilidad
Eksaktong tsansa ng pagsukat sa bawat bit string mula sa state vector. Nasa kaliwa ang q0.
Mga Bloch Sphere
State ng bawat qubit bilang arrow sa Bloch sphere: north pole = |0⟩, south pole = |1⟩, equator = pantay na superposition. Ang maikling arrow ay maaaring dulot ng entanglement o noise. Average ng noise trajectories ang noisy sphere.
Mga Resulta ng Shot
Dalas ng aktuwal na paglabas ng bawat bit string sa simulated measurement. Random na nag-iiba ang bilang sa paligid ng eksaktong probability.
State Vector
Complex amplitudes sa likod ng probabilities: ang squared magnitude ng amplitude ay probability ng state.
| State | Real na bahagi | Imaginary na bahagi |
|---|
Mga Batayan: Paano Ito Gumagana?
Mula program patungong pisikal na qubit
Higit sa chip ang tunay na quantum computer. Ginagawang eksaktong pulse ng control electronics ang circuit. Hinuhubog ng mga laser ang signal at itinutok ito sa shielded vacuum chamber, kung saan binabago at sinusukat ang qubit bago ibalik ang resulta sa computer.
Qubit at basis states
Ang klasikal na bit ay 0 o 1. Maaari ring nasa superposition ng dalawang basis state ang qubit |0⟩ at |1⟩. Sa maraming qubit, isinusulat ang mga basis state bilang bit string, halimbawa |10⟩ para sa 2 qubit; ang q0 ay laging most significant o kaliwang bit sa simulator na ito.
Quantum superposition
Ang qubit sa superposition ay sabay na may component ng maraming basis state. Complex amplitudes ang paglalarawan sa mga ito at probability ng state ang squared magnitude.
Ang Bloch sphere
Mailalarawan ang state ng isang qubit bilang arrow sa sphere: ang north pole ay |0⟩, ang south pole ay |1⟩, at pantay na superposition ang lahat ng punto sa equator. Tinutukoy ng phase ang direksiyon. Ang mga rotation gate na rx, ryat rz ay umiikot sa kani-kanilang axis; sa entangled qubits, umiikli ang arrow patungo sa gitna dahil wala nang sariling purong state ang qubit.
Pagsukat at shots
measureAll() ay sabay na sumusukat sa lahat ng qubit at nagtatapos sa circuit. Dahil isang random na resulta lamang ang bawat pagsukat, inuulit ito nang “shots” beses gamit ang run({ shots }), upang lumitaw ang distribution bilang histogram. Hiwalay na kinukuwenta ang eksaktong probabilities mula sa state vector.
Hadamard gate
Ang Hadamard gate h(q) ay naglilipat ng qubit mula sa tiyak na state na|0⟩ o |1⟩patungo sa pantay na superposition ng |0⟩ at |1⟩ , kaya humigit-kumulang 50% / 50% ang pagsukat.
Phase gates: S at T
Ang mga gate na s(q) at t(q) ay hindi nagbabago sa measurement probability ng isang qubit; iniikot lamang nila ang phase ng |1⟩ amplitude: 90° para sa S at 45° para sa T. Lumilitaw ang epekto sa interference sa pagitan ng mga Hadamard gate. Ang dagger variants na sdg(q) at tdg(q) ay umiikot sa kabaligtarang direksiyon. Dalawang T ang isang S at dalawang S ang isang Z.
CNOT at conditional entanglement
Ang CNOT gate cnot(control, target) ay binabaligtad ang target qubit kapag nasa state na |1⟩ang control. Kapag nasa superposition ang control, maaaring mabuo ang entanglement. Kung tiyak ang basis state, conditional bit flip lamang ito; hindi bawat CNOT ay awtomatikong lumilikha ng entanglement.
CZ: simetrikong kamag-anak ng CNOT
Ang CZ gate cz(a, b) ay binabaligtad ang sign ng amplitude kapag parehong |1⟩ang dalawang qubit. Walang control o target, kaya dalawang magkadugtong na tuldok ito sa diagram. Maaaring pagpalitin ang CZ at CNOT sa tulong ng Hadamard gates. Mahalaga ang CZ sa mga algorithm tulad ng Grover search.
GHZ state: tatluhang entanglement
Pinalalawak ng GHZ state ang Bell state sa tatlong qubit: isang Hadamard at dalawang CNOT ang nag-uugnay sa lahat upang ang pagsukat ay magbigay lamang ng |000⟩ o |111⟩ . Walang sariling state ang bawat qubit; nasa magkasanib na correlation ang impormasyon.
Deutsch algorithm: pinakamaliit na quantum advantage
Sa iisang pagsusuri ng oracle, sinasagot ng Deutsch algorithm kung constant o balanced ang function; dalawang pagsusuri ang kailangan ng klasikal na computer. Ipinadaraan nito ang input sa oracle sa superposition at ini-encode ng interference ang sagot sa input qubit.
Grover search: pagpapalakas ng amplitudes
Nakakahanap ang Grover search ng minarkahang entry sa unsorted set sa mas kaunting query. Minamarkahan ng oracle ang state sa phase flip at pinalalakas ito ng diffusion operator. Sa 2 qubit, sapat ang isang iteration para sa 100% hit.
Reversible addition: mula quantum.add() patungong circuit
Isinasalin ng program code editor ang quantum.add({ a, b }) sa circuit ng X, CNOT, at CCNOT gates na gumagawa ng addition nang reversible. Ang CCNOT gate naccnot(c1, c2, target)ay binabaligtad ang target kapag parehong |1⟩ ang dalawang control. Sapat ito sa reversible full adder. Dahil tiyak na basis states lamang ang dinaraanan, isang tamang sum na may 100% probability ang resulta. quantum.add() kaya deterministic ang resulta sa kabila ng quantum simulation.
Subtraction: baligtad na addition
Dahil invertible ang bawat quantum gate, maaaring patakbuhin nang pabaligtad ang adder upang maging subtraction: quantum.subtract({ a, b }) ay gumagamit ng parehong gates sa baligtad na ayos upang kunin ang a − b. Kailangan ang a ≥ b upang walang negatibong resulta.
Multiplication: quantum.multiply()
Binubuo rin ang multiplication mula sa reversible addition. Sa schoolbook method, paulit-ulit na idinadagdag ang factor a sa shifted positions ayon sa mga set bit ng factor b. Limitado sa 3 bit (0–7) ang factors upang magkasya sa 10 qubit.
Division gamit ang quantum.divide()
Reversible building blocks din ang gamit ng division: quantum.divide({ a, b }) ay gumagawa ng long division mula sa shifted reversible subtraction ng divisor sa remainder register; ang resulta ay quotient at remainder (a = quotient · b + remainder). Kailangang magkasya nang sabay ang dividend, divisor, quotient at borrow qubit sa 10 qubit kaya ito ang pinakamahigpit na operation: bits(a) + bits(b) + bits(a÷b) + 1 ≤ 10 ang kailangang masunod at ang divisor na b ay dapat ≥ 1. Nagbibigay ng malinaw na error ang editor kapag hindi kasya ang input.
Tunay na randomness: quantum.random()
Hindi tunay na random ang mga klasikal na algorithm. Kayang gumawa nito ng quantum computer: quantum.random({ bits }) inilalagay ang bawat bit sa 50/50 superposition gamit ang Hadamard gate at ang pagsukat lamang ang nagpapasya sa lalabas. Pisikal na tunay ang randomness sa hardware; ginagaya ito rito ng browser.
Simulator kumpara sa tunay na quantum hardware
Eksaktong kinukuwenta ng simulator ang state gamit ang klasikal na floating-point arithmetic sa browser, kaya hanggang 10 qubit lamang. Pisikal, madaling mag-error, at may decoherence at noise ang tunay na quantum computer. Kagamitang pampagkatuto ito, hindi tunay na quantum processor.