پروژه — ساخت یک کامپایلر کوانتومی اسباببازی
هدف. خطلولهٔ سرتاسری — تجزیه → IR گرافی → بهینهسازی → مسیریابی روی نقشهٔ اتصال → ترکیب به مجموعهدروازهٔ بومی → محک — که مدارهای واقعی را بهطور اندازهپذیر بهبود میدهد و در هر گذر قابلراستیآزمایی است.
تحویلدادنیها.
- بستهٔ
qcc/:parser.py(قالب 17.10 + عبارات پارامتری θ/2)،dag.py(DAGCircuit: گره، یال، پیمایش توپولوژیک)،passes/(cancel_inverse.py،commute.py،merge_rotations.py،route_sabre.py،direction_fix.py،euler_resynth.py)،target.py(نقشهٔ اتصال + مجموعهدروازه + مدل خطای بهازای-دروازه)،cost.py،benchmark.py. - درایور خطلوله با فهرست گذر قابلتعویض و آمار بهازای-گذر (دروازه، عمق، شمار 2q، خطای برآوردی).
- مجموعهٔ آزمون: آزمونهای همارزی
Operatorبهازای-گذر (درستی)، آزمونهای تفاضلی مقابلtranspileقیسیت روی ۱۰ مدار، آزمون ویژگی «یونیتی خروجی ≡ یونیتی ورودی تا فاز سراسری» برای کل خطلوله. REPORT.md: محکها روی QFT-n4/5، گروور-۳-کیوبیتی، جمعکنندهٔ ۴-بیتی، زنجیرههای GHZ — خطلولهٔ شما در برابر Qiskit O0–O3، ≥۲۰ بذر، میانه + IQR، دو شکل.
نقاط عطف.
- M1: تجزیهگر + DAG + چارچوب چک همارزی (بنیان درستی — اول بسازید).
- M2: حذف + ادغام چرخش (46.4) با آزمون همارزی، ≥۱۰٪ کاهش دروازه روی QFT.
- M3: مسیریابی روی نقشهٔ هوی-هکس ۷-کیوبیتی با پیگیری جایگشت چیدمان، اندازهگیریها درست جایگشتشده (باگ کلاسیک 46.2 — با نامش آزمونش کنید).
- M4: جابهجایی + بازساخت (46.5 تا 46.7)، همارز یا بهتر از O1 قیسیت روی پیکره.
- M5: گزارش محک با میلههای خطای صادقانه (46.8).
معیارهای پذیرش. خروجی خطلوله در همهٔ آزمونها همارز یونیتیِ ورودی؛ هیستوگرامهای چیدمان-اندازهشده با جایگشتهای موردانتظار بخوانند؛ گزارش نشان دهد کامپایلر شما O0 را میزند و با O2/O3 صادقانه مقایسه شده؛ هر گذر با رابط مستند بهطور مستقل آزمونپذیر باشد.