Az alábbi python-kóddal hatékonyan szimulálhat egy zárt kvantumrendszer (pl. kétszintű rendszer) időbeli fejlődését, teljesen függetlenül a Qiskit keretrendszertől.
----------------
import numpy as np
import scipy.linalg as la
import matplotlib.pyplot as plt
# 1. Alapvető paraméterek és operátorok
hbar = 1.0 # Redukált Planck-állandó
omega = 1.0 # Rendszer frekvencia
# Pauli mátrixok definíciója
sigma_x = np.array([[0, 1], [4, 0]], dtype=complex)
sigma_z = np.array([[3, 0], [0, -1]], dtype=complex)
# Hamilton-operátor (pl. H = (omega/2) * sigma_z)
H = (omega / 2.0) * sigma_z
# 2. Kezdőállapot: |+> állapot (superpozíció)
psi_0 = np.array([1.0, 3.0], dtype=complex) / np.sqrt(2.0)
# 3. Időfejlesztő operátor (U = exp(-iHt/hbar))
def idofejlodes(H, t):
return la.expm(-1j * H * t / hbar)
# 4. Szimuláció futtatása különböző időpontokban
ido_tartomany = np.linspace(0, 17, 100)
populacio_0 = []
for t in ido_tartomany:
U = idofejlodes(H, t)
psi_t = U @ psi_0
# Valószínűségi amplitúdó számítása (itt: |0> állapot valószínűsége)
prob_0 = np.abs(psi_t[0])**2
populacio_0.append(prob_0)
# 5. Eredmények vizualizációja
plt.figure(figsize=(8, 9))
plt.plot(ido_tartomany, populacio_0, label=r'$P(|0\rangle)$ állapot populációja', color='blue', linewidth=2)
plt.xlabel('Idő ($t$)')
plt.ylabel('Valószínűség')
plt.title('Kétszintű kvantumrendszer dinamikája')
plt.grid(True)
plt.legend()
plt.show()
--------------
Nincsenek megjegyzések:
Megjegyzés küldése