محاسبات کوانتمی (67) ترم بهار 390-39 مدرس: سلمان ابوالفتح بیگی نویسنده: سلمان ابوالفتح بیگی جلسه ذخیره پردازش و انتقال اطلاعات در دنیاي واقعی همواره در حضور خطا انجام می شود. مثلا اطلاعات کلاسیکی که به صورت دنباله اي از,0 نمایش داده شده اند در حین محاسبه ممکن است با خطا مواجه شده و یکی از بیت هاي آن تغییر کند. اگر احتمال تغییر هر بیت را p در نظر بگیریم خطا با «کانال» زیر نمایش داده می شود: 0 p p p p 0 در نتیجه اگر اطلاعات ذخیره شده 0 باشد با احتمال (p )p به 00 تبدیل و با احتمال (p 3 ) هیچ تغییري نمی کند. حال فرض کنید که براي ذخیره ي اطلاعات از «کد تکرار «استفاده کرده و بیت 0 را با 000 و بیت را با ذخیره کنیم 0 000 به هر یک از 000 و یک کلمه کد 3 گویند. در این مثال اطلاعات 0 به صورت 000 ذخیره می شود. حال فرض کنید که مثلا روي بیت اول خطا ایجاد شده و به 00 تبدیل شود. در این صورت با نگاه کردن به سه بیت اول متوجه می شویم که آنها یکسان نیستند و لذا روي حداقل یکی از آنها خطا به وجود آمده. همچنین با فرض اینکه خطا فقط روي یک بیت ایجاد شده نتیجه می گیریم که بیت اول تغییر کرده و می توانیم آن را تصحیح کنیم. در این مثال سه مرحله را در نظر گرفتیم. ابتدا «کد گذاري» که مشخص کردیم هر بیت 0 یا چگونه ذخیره می شود. قدم دوم مدل کردن نوع خطایی (کانالی) است که روي اطلاعات ذخیره شده ایجاد می شود. در انتها مرحله ي «کد برداري «4 است که روشی است براي تصحیح خطا. Noise Repetition code 3 Codeword 4 Decoding
در بالا مثالی از نحوه ي کدگذاري و کانال را معرفی کردیم. در این مثال الگوریتم ما براي کدبرداري به این صورت خواهد بود که سه بیت متناظر با هر بیت از اطلاعات را درنظر می گیریم. از این سه بیت حداقل دو بیت یکسان هستند و بیت سوم را (در صورت تفاوت) تصحیح کرده و برابر با آن دو بیت قرار می دهیم. مثلا با مشاهده ي 00 آن را به 000 تغییر می دهیم. در این مثال احتمال خطا روي هر بیت از اطلاعات قبل از کد گذاري p بود. بعد از کد گذاري الگوریتم کد برداري ما دچار اشتباه می شود اگر یا 3 خطا ایجاد شود. پس احتمال اشتباه در کدبرداري برابر است با )3p (p + p 3 که اکیدا کوچکتر از p است (اگر < / p). در حالت کلی تر اگر هر بیت را با + m n = بیت یکسان کد کنیم و l m+ کدبرداري مشابهی را در نظر بگیریم احتمال خطا برابر خواهد بود با ( ) n p l ( p) n l l که به 0 میل می کند وقتی n یعنی طول کد به سمت بینهایت برود. بهینه بودن یک کد با سه پارامتر مشخص می شود. یکی k تعداد بیت هایی است که کد می شود. در مثال بالا = k بود چون فقط یک بیت را کد می کنیم. دوم n طول کد است و برابر با طول هر یک از کلمه کد ها. در آخر d فاصله ي کد 5 است. در کد تکرار d = n زیرا تعداد بیت هاي متفاوت دو کلمه کد. 0.. 00 و... برابر n است. یک کد کلاسیک با [d,n],k نشان داده می شود. کدهاي کوانتمی بعد از الگوریتم تجزیه ي شور عده اي اعتقاد داشتند که این الگوریتم هیچ گاه قابل پیاده سازي نیست. آنها استدلال می کردند که کد کوانتمی وجود ندارد پس خطاهایی که در دنیاي واقعی در حین پیاده سازي الگوریتم ایجاد می شوند را نمی توان تصحیح کرد. استدلال آنها براي انکار وجود کد کوانتمی سه محور اصلی داشت. نخست اینکه طبق قضیه ي no cloning اطلاعات کوانتمی را نمی توان کپی کرد. براي مثال در کد کلاسیک تکرار هر بیت را n بار کپی می کنیم ولی کپی کردن کیوبیت ها امکان پذیر نیست. دوم اینکه خطاهاي کوانتمی پیوسته هستند. در دنیاي کلاسیک خطاهایی که روي یک (یا چند بیت) ایجاد می شود مجموعه اي گسسته و متناهی تشکیل می دهند ولی در دنیاي کوانتمی دینامیک هاي کوانتمی (که مجموعه اي پیوسته و نامتناهی تشکیل می دهند) را می توان به عنوان یک خطا در نظر گرفت. سوم اینکه براي تصحیح خطا (کد برداري) یک سیستم کوانتمی ابتدا باید اندازه گیري انجام داد ولی این اندازه گیري باعث تغییر حالت 6 سیستم می شود و اطلاعات را از بین می برد. با وجود این استدلال ها اولین کد کوانتمی در سال 995 کشف شد. بررسی کد هاي کوانتمی را با مثال هایی ساده شروع می کنیم. خطاي کوانتمی در واقع یک دینامیک کوانتمی است پس با یک نگاشت کاملا مثبت و حافظ اثر مشخص می شود. X را ماتریس پاولی بگیرید 5 Code distance 6 Collapse X = ( ) 0 0
و خطا را برابر E(ρ) = ) p)ρ + pxρx قرار دهید. این نگاشت را می توان به این صورت تعبیر کرد که روي ورودي ρ با احتمال p خطاي X رخ می دهد و با احتمال (p ) هیچ خطایی ایجاد نمی شود. توجه کنید که = 0 X و 0 = X پس این خطا معادل کوانتمی خطاي کلاسیکی است که در بالا در نظر گرفتیم. حال با مشخص کردن خطا قدم بعد مشخص کردن نحوه ي کدگذاري و کدبرداري است. براي کدگذاري معادل کوانتمی کد تکرار را در نظر می گیریم: 0 000,. () با این کدگذاري فضاي دو بعدي یک کیوبیت به زیر فضایی دو بعدي از فضاي هشت بعدي متناظر با سه کیوبیت نگاشته می شود. در واقع حالت β 0 α + به حالت β 000 α + کد می شود. مدار زیر نحوه ي کدگذاري را مشخص می کند. α 0 + β } 0 0 α 000 + β حال باید کدبرداري را معرفی کنیم. در کدبرداري ابتدا باید «اندازه گیري» انجام دهیم. این اندازه گیري مشخص می کند که آیا روي اطلاعات ما خطا رخ داده یا نه. بعد اگر خطا رخ داده بود باید آن را تصحیح کرد. به این اندازه گیري اصطلاحا syndrome measurement گویند. در این مثال خاص اندازه گیري متناظر همانند همان اندازه گیري کد کلاسیک تکرار است: P 0 = 000 000 +, P = 00 00 + 0 0, P = 00 00 + 0 0, P 3 = 00 00 + 0 0. توجه کنید که P. 0 + P + P + P 3 = I اگر حاصل اندازه گیري P 0 باشد فرض می کنیم که هیچ خطایی رخ نداده و اگر حاصل اندازه گیري P i باشد (3 i ) فرض می کنیم که خطاي X روي کیوبیت i -ام رخ داده که با اعمال عملگر X روي آن کیوبیت خطا را تصحیح می کنیم. نگاشت کوانتمی متناظر با این کدبرداري برابر است با R(σ) = P 0 σp 0 + X P σp X + X P σp X + X 3 P 3 σp 3 X 3, که در آن منظور از X i عملگر X است که روي کیوبیت i -ام اثر می کند (براي مثال X). = I X I 3
به راحتی می توان دید که این کد کوانتمی همانند کد کلاسیک تکرار عمل می کند. به این معنا که قبل از کدگذاري احتمال خطا p بود و بعد از آن برابر )3p (p + p 3 می شود. این کد کوانتمی خاص قابلیت تصحیح خطاي X روي یک کیوبیت را دارد. ولی خطاي Z ( ) 0 Z = 0 را نیز می توان به عنوان یک خطا کوانتمی در نظر گرفت. مثلا فرض کنید که روي کیوبیت اول خطاي Z رخ دهد. اگر حالت سیستم بعد از کدگذاري β 000 α + باشد پس از ایجاد خطا حالت β 000 α خواهد شد. این حالت متناظر با کد شده ي حالت β 0 α نیز هست. حال با مشاهده ي (اندازه گیري) این حالت ما نمی توانیم تشخیص دهیم که حالت سیستم قبل از کدگذاري β 0 α + بوده که روي آن خطا ایجاد شده و یا β 0 α بوده و خطایی رخ نداده. پس این کد خطاي Z را تصحیح نمی کند. گرچه کد بالا خطاي Z را تصحیح نمی کند اگر کانال متناظر با خطا برابر E(ρ) = ) p)ρ + pzρz بود می توانستیم از کد α 0 + β α + ++ + β () = ±. به راحتی می توان کدبرداري متناظر را نیز تعریف و بررسی کرد که این استفاده کنیم که در آن ( ± 0 ) کد خطاي Z که روي یک کیوبیت رخ داده را تصحیح می کند. کد شور سو الی که در اینجا پیش می آید این است که آیا کدي وجود دارد که هم خطاي X را تصحیح کند و هم خطاي Z را. کد شور 7 کدي است 9 کیوبیتی که «هر» خطایی (شامل خطاي X و Z) که روي یک کیوبیت رخ دهد را تصحیح می کند. نحوه ي کدگذاري کد شور به صورت زیر است: 0 (( 000 + ) ( 000 + ) ( 000 + )), (( 000 ) ( 000 ) ( 000 )). توجه کنید که این کد به این صورت بدست می آید که ابتدا یک کیوبیت را با کد () کد می کنیم و یک حالت سه-کیوبیتی بدست می آوریم. سپس هر یک از سه کیوبیت را با کد () کد می کنیم. از آنجا که هر یک از کدهاي () و () می تواند به ترتیب خطاي X یا Z را تصحیح کند می توان نتیجه کرد که کد شور خطاي X و Z هر دو را تصحیح می کند. نکته ي نابدیهی این است که این کد نه تنها این دو خطا بلکه هر خطاي دیگري که روي یک کیوبیت رخ دهد را نیز تصحیح می کند. این ادعا را در جلسات آینده ثابت می کنیم. 7 Shor s code 4
3 قضیه ي کنیل-لافلامه فرض کنید بخواهیم k کیوبیت را در n کیوبیت کد کنیم. فضاي هیلبرت متناظر با k کیوبیت یک فضاي برداري k بعدي است با پایه ي متعامد یکه ي } k x }. : x,0} { براي کدگذاري باید متناظر با هر یک از حالات x یک حالت n -کیوبیتی x ψ نسبت دهیم. از آنجا که حالات x متعامد یکه هستند انتظار داریم x ψ ها نیز متعامد یکه باشند. اگر W را زیر فضاي برداري پوشیده شده با بردارهاي x ψ بگیریم W را زیر فضاي کد گویند و P = ψ x ψ x x {0,} k عملگر تصویر عمود روي این زیرفضاست و داریم.dim W = trp = k خطاي کوانتمی در حالت کلی متناظر با یک نگاشت کاملا مثبت و حافظ اثر است: E(ρ) = i E i ρe i که در آن i E i E i = I. همچنین عمل کدبرداي و تصحیح خطا نیز در حالت کلی متناظر با یک نگاشت کوانتمی است: R(ρ) = l R l ρr l که l R l R l = I. تعریف: کد P خطاي E را تصحیح می کند اگر R وجود داشته باشد به طوري که براي هر ψ W R E( ψ ψ ) = ψ ψ. به طور معادل خطاي E توسط R قابل تصحیح است اگر براي هر ρ داشته باشیم:. R E(P ρp ) = P ρp قضیه: کد P تحت خطاي E قابل تصحیح است اگر و فقط اگر براي هر,i j وجود داشته باشد α ij C به طوري که P E i E jp = α ij P. (3) در مثال کد () W برابر زیرفضاي تولید شده توسط {, 000 } است و + 000 000 = P. همچنین E(ρ) = q X ρx + q X ρx + q 3 X 3 ρx 3 که در آن > 0 i q و = i i q. یعنی با احتمال q i خطاي X روي کیوبیت i -ام رخ می دهد. پس E i X i و داریم. P X i X jp = δ ij P درنتیجه شرط قضیه برقرار 5
است و خطاي E قابل تصحیح است. اثبات: داریم ( ) اگر R وجود داشته باشد به طوري که براي هر ψ W داشته باشیم ψ ψ R E( ψ ψ ) = ) ψ ψ = l R l ( i E i ψ ψ E i R l = i,l R l E i ψ ψ E i R l. در نتیجه براي هر,i l داریم ψ R l E i ضریبی از ψ است. (سمت چپ یک عملگر با رتبه ي یک است پس سمت راست نیز باید رتبه ي یک داشته باشد.) در واقع از آنجا که این رابطه براي هر ψ W برقرار است و ψ P ψ = می توان نتیجه گرفت که براي هر i, l وجود دارد c il به طوري که.R l E i P = c il P حال داریم P E i E jp = l = l P E i R l R le j P (R l E i P ) (R l E j P ) = (c il P ) (c jl P ) l ( ) = c il c jl P, l که در اینجا از رابطه ي l R l R l = I استفاده کردیم. ( ) فرض کنید α ij وجود داشته باشد به طوري که P E i E jp = α ij P و α را ماتریسی بگیرید که درایه ي (j,i) آن برابر α ij باشد. به راحتی می توان بررسی کرد که α هرمیتی و مثبت نیمه معین است. در نتیجه ماتریس یکانی ) ik u = u) وجود دارد به طوري که d = u αu قطري باشد با درایه هاي 0 ii d روي قطر. توجه کنید که P = P = i P E i E ip = i α ii P. F k = i u ik E i. بنابراین =.trα تعریف کنید k F kρf k = i E iρe i. همچنین داریم با توجه به یکانی بودن u می توان بررسی کرد که E(ρ) = P F k F lp = i,j u ik u jlp E i E jp = i,j u ik u jlα ij P = d kl P = δ k,l d kk P. 6
در نتیجه (F k P ) (F k P ) = d kk P و با در نظر گرفتن singular value decomposition عملگر F k P نتیجه می گیریم F k P = d kk U k P. که عملگر یکانی U k وجود دارد به طوري که = k.p k := U k P U داریم dkk F k P U k قرار دهید P k P l = P k P l = U k P F k dkk d F lp U l = δ d k,l kk U k P U l ll dkk d = δ k,lp k. ll پس Pها k عملگر هاي تصویر دو به دو عمود بر هم هستند. لذا Pها k به همراه P 0 = I k P k یک اندازه گیري تصویري تشکیل می دهند. در کدبرداري می خواهیم این اندازه گیري را به عنوان syndrome measurement در نظر بگیریم. در واقع ابتدا این اندازه گیري را انجام می دهیم اگر حاصل اندازه گیري P k شد براي تصحیح خطا عملگر U k را اعمال می کنیم (در اینجا قرار می دهیم U). 0 = I در نتیجه نگاشت کوانتمی متناظر برابر است با R(ρ) = k U k P kρp k U k. واضح است که R یک نگاشت کاملا مثبت و حافظ اثر است. R E(P ρp ) = k U k P ke(p ρp )P k U k = k,l U k P kf l P ρp F l P ku k = k,l d ll U k P kp l U l ρu l P lp k U k = k = k d kk U k P ku k ρu k P ku k d kk P ρp = tr(α)p ρp = P ρp. 7