ToolDingo

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.

Nalalapat sa bawat simulation sa pahinang ito, high-level man o manu-manong circuit.
%
Bawat gate at kasaling qubit, o bawat binasang bit sa readout model. Pumili ng halaga para sa sitwasyong susubukan.

Program Code

Ilarawan ang kalkulasyon gamit ang quantum.add, quantum.subtract, quantum.multiply, quantum.divide, o quantum.random. Ctrl+Enter ang magpapatakbo.

Dokumentasyon

Ilarawan ang kalkulasyon sa editor; awtomatiko itong gagawing tunay na quantum circuit at isi-simulate. Hanggang 4000 character. Ctrl+Enter ang magpapatakbo ng simulation.

FormulaPaglalarawanMga limitasyon
quantum.add({ a, b })Magdagdag ng dalawang bilangResulta hanggang 4 bit (0–15)
quantum.subtract({ a, b })Subtractiona ≥ b, hanggang 4 bit
quantum.multiply({ a, b })MultiplicationMga factor na 0–7 (3 bit)
quantum.divide({ a, b })Division (quotient at remainder)b ≥ 1; mahigpit: bits(a)+bits(b)+bits(a÷b)+1 ≤ 10
quantum.random({ bits })Tunay na quantum random number1–10 bit

Pumili ng halimbawa

Circuit 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.

Pumili ng halimbawa

Mga Batayan: Paano Ito Gumagana?

Eskematiko ng quantum computer: kinokontrol ng computer ang mga laser sa optical table patungo sa qubit sa vacuum chamber.
Mula sa klasikal na control computer, sa mga laser at optics, hanggang sa pisikal na qubit.

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.

Mga madalas itanong

Tunay na quantum computer ba ito?
Hindi. Isa itong klasikal na state-vector simulator na eksaktong kumukuwenta sa matematika ng maliit na quantum circuit, hanggang 10 qubit, gamit ang floating-point arithmetic sa browser.
Aling bit ang q0 sa bit string na “10”?
Laging most significant o kaliwang bit ang q0. Sa 2 qubit, lumilikha ang x(0) ng state na |10⟩, hindi |01⟩.
Ano ang ibig sabihin ng “shots”?
Ito ang bilang ng paulit-ulit na simulated measurement, mula 1 hanggang 10,000. Random na pumipili ang bawat shot ayon sa eksaktong probability distribution.
Bakit may error ang ilang halimbawa?
Isang circuit at isang run() call lamang pagkatapos ng measureAll() ang pinapayagan. Tinatanggihan nang malinaw ang maling index, gate, anggulo, shots, o syntax.
Ano ang ginagawa ng Hadamard, X, at CNOT gate?
Pinagpapalit ng X ang |0⟩ at |1⟩. Lumilikha ang Hadamard ng pantay na superposition. Binabaligtad ng CNOT ang target kapag |1⟩ ang control at maaari itong lumikha ng entanglement.
Paano nabubuo ang entanglement?
Inilalapat ng isang halimbawa ang Hadamard sa unang qubit at CNOT sa ikalawa. Hindi na mailalarawan nang magkahiwalay ang mga qubit at correlated ang mga resultang |00⟩ at |11⟩.