33. کدهای کوانتومی ساده
33.1کد سهکیوبیتی وارونگی بیت
کد ۳۲.۴ حالا نام میگیرد: |0_L⟩ = |000⟩، |1_L⟩ = |111⟩، با مولدهای پایدارساز Z0 Z1 و Z1 Z2. هر خطای تکگانهٔ X (وارونگی بیت) را تصحیح میکند. با وارونگیهای مستقل با نرخ p و استخراج سندروم بینقص، نرخ خطای منطقی p_L = 3p^2 - 2p^3 است — همان فرمول رأیگیری اکثریتیِ ۳۲.۱، چون جدول سندروم بههمراه تصحیح شرطی خودش رأیگیری اکثریتی است. محدودیت همانقدر روشن است: پایدارسازها فقط Z دارند، پس خطاهای Z با همه جابهجا میشوند و نامرئیاند، و سه وارونگی پیاپی مثل «بدون خطا» به نظر میرسد در حالی که وارونگی منطقی است. این کد از یک ردهٔ خطا محافظت میکند؛ سختافزار واقعی هم بیت و هم فاز را وارونه میکند.
33.2کد سهکیوبیتی وارونگی فاز
خطاهای فاز (وارونگی Z) بهاندازهٔ وارونگی بیت فیزیکیاند: Z|+⟩ = |−⟩، پس وارونگی فاز برهمنهیها را در پایهٔ هادامارد خراب میکند. راهحل همان کد است با هر عملگر مقترن با H: در پایهٔ |±⟩ کدگذاری کنید بهصورت α|+++⟩ + β|−−−⟩، با پایدارسازهای X0 X1 و X1 X2. جدول سندروم عیناً همان است با جابهجایی X و Z و تغییر نام حالتهای پایه. این نخستین نمونهٔ الگویی است که در سراسر نظریهٔ کدها تکرار میشود: اعمال یک تغییر پایه روی همهٔ کیوبیتها یک کد را به کدِ دوگانهاش میبرد که ردهٔ مکمل خطا را محافظت میکند. هنوز هیچچیز همزمان از X و Z محافظت نمیکند — این ساختار بیشتری میخواهد.
33.3کد شور
کد شور (Shor) در ۱۹۹۵ نخستین کدی بود که خطای دلخواهِ تککیوبیتی را تصحیح کرد. ساخت، الحاق (concatenation) است: یک کد بیرونی وارونگی فازِ سهکیوبیتی که «کیوبیتهای» آن هر یک یک کد وارونگی بیت سهکیوبیتیاند — ۹ کیوبیت فیزیکی، یک منطقی. پایدارساز ۸ مولد دارد:
Z0 Z1Z1 Z2Z3 Z4Z4 Z5Z6 Z7Z7 Z8X0 X1 X2 X3 X4 X5X3 X4 X5 X6 X7 X8
پاریتیهای درونبلوکی وارونگیهای بیت را میگیرند؛ دو عملگر X ششکیوبیتی علامت سه بلوک را با هم مقایسه میکنند و وارونگیهای فاز را میگیرند. چون هر خطای تککیوبیتی ترکیب خطی I و X و Z است (و Y = iXZ)، و تصحیح خطی است، تصحیح خطاهای X و Z همهچیز را تصحیح میکند: این همان استدلال استاندارد است که سندرومهای گسسته برای فضای پیوستهٔ خطا کافیاند (۳۴.۱).
33.4کد استین
کد استین (Steane)، [[7,1,3]]، همان محافظت را با کیوبیت کمتر از طریق ساخت CSS میگیرد: یک کد کلاسیکِ بسته تحت ترانهاده — کد همینگ [7,4,3] — بردارید و سطرهای ماتریس بررسی توازنش را همزمان بهعنوان پایدارسازهای X-نوع و Z-نوع به کار ببرید:
X0 X1 X2 X4X0 X1 X3 X5X0 X2 X3 X6Z0 Z1 Z2 Z4Z0 Z1 Z3 Z5Z0 Z2 Z3 Z6
|0_L⟩ برهمنهی یکنواخت ۸ کدواژهٔ همینگِ وزن-زوج است؛ |1_L⟩ پوشش وزن-فردهاست. خطاهای بیت و فاز با رمزگشاهای کلاسیک جدا و مستقل مدیریت میشوند — کدهای CSS مسئله را بهشکلی تمیز تفکیک میکنند. اهمیت تاریخی کد استین این بود که مجموعهٔ کامل گیتهای کلیفوردش (H، S، CNOT) آفقی است (۳۳.۶) و او را به نخستین بستر عملیِ منطق تحملپذیر خطا بدل کرد.
33.5کیوبیتهای منطقی
همهٔ بالا یک کیوبیت منطقی (logical qubit) تعریف میکند: زیرفضای دوبعدیِ فضای کد، گسترده با |0_L⟩ و |1_L⟩، که با اندازهگیری و تصحیح پیوسته نگه داشته میشود. نماد عمومی [[n, k, d]] است: n کیوبیت فیزیکی، k کیوبیت منطقی، فاصلهٔ d (۳۵.۱۰). کد وارونگی بیت [[3,1,3]] است، شور [[9,1,3]]، استین [[7,1,3]]. دو ویژگی در عمل اهمیت دارند. کیوبیت منطقی یک «کیوبیت فیزیکی قویتر» نیست — زیرفضایی است فعالانه نگهداریشده که کیفیتش عملیاتی با نرخهای خطای منطقی اندازهگیریشده تعریف میشود (۳۵.۱۱). و کدها معمولاً تباهیده (degenerate) هستند: خطاهای فیزیکی متفاوت میتوانند روی فضای کد یکسان عمل کنند، پس رویدادهای فیزیکیِ قابلتصحیح بیشتر از سندرومهای متمایزند.
33.6گیتهای منطقی
محاسبه روی دادهٔ کدشده یعنی اعمال واحدیهایی که فضای کد را به خودش میبرند. برای کد وارونگی بیت، پائولیهای منطقی ضربهایی هستند: X̄ منطقی = X0 X1 X2 که |000⟩ و |111⟩ را جابهجا میکند؛ Z̄ منطقی = Z0 Z1 Z2 که به |111⟩ فاز −1 میدهد. هر یک را میتوان در پایدارسازها ضرب کرد تا پیادهسازیهای همارز به دست آید — آزادیای که گِیج (gauge) نام دارد. پرسش مهندسی این است که کدام گیتها بدون رمزگشایی اجرا میشوند. یک گیت آفقی (transversal gate) به هر کیوبیت فیزیکی بلوک یک گیت تککیوبیتی اعمال میکند، پس خطای فیزیکی نمیتواند میان کیوبیتها پخش شود — تحملپذیری مجانی است. کد استین سراسر گروه کلیفورد را بهصورت آفقی پیاده میکند؛ اما هیچ کدی مجموعهٔ آفقیِ جهانشمول ندارد (قضیهٔ ایستین–نیل) و دلیل وجود ۳۶.۶ همین است.