مهندس کوانتومی

پروژه — ساخت یک شبیه‌ساز کوانتومی کوچک از صفر

هدف. شبیه‌ساز حالت-برداریِ خالص-numpy با جلوی متنی مدار، مرتبه‌ها سریع‌تر از ضرب kron ساده‌لوحانه، آزمون‌شده در برابر هم پاسخ‌های دست‌حساب و هم Qiskit.

تحویل‌دادنی‌ها.

  1. بستهٔ qsim/: dense.py (موتور حالت-برداری، مبتنی‌بر tensordot)، sparse.py (مبتنی‌بر dict)، parser.py، sampling.py، __init__.py.
  2. مجموعه‌دروازه: H، X، Y، Z، S، T، RX/RY/RZ(θ)، CX، CZ، SWAP، M (اندازه‌گیری)، به‌اضافهٔ یونیتی دلخواه تک‌کیوبیتی.
  3. CLI: python -m qsim circuit.txt --shots 1024 --seed 7 → هیستوگرام؛ --method dense|sparse.
  4. مجموعهٔ آزمون (test_qsim.py): آزمون‌های تفاضلی علیه پیاده‌سازی kron ساده‌لوحانه (n≤8)؛ علیه توزیع‌های هم‌بذر Aer (n≤10)؛ آزمون‌های ویژگی (یونیتی، تمیزی ancilla)؛ نشانگرهای رگرسیون کارایی.
  5. گزارش محک (BENCHMARK.md): زمان-به‌ازای-دروازه و حافظه بر حسب n برای موتور شما و Aer، یک شکل به‌ازای هرکدام.

نقاط عطف.

  • M1: دروازه‌های تک‌کیوبیتی درست (17.3 و 17.4)، آزمون‌شده در برابر ماتریس‌های دستی.
  • M2: CX/CZ/SWAP کارکننده (17.5)، توزیع ۵۰/۵۰ حالت بل راستی‌آزمایی‌شده.
  • M3: بازنویسی tensordot (17.7) همهٔ آزمون‌های M1–M2 را رد کند، ≥۱۰۰ برابر سرعت در n=20.
  • M4: تجزیه‌گر + CLI + نمونه‌گیری (17.8 تا 17.10).
  • M5: موتور اسپارس موافق متراکم روی ۵+ مدار (17.13).
  • M6 (امتداد): موتور پایدارنده با جدول خودتان یا stim (17.14).

معیارهای پذیرش. همهٔ آزمون‌ها سبز؛ اعمال دروازه در n=26 < ۱ ثانیه؛ توزیع‌های بل، GHZ (n=8)، QFT (n=4) با Aer در ۲σ در ۴۰۹۶ شات بخوانند؛ هر ماژول docstringی دارد که پیچیدگی‌اش در n را بیان می‌کند.