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

14. دروازه‌های چندکیوبیتی

14.1عمل‌های کنترلی و CNOT

کنترل‌شده-U، U را فقط وقتی روی کیوبیت هدف اعمال می‌کند که کنترل |1⟩ باشد: منطق شرطی کوانتومی است و عمل درهم‌تنندهٔ اصلی. حالت متعارف CNOT است (کنترل‌شده-X): کنترل دست‌نخورده، هدف وارونه اگر کنترل |1⟩. ماتریس 4×4 آن بلوکی-قطری است: I برای ردیف‌های کنترل-۰، X برای کنترل-۱. معناشناسی حیاتی: CNOT کنترل را رونوشت نمی‌کند — روی |+⟩⊗|0⟩ اعمال شود (|00⟩+|11⟩)/√2 تولید می‌کند، درهم‌تنیدگی نه کلون (عدم‌ronوشت در خود خطی بودن کد شده). نکتهٔ دیگر: CNOT وارون خودش است و نقش کنترل/هدف با مزدوج‌سازی H جابه‌جا می‌شود (H⊗H·CNOT·H⊗H = CNOT معکوس) — ترفند مسیریابی که کامپایلرهای سخت‌افزاری دائم به‌کار می‌برند. در numpy، CNOT نخستین ماتریس 4×4ای است که ارزش تایپ دستی دارد.

import numpy as np

CNOT = np.array([[1,0,0,0],
                 [0,1,0,0],
                 [0,0,0,1],
                 [0,0,1,0]], dtype=complex)

H = np.array([[1,1],[1,-1]], dtype=complex)/np.sqrt(2)
plus0 = np.kron(H @ np.array([1,0], dtype=complex), np.array([1,0], dtype=complex))
print(np.round(CNOT @ plus0, 3))   # [0.707, 0, 0, 0.707]  -> حالت بل، نه رونوشت

14.2کنترل‌شده-Z و فاز کنترلی

CZ (کنترل‌شده-Z) وقتی کنترل |1⟩ است Z را روی هدف اعمال می‌کند؛ به‌عنوان ماتریس قطری diag(1,1,1,−1) فقط به |11⟩ فاز −1 می‌دهد. دو دلیل مهندسی برای محبوبیت CZ. اول، متقارن است: هر کیوبیت می‌تواند کنترل نامیده شود — راحتی واقعی وقتی اتصال سخت‌افزار ثابت است. دوم، روی بسیاری سکوها (ابررسانا، فوتونیک) بومی یا نزدیک-بومی است، گاهی به‌صورت فاز شرطی میان‌دار. همانی CZ = (I⊗H)·CNOT·(I⊗H) یعنی CNOT و CZ با بهای دو هادامارد هم‌ارزند، پس کتابخانه‌های دروازه آزادانه انتخاب می‌کنند. در تعمیم، دروازهٔ فاز کنترلی CRz(θ) = diag(1,1,1,e^{iθ}) فاز شرطی دلخواه می‌دهد؛ برهم‌کنش‌های دوقیوبیتی در طبیعت (کوپلرها، برخوردها، درایوهای cross-resonance) به‌طور طبیعی از همین فرم فاز-درهم‌تننده‌اند، و به همین دلیل ابزار ترکیب، CRz را عنصر اولیه می‌گیرد.

14.3SWAP

SWAP حالت دو کیوبیت را عوض می‌کند: |ψ⟩⊗|φ⟩ → |φ⟩⊗|ψ⟩، با ماتریس جایگشت 4×4 با یک‌های روی قطر فرعی. درهم‌تنیدگی نمی‌سازد و از سه CNOT ساخته می‌شود (CNOT(a,b)·CNOT(b,a)·CNOT(a,b) — ترتیب مهم است، هر سه جهت). چرا برای دروازه‌ای که محاسباتاً «هیچ نمی‌کند» اهمیت قائل شویم؟ مسیریابی. سخت‌افزار گراف تعاملی می‌دهد — چیپ‌های ابررسانا همسایه‌ها را وصل می‌کنند؛ یون‌های به‌دام‌افتاده وسیع‌تر اما نه آزاد — و وقتی دروازهٔ دوقیوبیتی کیوبیت‌های غیرمجاور را هدف می‌گیرد، کامپایلر SWAP می‌گذارد تا آن‌ها را کنار هم بیاورد، یا حالت‌ها را روی گراف جابه‌جا کند. روی چیدمان‌های هوی-هکسی IBM-گونه، سربار مسیریابی به‌طور روتین عمق مدار را چند برابر می‌کند، و چون هر لایهٔ دروازه ~10⁻³ خطا انباشته می‌کند، درج SWAP عامل مرتبهٔ اول در اینکه آیا الگوریتم اصلاً کار می‌کندست (45.9). شمارش عمق در پایین، این هزینه را مرئی می‌کند.

14.4تافولی و فردکین

دروازهٔ تافولی (CCNOT) هدف را iff هر دو کنترل |1⟩ باشند وارونه می‌کند — AND کلاسیک-با-نامحاسبه، و ستون فقرات منطق کلاسیک برگشت‌پذیر: هر مدار بولی را می‌توان از تافولی به‌اضافهٔ X ساخت، با ترفند خروجی-زبالهٔ نامحاسبه‌کردن ancillaها. کوانتومیاً |a⟩|b⟩|c⟩ → |a⟩|b⟩|c⊕(a·b)⟩ را نگاشت می‌کند. دروازهٔ فردکین (SWAP کنترلی) اهداف را iff کنترل |1⟩ باشد عوض می‌کند، در محاسبات برگشت‌پذیر و زیرروال‌های مقایسه/مسیریابی. هیچ‌یک روی هیچ سکوی بزرگی بومی نیستند: تافولی به ۶ CNOT به‌اضافهٔ تک‌کیوبیتی‌ها تجزیه می‌شود (کمتر با ترفندهای تافولی فاز-نسبی، به بهای ancilla فاز-برگشتی Z)، و حساب ساخته‌شده از آن‌ها همین ضریب را به ارث می‌برد. این هزینهٔ صادقانهٔ حساب کوانتومی است: توان‌رسانی پیمانه‌ایِ شور هزاران تافولی است، هرکدام شش‌تایی CNOT، هرکدام خطاخواه — شمارش منابع (بخش هشتم) دقیقاً همین‌طور جمع می‌شود.

تافولی = ۶ CNOT (تجزیهٔ استاندارد، به‌اضافهٔ تک‌کیوبیتی‌ها):

  c0: ──●────────────●──────────●──────
        │            │          │
  c1: ──┼────●───────┼────●─────┼──●───
        │    │       │    │     │  │
  t : ──X────X───H───X────H──X──X──H───     (دقیق تا فاز سراسری)

14.5چرخش‌های کنترلی

چرخش کنترلی CRθ، چرخش Ry(θ) یا Rz(θ) را مشروط به کنترل روی هدف اعمال می‌کند — قرینهٔ پیوسته-تنظیم‌شدهٔ CNOT، و بلوک ساخت literal در QFT و بسیاری آنساتزهای واریاسیونال. ساختار یک الگو را تعمیم می‌دهد که باید درونی کنید: هر U تک‌کیوبیتی به‌صورت U = e^{iα}·A·X·B·X·C (با A·X·B·X·C = I) به controlled-U تبدیل می‌شود با کنترل‌کردن فقط X میانی — یعنی هر controlled-U فقط دو CNOT به‌اضافهٔ تک‌کیوبیتی‌های A، B، C هزینه دارد. قضیه‌ای است که شایستهٔ دانستن نامش است (بارنکو و همکاران ۱۹۹۵). در مدارهایی مانند QFT چرخش‌ها در مراحل بعد چندکنترلی می‌شوند؛ قاعدهٔ عام اینکه U با k-کنترل با ancilla به O(k) CNOT و بدون آن به O(2ᵏ) نیاز دارد — همان ضریبی که عمل‌های کنترلی بزرگ را گران می‌کند و هدف بهبودهای پیوستهٔ ترکیب است.

14.6مجموعه‌دروازه‌های جهان‌شمول

کمینهٔ جعبه‌ابزار برای محاسبات کوانتومی دلخواه چیست؟ پاسخ استاندارد: {H, T, CNOT} — یک کلیفورد، یک غیرکلیفورد، یک درهم‌تنده — جهان‌شمول است، یعنی هر یونیتی n-کیوبیتی را می‌توان با دقت ε با مداری روی این مجموعه تقریب زد (با اندازهٔ چندلگاریتمی در 1/ε). واریانت‌های عملی: {Rz(π/4), √X, CNOT} با پالس‌های سخت‌افزاری می‌خواند؛ تله یونی از {Rx(π/2), Rz(θ), مولمر–سورنسن} استفاده می‌کند؛ و هر دروازهٔ دوقیوبیتی درهم‌تننده به‌اضافهٔ تک‌کیوبیتی‌های دلخواه جهان‌شمول است (قضیهٔ برایلینسکی) — حتی عجیب‌هایی مانند √SWAP یا iSWAP. به فضای منفی توجه کنید: گروه کلیفورد به‌تنهایی کلاسیکی شبیه‌سازی‌پذیر است (گاتسمن–نیل)، پس جهان‌شمولی به یک مادهٔ غیرکلیفوردی گره خورده — دقیقاً به همین دلیل دروازه‌های T بر هزینهٔ تحمل‌خطا غالب‌اند و تقطیر حالت جادومی وجود دارد (بخش دهم). مجموعه‌دروازه‌تان را مثل مجموعه‌دستور انتخاب کنید: بر حسب پشتیبانی بومی، نه ظرافت.

14.7ترکیب دروازه‌ها

ترکیب دروازه‌ها گذر کامپایلری است که یونیتی هدف دلخواه را به دنباله‌ای از دروازه‌های کتابخانه تبدیل می‌کند. تک‌کیوبیتی: تجزیهٔ دقیق ZYZ (10.5)، سه چرخش. دوقیوبیتی: هر یونیتی دوقیوبیتی دقیقاً ۳ CNOT به‌اضافهٔ تک‌کیوبیتی‌ها لازم دارد (بدتر، ۱۴ برای طبقه‌های خاص؛ عدد، کران اثبات‌شده است نه نقل قول عامیانه). یونیتی‌های عمومی n-کیوبیتی O(4ⁿ) CNOT می‌خواهند — نمایی، چون باید باشند، چون خود یونیتی 4ⁿ پارامتر حقیقی دارد. واقعیت مهندسی: ترکیب تقریبی. چون دروازه‌های فیزیکی به‌هرحال با ~10⁻³ خطا دارند، مدارها با دقت ε روی مجموعهٔ بومی ترکیب می‌شوند و شمار دروازه با خطای تقریب معامله می‌شود؛ سولووای–کیتایف سربار O(log^c(1/ε)) می‌دهد و روش‌های نظریه-اعداد مدرن برای مجموعهٔ {H,T} بسیار بهتر. بودجهٔ خطای کل = خطای ترکیب + خطاهای دروازه + خطای خوانش؛ کامپایلرها (بخش دوازدهم) برای موازنهٔ خودکار همین معادله وجود دارند.

14.8عمق و عرض مدار

دو عدد هزینهٔ مدار را مشخص می‌کنند. عرض: کیوبیت‌های استفاده‌شده. عمق: بلندترین زنجیرهٔ لایه‌های ترتیبی دروازه، که هر لایه دروازه‌های عمل‌کننده روی کیوبیت‌های مجزا را جا می‌دهد — عمق است که زمان اجرا روی سخت‌افزار را تعیین می‌کند، چون لایه‌ها پشت سر هم اجرا می‌شوند، و مقدار دِکوهرنسِ انباشته پیش از اندازه‌گیری را کران می‌زند. مدل ذهنی مفید از محاسبات کلاسیک: عرض حافظه است، عمق تأخیر مسیر بحرانی. تنش واقعی است: کم‌کردن عمق با موازی‌سازی ممکن است عرض ancilla بگیرد، و سخت‌افزار هر دو را محدود می‌کند (~۱۰²–۱۰⁴ کیوبیت؛ زمان همدوسی میکروثانیه تا ثانیه). کمیت دیده‌شدنی در هر نمودار محک، عمق × نرخ خطا است — مدارهای عمیق‌تر از ~1/(خطای دروازه) ≈ ۱٬۰۰۰ لایه با خطای 10⁻³، پیش از وجود تصحیح خطا در نویز غرق می‌شوند. وقتی این کتاب می‌گوید الگوریتمی «روی سخت‌افزار فعلی جا می‌شود»، ادعایی دربارهٔ عمقِ پس از مسیریابی است، نه شمار کیوبیت.