Ez a pyton program szimulál 4 qubitet szuperpozícióban, hagyományos számítógépen is lefut. Mivel a kvantum-szuperpozíció lényege, hogy a qubitek egyszerre több állapotban is lehetnek, a 4 qubit összesen \(2^4 = 16\) különböző állapot (a 0000-tól a 1111-ig) kombinációjaként létezik. A program létrehozza ezt a szuperpozíciót (egyenlő valószínűséget adva minden állapotnak), majd végrehajt egy "mérést", ami összeomlasztja a hullámfüggvényt egyetlen konkrét klasszikus bit-kombinációvá.
---------------------
Program forrása;
------------
import random
import math
def kvantum_szimulacio_4_qubit():
print("--- 4 Qubit Szuperpozíció Szimuláció ---")
# 1. Állapotok előkészítése
# 4 qubit esetén 2^4 = 16 lehetséges bázisállapot van (0000-tól 1111-ig)
n_qubits = 4
n_states = 2**n_qubits
# Egyenlő szuperpozíció esetén minden állapot valószínűségi amplitúdója: 1 / sqrt(16) = 1/4
amplitudo = 1.0 / math.sqrt(n_states)
valoszinuseg = amplitudo ** 2 # 1/16 = 0.0625 (azaz 6.25% állapotonként)
# Kvantumállapot (hullámfüggvény) felírása szótárként: {állapot_string: amplitúdó}
hullamfuggveny = {}
for i in range(n_states):
# Bináris formátumra alakítás 4 biten (pl. 5 -> '0101')
allapot_binaris = format(i, f'0{n_qubits}b')
hullamfuggveny[allapot_binaris] = amplitudo
# 2. Szuperpozíció kiratása
print("\nA rendszer tiszta szuperpozícióban van. Állapotok és valószínűségek:")
for allapot, amp in hullamfuggveny.items():
print(f"|{allapot}⟩ : Amplitúdó = {amp:.2f} -> Valószínűség = {valoszinuseg * 100:.2f}%")
# 3. Mérés (A hullámfüggvény összeomlása)
print("\nMérés végrehajtása... (A szuperpozíció összeomlik egyetlen állapotba)")
# A klasszikus számítógépen a mérést a súlyozott véletlenszerű választással szimuláljuk
allapotok = list(hullamfuggveny.keys())
valoszinusegek = [valoszinuseg] * n_states # Minden állapothoz ugyanaz a valószínűség tartozik
meresi_eredmeny = random.choices(allapotok, weights=valoszinusegek, k=1)[0]
print(f"A mért eredmény: |{meresi_eredmeny}⟩")
# Program futtatása
if __name__ == "__main__":
kvantum_szimulacio_4_qubit()
---------------
Magyarázat;
Egy klasszikus számítógépnek a szuperpozíció megtartásához minden lehetséges állapotot külön kell tárolnia a memóriában. 4 qubitnél ez \(2^4 = 16\) érték. (Ha 30 qubitünk lenne, már \(2^{30}\), azaz több mint 1 milliárd állapotot kellene a hagyományos PC-nek fejben tartania).
Amplitúdó és Valószínűség:
A kvantummechanikában az állapotok előtt álló számok (amplitúdók) négyzete adja meg a valóságos mérési valószínűséget. A programban mind a 16 állapotnak pontosan 6,25% esélye van arra, hogy méréskor felbukkanjon.
Mérés:
Amíg a mérés meg nem történik, a program listázza az összes lehetőséget (szuperpozíció). A random.choices fedi le a mérés fizikai aktusát, amikor a sokszínű kvantumállapotból hirtelen egy darab fix, klasszikus bit-sorozat lesz.
------------------
Kapott eredmény;
--- 4 Qubit Szuperpozíció Szimuláció ---
Rendszer dimenziója (lehetséges állapotok száma): 16
Állapot (Bináris) | Amplitúdó | Mérési valószínűség
----------------------------------------------------------------------
|0000> | 0.2500 | 6.25%
|0001> | 0.2500 | 6.25%
|0010> | 0.2500 | 6.25%
|0011> | 0.2500 | 6.25%
|0100> | 0.2500 | 6.25%
|0101> | 0.2500 | 6.25%
|0110> | 0.2500 | 6.25%
|0111> | 0.2500 | 6.25%
|1000> | 0.2500 | 6.25%
|1001> | 0.2500 | 6.25%
|1010> | 0.2500 | 6.25%
|1011> | 0.2500 | 6.25%
|1100> | 0.2500 | 6.25%
|1101> | 0.2500 | 6.25%
|1110> | 0.2500 | 6.25%
|1111> | 0.2500 | 6.25%
======================================================================
MÉRÉS: A hullámfüggvény összeomlott! A mért állapot: |1000>
======================================================================
Nincsenek megjegyzések:
Megjegyzés küldése