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

10. گیت‌های تک‌کیوبیتی

10.1گیت‌های پائولی: I، X، Y، Z

چهار ماتریس ۲×۲ بیشتر جبر یک کیوبیت را انجام می‌دهند. I حالت را رها می‌کند. X = [[0,1],[1,0]] همان NOT کوانتومی است: |0⟩ و |1⟩ را جابه‌جا می‌کند؛ چرخش ۱۸۰ درجه حول x. Z = [[1,0],[0,−1]] حالت‌های |0⟩ و |1⟩ را ثابت می‌گذارد اما فاز نسبی برهم‌نهی‌ها را برمی‌گرداند — چرخش ۱۸۰ درجه حول z، پس |+⟩ را به |−⟩ می‌برد. Y = [[0,−i],[i,0]] ترکیب چرخش x و چرخش z است؛ |+⟩ را به قرینهٔ عمودش می‌برد و از XZ با ضریب i متمایز است — یک فاز سراسری، از نظر فیزیکی بی‌اهمیت (۱۰.۷). آن‌ها جدول ضرب X·Y = iZ (و چرخه‌ای) و X² = Y² = Z² = I را برآورده می‌کنند. بردارهای ویژه‌شان دقیقاً نقاط اصلی کرهٔ بلاخ است: بردارهای ویژهٔ X یعنی |±⟩ و بردارهای ویژهٔ Z یعنی |0⟩ و |1⟩.

import numpy as np

I = np.eye(2, dtype=complex)
X = np.array([[0, 1], [1, 0]], dtype=complex)
Y = np.array([[0, -1j], [1j, 0]], dtype=complex)
Z = np.diag([1, -1]).astype(complex)

10.2گیت هادامارد

H = (1/√2)[[1,1],[1,−1]] پرکاربردترین گیت محاسبات کوانتومی است. ‏|0⟩ → |+⟩ = (|0⟩+|1⟩)/√2 و |1⟩ → |−⟩ = (|0⟩−|1⟩)/√2، و — چون وارون خودش است (H² = I) — ‏|+⟩ → |0⟩ و |−⟩ → |1⟩. دو قرائت. هندسی: چرخش ۱۸۰ درجه حول محور (x+z)/√2، جابه‌جاکنندهٔ قطب‌ها با دو نقطهٔ استوایی. جبری: تغییر پایه از Z به X، و به همین دلیل «اندازه‌گیری در پایهٔ X» همیشه به‌صورت H سپس اندازه‌گیری Z پیاده می‌شود (۱۱.۳). الگوریتمی: H موتور تداخل است — برهم‌نهی یکنواخت می‌سازد (در هر گام «پخش‌کردن دامنه‌ها» حاضر است) و در اعمال مجدد، مسیرها را بازترکیب می‌کند تا دامنه‌ها حذف یا تقویت شوند. گروور، نمونه‌گیر QFT و هر بنچمارک مدار تصادفی با H شروع می‌شوند.

10.3گیت‌های فاز: S و T

گیت‌های فاز فقط بر دامنهٔ |1⟩ اثر می‌کنند و |0⟩ را رها می‌کنند. S = diag(1, i) به فاز نسبی ۹۰ درجه اضافه می‌کند؛ T = diag(1, e^{iπ/4}) ۴۵ درجه. توان‌هایی از Z: ‏S² = Z، ‏T² = S، ‏T⁴ = Z. چرا تنظیم‌های ریز زاویه مهم‌اند؟ چون فاز نسبی برای اندازه‌گیری Z نامرئی است اما بعد از هادامارد (یا هر چرخش به پایهٔ X) دیدنی است، و مادهٔ خام تداخل است. ملموس: ‏H T H یک چرخش حول x به اندازهٔ ۴۵ درجه است، پس با ترکیب T و H و X می‌توان چرخش‌های با زاویهٔ دلخواه کوچک سنتز کرد — و T همان گیتی است که مجموعهٔ رایج سخت‌افزاری {Rz، √X و پالس‌های شبه‌T} را برای یک کیوبیت جامع می‌کند. روی سخت‌افزارِ تصحیح‌خطاشده، T به‌طرز معروفی گران است (خود را از زیرگروه کلیفورد بیرون می‌کشد، بخش دهم)، پس کامپایلرها آن را احتکار و تقطیر می‌کنند.

Effect on the equator (relative phase of |1> added by each gate):

  T: +45°   S: +90°   Z: +180°        S = T·T,  Z = S·S

  |+>  --T-->  phase 45°  --H-->  rotated Bloch vector, tilted off the equator

10.4گیت‌های چرخش

برای هر محور â در تصویر بلاخ، چرخش به زاویهٔ θ برابر U = e^{−iθ(â·σ)/2} است که σ ماتریس پائولی مربوط است. صریحاً: Rx(θ) = cos(θ/2)I − i sin(θ/2)X و به همین ترتیب Ry و Rz با Y و Z. سه یادداشت عملی. نخست، نیم‌زاویه: یک «چرخش π» بردار بلاخ را ۱۸۰ درجه می‌برد، که یک‌بار همه را غافلگیر می‌کند. دوم، Rx و Ry دامنه‌ها را مخلوط می‌کنند (قطب را جابه‌جا می‌کنند) اما Rz فقط فاز نسبی را عوض می‌کند — سخت‌افزار Rz را به‌صورت به‌روزرسانی ارزانِ چارچوب فاز پیاده می‌کند، تقریباً رایگان. سوم، چرخش‌ها حول یک محور مثل زاویه ترکیب می‌شوند: Rx(α)·Rx(β) = Rx(α+β)، که پالس‌های با زاویهٔ دلخواه را برای کنترل آنالوگ طبیعی می‌کند. در numpy هر کدام یک خط است و گیت‌هایی که برای شهود هندسی یا کالیبراسیون شبیه‌ساز دست‌ساز به آن‌ها نیاز دارید همین‌ها هستند.

10.5چرخش‌های دلخواه تک‌کیوبیتی و تجزیهٔ گیت

قضیهٔ تجزیهٔ گیت: هر عملگر یکانی ۲×۲ یعنی U برابر حاصل‌ضرب Rz(α)·Ry(β)·Rz(γ) است (تا فاز سراسری) — تجزیهٔ ZYZ، با سه پارامتر حقیقی که هم‌ارز دو زاویهٔ کرهٔ بلاخ به‌اضافهٔ فاز نامرئی‌اند. در زبان مدار: هر عملیات تک‌کیوبیتی سه گیت چرخش است. سخت‌افزار واقعی جلوتر می‌رود با زمان‌بندی زاویه‌های اویلر: ماشین‌های IBM به‌طور بومی U(θ, φ, λ) را در یک پالس می‌زنند و کامپایلرها هر گیت را به آن شکل بومی بازنویسی می‌کنند. درس مهندسی از یک کیوبیت فراتر می‌رود: تجزیه همان است که مدارِ انتزاعی را به برنامهٔ دستگاه تبدیل می‌کند، و سنجهٔ هزینه شمار گیت‌های بومی است، چون هر گیت بومی خطای ≈ ۱۰⁻³ حمل می‌کند (بخش یازدهم). فصل ۱۴ همین مضمون را با سنتز دوکیوبیتی تکرار می‌کند، جایی که حساب سرسخت‌تر است.

10.6جامعیت

مجموعه‌ای از گیت‌ها جامع است اگر هر عملگر یکانی را بتوان با تقریب دلخواه از حاصل‌ضرب اعضایش ساخت. نتیجهٔ کلاسیک: {H، T، CNOT} برای کل محاسبات کوانتومی جامع است؛ در میان مجموعه‌های تک‌کیوبیتی، {H، T} کافی است چون H به‌همراه فاز ۴۵ درجه گروه چگالی از چرخش‌ها تولید می‌کند (زوایای تولیدشده مضرب گنگی از π هستند، پس حاصل‌ضرب‌ها هرگز بسته نمی‌شوند — همه چیز را تقریب می‌زنند). در تقابل، گروه کلیفورد {H، S، CNOT} جامع نیست و — عمیق‌تر — به‌طور کلاسیک با قضیهٔ Gottesman–Knill شبیه‌سازی‌پذیر است (بخش دهم): دقیقاً همان مرزی که T را گران‌بها می‌کند. جامعیت گزاره‌ای مجانبی است؛ پرسش مهندسی همیشه «به چه قیمتی» است و همان‌جاست که سنتز (۱۴.۷) و بودجهٔ خطا接管 می‌کنند.

10.7فاز سراسری در برابر فاز مشاهده‌پذیر

یک تمایز، با بیان تیز، چون باگ واقعی می‌سازد. فاز سراسری: ‏|ψ⟩ و e^{iθ}|ψ⟩ یک حالت فیزیکی‌اند؛ هیچ اندازه‌گیری‌شان را تفکیک نمی‌کند. در کد، مقایسهٔ حالت‌ها یعنی مقایسهٔ تصویرگرها یا بررسی ضرب داخلی تا یک فاز: abs(np.vdot(psi1, psi2)) ≈ 1، هرگز برابری درون‌به‌درونی. فاز نسبی (مشاهده‌پذیر): فاز میان مؤلفه‌های برهم‌نهی فیزیکی است — ‏|+⟩ و |−⟩ در پایهٔ X به‌طور اندازه‌پذیر متفاوت‌اند و تداخل در هر الگوریتم به آن وابسته است. قاعدهٔ سرانگشتی: عملیاتی که کل بردار را در فاز ضرب می‌کند رایگان و غیرقابل‌مشاهده است؛ عملیاتی که یک مؤلفه را در فاز ضرب می‌کند (Z، S، T) گیتی است که کار می‌کند. چارچوب‌های شبیه‌سازی در حفظ فاز سراسری اختلاف دارند؛ مدارها را با بردار حالت خام دیفا نگیرید.