דלג לתוכן הראשי

הליך אמידת הפאזה

עכשיו נדון בהליך אמידת הפאזה, שהוא אלגוריתם קוונטי לפתרון בעיית אמידת הפאזה.

נתחיל עם חימום ברזולוציה נמוכה, שמסביר חלק מהאינטואיציה הבסיסית שמאחורי השיטה. לאחר מכן נדבר על טרנספורם פורייה הקוונטי, שהיא פעולה קוונטית חשובה המשמשת בהליך אמידת הפאזה, וכן על מימושה כ-Circuit קוונטי. ברגע שיהיה בידינו טרנספורם פורייה הקוונטי, נתאר את הליך אמידת הפאזה בכלליות מלאה וננתח את ביצועיו.

חימום: קירוב פאזות ברזולוציה נמוכה

נתחיל עם כמה גרסאות פשוטות של הליך אמידת הפאזה שנותנות פתרונות ברזולוציה נמוכה לבעיית אמידת הפאזה. זה עוזר להסביר את האינטואיציה שמאחורי ההליך הכללי שנראה מעט מאוחר יותר בשיעור.

שימוש ב-phase kickback

גישה פשוטה לבעיית אמידת הפאזה, שמאפשרת לנו ללמוד משהו על הערך θ\theta שאנחנו מחפשים, מבוססת על תופעת ה-phase kick-back. כפי שנראה, זו בעצם גרסה של Qubit יחיד של הליך אמידת הפאזה הכללי שיידון מאוחר יותר בשיעור.

כחלק מהקלט לבעיית אמידת הפאזה, יש לנו Circuit קוונטי לפעולה U.U. אנחנו יכולים להשתמש בתיאור של Circuit זה כדי ליצור Circuit לפעולת controlled-UU, שניתן לתאר אותה כפי שמציעה התמונה הזו (עם הפעולה U,U, הנתפסת כ-Gate קוונטי, משמאל ופעולת controlled-UU מימין).

גרסאות לא מבוקרת ומבוקרת של פעולה יוניטרית

אנחנו יכולים ליצור Circuit קוונטי לפעולת controlled-UU על ידי הוספת Qubit שליטה ל-Circuit עבור UU, ולאחר מכן להחליף כל Gate ב-Circuit עבור UU בגרסה מבוקרת של אותו Gate — כך שה-Qubit השליטה החדש שלנו שולט בפועל בכל Gate יחיד ב-Circuit עבור U.U. זה דורש שתהיה לנו גרסה מבוקרת של כל Gate ב-Circuit שלנו, אבל תמיד אפשר לבנות Circuits עבור פעולות מבוקרות אלה במקרה שהן לא נכללות בסט ה-Gate שלנו.

עכשיו שקלו את ה-Circuit הבא, שבו מצב הקלט ψ\vert\psi\rangle של כל ה-Qubits חוץ מהעליון הוא וקטור עצמי של המצב הקוונטי של U.U.

Circuit של Qubit יחיד לאמידת פאזה

ההסתברויות לתוצאות המדידה של Circuit זה תלויות בערך העצמי של UU שמתאים לוקטור העצמי ψ.\vert\psi\rangle. בואו ננתח את ה-Circuit בפירוט כדי לקבוע בדיוק איך.

מצבי Circuit של Qubit יחיד לאמידת פאזה

המצב ההתחלתי של ה-Circuit הוא

π0=ψ0\vert\pi_0\rangle = \vert\psi\rangle \vert 0\rangle

וה-Gate הראשון של הדאמר מטפל במצב זה ומשנה אותו ל:

π1=ψ+=12ψ0+12ψ1.\vert\pi_1\rangle = \vert\psi\rangle \vert +\rangle = \frac{1}{\sqrt{2}} \vert\psi\rangle \vert 0\rangle + \frac{1}{\sqrt{2}} \vert\psi\rangle \vert 1\rangle.

לאחר מכן, מתבצעת פעולת controlled-UU, שמביאה למצב

π2=12ψ0+12(Uψ)1.\vert\pi_2\rangle = \frac{1}{\sqrt{2}} \vert\psi\rangle \vert 0\rangle + \frac{1}{\sqrt{2}} \bigl(U \vert\psi\rangle\bigr) \vert 1\rangle.

בשימוש בהנחה ש-ψ\vert\psi\rangle הוא וקטור עצמי של UU עם ערך עצמי λ=e2πiθ,\lambda = e^{2\pi i\theta}, אנחנו יכולים לבטא את המצב הזה אחרת, כך:

π2=12ψ0+e2πiθ2ψ1=ψ(120+e2πiθ21)\vert\pi_2\rangle = \frac{1}{\sqrt{2}} \vert\psi\rangle \vert 0\rangle + \frac{e^{2\pi i \theta}}{\sqrt{2}} \vert\psi\rangle \vert 1\rangle = \vert\psi\rangle \otimes \left( \frac{1}{\sqrt{2}} \vert 0\rangle + \frac{e^{2\pi i \theta}}{\sqrt{2}} \vert 1\rangle\right)

כאן אנחנו צופים בתופעת ה-phase kickback. היא מעט שונה הפעם מאשר הייתה עבור האלגוריתם של דויטש ואלגוריתם דויטש-יוזה מכיוון שאנחנו לא עובדים עם Gate שאילתה — אבל הרעיון דומה.

לבסוף, מתבצע ה-Gate השני של הדאמר. לאחר פישוט קל, אנחנו מקבלים את הביטוי הזה עבור המצב הזה.

π3=ψ(1+e2πiθ20+1e2πiθ21)\vert\pi_3\rangle = \vert\psi\rangle \otimes \left( \frac{1+ e^{2\pi i \theta}}{2} \vert 0\rangle + \frac{1 - e^{2\pi i \theta}}{2} \vert 1\rangle\right)

המדידה מניבה לכן את התוצאות 00 ו-11 עם ההסתברויות הבאות:

p0=1+e2πiθ22=cos2(πθ)p1=1e2πiθ22=sin2(πθ).\begin{aligned} p_0 &= \left\vert \frac{1+ e^{2\pi i \theta}}{2} \right\vert^2 = \cos^2(\pi\theta)\\[1mm] p_1 &= \left\vert \frac{1- e^{2\pi i \theta}}{2} \right\vert^2 = \sin^2(\pi\theta). \end{aligned}

הנה גרף של ההסתברויות לשתי התוצאות האפשריות, 00 ו-1,1, כפונקציות של θ.\theta.

הסתברויות תוצאה מ-phase kickback

כמובן, שתי ההסתברויות תמיד מסתכמות ל-1.1. שימו לב שכאשר θ=0,\theta = 0, תוצאת המדידה היא תמיד 0,0, וכאשר θ=1/2,\theta = 1/2, תוצאת המדידה היא תמיד 1.1. כלומר, למרות שתוצאת המדידה לא חושפת בדיוק מהו θ\theta, היא כן מספקת לנו מידע כלשהו עליו — ואם היה מובטח לנו שאחד מהם θ=0\theta = 0 או θ=1/2,\theta = 1/2, יכולנו ללמוד מה-Circuit איזה מהם נכון ללא שגיאה.

באופן אינטואיטיבי, נוכל לחשוב על תוצאת המדידה של ה-Circuit כניחוש עבור θ\theta ל"דיוק של סיבית אחת." במילים אחרות, אם היינו כותבים את θ\theta בסימון בינארי ומעגלים אותו לסיבית אחת, היה לנו מספר כזה:

0.a={0a=012a=1.0.a = \begin{cases} 0 & a = 0\\ \frac{1}{2} & a = 1. \end{cases}

תוצאת המדידה ניתנת לראייה כניחוש עבור הסיבית a.a. כאשר θ\theta אינו 00 ולא 1/2,1/2, יש הסתברות שאינה אפס שהניחוש יהיה שגוי — אבל הסתברות ביצוע השגיאה הולכת וקטנה ככל שמתקרבים ל-00 או ל-1/2.1/2.

טבעי לשאול מה תפקיד שני ה-Gate של הדאמר בהליך זה:

  • ה-Gate הראשון של הדאמר מגדיר את ה-Qubit השליטה לסופרפוזיציה אחידה של 0\vert 0\rangle ו-1,\vert 1\rangle, כך שכאשר ה-phase kickback מתרחש, הוא קורה עבור המצב 1\vert 1\rangle ולא עבור המצב 0,\vert 0\rangle, ויוצר הפרש פאזה יחסי שמשפיע על תוצאות המדידה. אם לא היינו עושים זאת ו-phase kickback היה מייצר פאזה גלובלית, זה לא היה משפיע על ההסתברויות לקבלת תוצאות מדידה שונות.

  • ה-Gate השני של הדאמר מאפשר לנו ללמוד משהו על המספר θ\theta דרך תופעת ההתאבכות. לפני ה-Gate השני של הדאמר, מצב ה-Qubit העליון הוא

    120+e2πiθ21,\frac{1}{\sqrt{2}} \vert 0\rangle + \frac{e^{2\pi i \theta}}{\sqrt{2}} \vert 1\rangle,

    ואם היינו מודדים מצב זה, היינו מקבלים 00 ו-11 כל אחד עם הסתברות 1/2,1/2, ולא מספרים לנו כלום על θ.\theta. עם זאת, על ידי ביצוע ה-Gate השני של הדאמר, אנחנו גורמים למספר θ\theta להשפיע על הסתברויות הפלט.

הכפלת הפאזה

ה-Circuit לעיל משתמש בתופעת ה-phase kickback כדי לקרב את θ\theta לדיוק של סיבית בודדת. דיוק של סיבית אחת עשוי להיות כל מה שאנחנו צריכים במצבים מסוימים — אבל לפקטוריזציה נצטרך הרבה יותר דיוק מזה. שאלה טבעית היא, כיצד נוכל ללמוד יותר על θ?\theta?

דבר פשוט מאוד שנוכל לעשות הוא להחליף את פעולת controlled-UU ב-Circuit שלנו בשני עותקים של פעולה זו, כמו ב-Circuit הזה:

אמידת פאזה של סיבית בודדת מוכפלת

שני עותקים של פעולת controlled-UU שקולים לפעולת controlled-U2U^2 אחת. אם ψ\vert\psi\rangle הוא וקטור עצמי של UU עם ערך עצמי λ=e2πiθ,\lambda = e^{2\pi i \theta}, אז מצב זה הוא גם וקטור עצמי של U2U^2, הפעם עם ערך עצמי λ2=e2πi(2θ).\lambda^2 = e^{2\pi i (2\theta)}.

לכן, אם נריץ גרסה זו של ה-Circuit, אנחנו בעצם מבצעים את אותו חישוב כמו קודם, אלא שהמספר θ\theta מוחלף ב-2θ.2\theta. הנה גרף המדגים את הסתברויות הפלט כש-θ\theta נע בין 00 ל-1.1.

הסתברויות תוצאה מ-double-phase kickback

עשיית זאת אכן יכולה לספק לנו מידע נוסף על θ.\theta. אם הייצוג הבינארי של θ\theta הוא

θ=0.a1a2a3\theta = 0.a_1 a_2 a_3\cdots

אז הכפלת θ\theta זזה בפועל את הנקודה הבינארית מיקום אחד ימינה:

2θ=a1.a2a32\theta = a_1. a_2 a_3\cdots

ומכיוון שאנחנו משווים θ=1\theta = 1 עם θ=0\theta = 0 כשאנחנו מסתובבים סביב מעגל היחידה, אנחנו רואים שלסיבית a1a_1 אין השפעה על ההסתברויות שלנו, ואנחנו בעצם מקבלים ניחוש עבור הסיבית השנייה אחרי הנקודה הבינארית אם נעגל את θ\theta לשתי סיביות. לדוגמה, אם ידענו מראש ש-θ\theta הוא 00 או 1/4,1/4, נוכל לסמוך לחלוטין על תוצאת המדידה שתגיד לנו איזה.

עם זאת, לא ברור מיד כיצד יש לפייס אמידה זו עם מה שלמדנו מה-Circuit המקורי (ה-phase kickback הלא מוכפל) כדי לתת לנו את המידע המדויק ביותר האפשרי על θ.\theta. אז בואו נחזור צעד אחורה ונשקול כיצד להמשיך.

אמידת פאזה עם שני Qubits

במקום לשקול את שתי האפשרויות שתוארו לעיל בנפרד, בואו נשלב אותן ל-Circuit יחיד כך.

ההגדרה הראשונית לאמידת פאזה עם שני Qubits

ה-Gate של הדאמר אחרי הפעולות המבוקרות הוסרו ואין כאן עדיין מדידות. נוסיף עוד ל-Circuit כשנשקול את האפשרויות שלנו ללמוד כמה שיותר על θ.\theta.

אם נריץ Circuit זה כאשר ψ\vert\psi\rangle הוא וקטור עצמי של UU, מצב ה-Qubits התחתונים יישאר ψ\vert\psi\rangle לאורך כל ה-Circuit, ופאזות "ייקרצו" למצב שני ה-Qubits העליונים. בואו ננתח את ה-Circuit בזהירות, באמצעות התמונה הבאה.

מצבים לאמידת פאזה עם שני Qubits

אנחנו יכולים לכתוב את המצב π1\vert\pi_1\rangle כך:

π1=ψ12a0=01a1=01a1a0.\vert\pi_1\rangle = \vert \psi\rangle \otimes \frac{1}{2} \sum_{a_0 = 0}^1 \sum_{a_1 = 0}^1 \vert a_1 a_0 \rangle.

כאשר פעולת controlled-UU הראשונה מתבצעת, הערך העצמי λ=e2πiθ\lambda = e^{2\pi i\theta} נקרץ לפאזה כאשר a0a_0 (ה-Qubit העליון) שווה ל-1,1, אבל לא כאשר הוא 0.0. לכן, אנחנו יכולים לבטא את המצב המתקבל כך:

π2=ψ12a0=01a1=01e2πia0θa1a0.\vert\pi_2\rangle = \vert\psi\rangle \otimes \frac{1}{2} \sum_{a_0=0}^1 \sum_{a_1=0}^1 e^{2 \pi i a_0 \theta} \vert a_1 a_0 \rangle.

ה-Gate השני והשלישי של controlled-UU עושים משהו דומה, אלא עבור a1a_1 ולא a0a_0, וכאשר θ\theta מוחלף ב-2θ.2\theta. אנחנו יכולים לבטא את המצב המתקבל כך:

π3=ψ12a0=01a1=01e2πi(2a1+a0)θa1a0.\vert\pi_3\rangle = \vert\psi\rangle\otimes\frac{1}{2}\sum_{a_0 = 0}^1 \sum_{a_1 = 0}^1 e^{2\pi i (2 a_1 + a_0)\theta} \vert a_1 a_0 \rangle.

אם נחשוב על המחרוזת הבינארית a1a0a_1 a_0 כמייצגת מספר שלם x{0,1,2,3}x \in \{0,1,2,3\} בסימון בינארי, שהוא x=2a1+a0,x = 2 a_1 + a_0, נוכל לבטא את המצב הזה אחרת כך:

π3=ψ12x=03e2πixθx\vert\pi_3\rangle = \vert \psi\rangle \otimes \frac{1}{2} \sum_{x = 0}^3 e^{2\pi i x \theta} \vert x \rangle

המטרה שלנו היא לחלץ כמה שיותר מידע על θ\theta ממצב זה.

בשלב זה נשקול מקרה מיוחד, שבו מובטח לנו ש-θ=y4\theta = \frac{y}{4} עבור מספר שלם כלשהו y{0,1,2,3}.y\in\{0,1,2,3\}. במילים אחרות, θ{0,1/4,1/2,3/4},\theta\in \{0, 1/4, 1/2, 3/4\}, כלומר אנחנו יכולים לבטא מספר זה בדיוק בסימון בינארי עם שתי סיביות, כ-..00,. .01,. .10,או. או .11.באופןכללי,באופן כללי,\thetaעשוישלאלהיותאחדמארבעתהערכיםהללו,אבלחשיבהעלמקרהמיוחדזהתעזורלנולהביןכיצדלחלץמידעעלעשוי שלא להיות אחד מארבעת הערכים הללו, אבל חשיבה על מקרה מיוחד זה תעזור לנו להבין כיצד לחלץ מידע על\theta$ בצורה האפקטיבית ביותר באופן כללי.

ראשית נגדיר וקטור מצב של שני Qubits לכל ערך אפשרי y{0,1,2,3}.y \in \{0, 1, 2, 3\}.

ϕy=12x=03e2πix(y4)x=12x=03e2πixy4x\vert \phi_y\rangle = \frac{1}{2} \sum_{x = 0}^3 e^{2\pi i x (\frac{y}{4})} \vert x \rangle = \frac{1}{2} \sum_{x = 0}^3 e^{2\pi i \frac{x y}{4}} \vert x \rangle

לאחר פישוט האקספוננטים, אנחנו יכולים לכתוב וקטורים אלה כך:

ϕ0=120+121+122+123ϕ1=120+i21122i23ϕ2=120121+122123ϕ3=120i21122+i23\begin{aligned} \vert\phi_0\rangle & = \frac{1}{2} \vert 0 \rangle + \frac{1}{2} \vert 1 \rangle + \frac{1}{2} \vert 2 \rangle + \frac{1}{2} \vert 3 \rangle \\[3mm] \vert\phi_1\rangle & = \frac{1}{2} \vert 0 \rangle + \frac{i}{2} \vert 1 \rangle - \frac{1}{2} \vert 2 \rangle - \frac{i}{2} \vert 3 \rangle \\[3mm] \vert\phi_2\rangle & = \frac{1}{2} \vert 0 \rangle - \frac{1}{2} \vert 1 \rangle + \frac{1}{2} \vert 2 \rangle - \frac{1}{2} \vert 3 \rangle \\[3mm] \vert\phi_3\rangle & = \frac{1}{2} \vert 0 \rangle - \frac{i}{2} \vert 1 \rangle - \frac{1}{2} \vert 2 \rangle + \frac{i}{2} \vert 3 \rangle \end{aligned}

וקטורים אלה אורתוגונליים: אם נבחר כל זוג מהם ונחשב את המכפלה הפנימית שלהם, נקבל 0.0. כל אחד מהם הוא גם וקטור יחידה, כך ש-{ϕ0,ϕ1,ϕ2,ϕ3}\{\vert\phi_0\rangle, \vert\phi_1\rangle, \vert\phi_2\rangle, \vert\phi_3\rangle\} הוא בסיס אורתונורמלי. לכן אנחנו יודעים מיד שקיימת מדידה שיכולה להבחין ביניהם בצורה מושלמת — כלומר, אם ניתן לנו אחד מהם אבל לא ידוע לנו איזה, נוכל לגלות איזה הוא ללא שגיאה.

כדי לבצע הבחנה כזו עם Circuit קוונטי, נוכל תחילה להגדיר פעולה יוניטרית VV שמטפלת במצבי הבסיס הסטנדרטי לארבעת המצבים המפורטים לעיל.

V00=ϕ0V01=ϕ1V10=ϕ2V11=ϕ3\begin{aligned} V \vert 00 \rangle & = \vert\phi_0\rangle \\ V \vert 01 \rangle & = \vert\phi_1\rangle \\ V \vert 10 \rangle & = \vert\phi_2\rangle \\ V \vert 11 \rangle & = \vert\phi_3\rangle \end{aligned}

כדי לכתוב את VV כמטריצה 4×44\times 4, צריך פשוט לקחת את העמודות של VV להיות המצבים ϕ0,,ϕ3.\vert\phi_0\rangle,\ldots,\vert\phi_3\rangle.

V=12(11111i1i11111i1i)V = \frac{1}{2} \begin{pmatrix} 1 & 1 & 1 & 1\\[1mm] 1 & i & -1 & -i\\[1mm] 1 & -1 & 1 & -1\\[1mm] 1 & -i & -1 & i \end{pmatrix}

זוהי מטריצה מיוחדת, וסביר שחלק מהקוראים כבר נתקלו בה: זוהי המטריצה הקשורה לטרנספורם פורייה הדיסקרטי ממימד 44. לאור עובדה זו, הבה נכנה אותה בשם QFT4\mathrm{QFT}_4 ולא V.V. השם QFT\mathrm{QFT} הוא קיצור של טרנספורם פורייה הקוונטי — שהוא בעצם רק טרנספורם פורייה הדיסקרטי, הנתפס כפעולה יוניטרית. נדון בטרנספורם פורייה הקוונטי בפירוט ובכלליות רבה יותר בקרוב.

QFT4=12(11111i1i11111i1i)\mathrm{QFT}_4 = \frac{1}{2} \begin{pmatrix} 1 & 1 & 1 & 1\\[1mm] 1 & i & -1 & -i\\[1mm] 1 & -1 & 1 & -1\\[1mm] 1 & -i & -1 & i \end{pmatrix}

נוכל לבצע את ההופכי של פעולה זו כדי ללכת בכיוון ההפוך, לטפל במצבים ϕ0,,ϕ3\vert\phi_0\rangle,\ldots,\vert\phi_3\rangle למצבי הבסיס הסטנדרטי 0,,3.\vert 0\rangle,\ldots,\vert 3\rangle. אם נעשה זאת, נוכל למדוד כדי ללמוד איזה ערך y{0,1,2,3}y\in\{0,1,2,3\} מתאר את θ\theta כ-θ=y/4.\theta = y/4. הנה תרשים של Circuit קוונטי שעושה זאת.

אמידת פאזה עם שני Qubits

לסיכום, אם נריץ Circuit זה כאשר θ=y/4\theta = y/4 עבור y{0,1,2,3},y\in\{0,1,2,3\}, המצב מיד לפני ביצוע המדידות יהיה ψy\vert \psi\rangle \vert y\rangle (כאשר yy מקודד כמחרוזת בינארית של שתי סיביות), לכן המדידות יחשפו את הערך yy ללא שגיאה.

Circuit זה מונע על ידי המקרה המיוחד ש-θ{0,1/4,1/2,3/4}\theta \in \{0,1/4,1/2,3/4\} — אבל אנחנו יכולים להריצו עבור כל בחירה של UU ו-ψ,\vert \psi\rangle, ולכן כל ערך של θ,\theta, שנרצה. הנה גרף של הסתברויות הפלט ש-Circuit מייצר עבור בחירות שרירותיות של θ.\theta.

הסתברויות תוצאה מאמידת פאזה עם שני Qubits

זוהי שיפור ברור על הגרסה של Qubit בודד שתוארה קודם בשיעור. זה לא מושלם — הוא יכול לתת לנו תשובה שגויה — אבל התשובה נוטה מאוד לערכי yy עבורם y/4y/4 קרוב ל-θ.\theta. בפרט, התוצאה הסבירה ביותר תמיד מתאימה לערך הקרוב ביותר של y/4y/4 ל-θ\theta (בשוות ערך θ=0\theta = 0 ו-θ=1\theta = 1 כמקודם), ומהגרף נראה שהערך הקרוב ביותר עבור xx מופיע תמיד עם הסתברות מעט מעל 40%.40\%. כאשר θ\theta נמצא בדיוק באמצע בין שני ערכים כאלה, כמו θ=0.375\theta = 0.375 לדוגמה, שני ערכי yy הקרובים באותה מידה הם בעלי שווה הסתברות.

הכנה להכללה לקראת Qubits רבים

בהתחשב בשיפור שהשגנו זה עתה על ידי שימוש בשני Qubits שליטה במקום אחד, בשילוב עם ההופכי של טרנספורם פורייה הקוונטי ממימד 44, טבעי לשקול להכליל אותו עוד — על ידי הוספת Qubits שליטה נוספים. כשנעשה זאת, נקבל את הליך אמידת הפאזה הכללי. נראה כיצד זה עובד בקרוב, אבל כדי לתאר אותו במדויק נצטרך לדון בטרנספורם פורייה הקוונטי בכלליות רבה יותר, כדי לראות כיצד הוא מוגדר עבור מימדים אחרים וכיצד ניתן ליישמו (או את ההופכי שלו) עם Circuit קוונטי.

טרנספורמציית פורייה הקוונטית

טרנספורמציית פורייה הקוונטית היא פעולה יוניטרית שניתן להגדיר עבור כל מספר שלם חיובי N.N. בחלק הזה נראה איך הפעולה הזו מוגדרת ואיך אפשר לממש אותה עם Circuit קוונטי על mm Qubits בעלות O(m2)O(m^2) כאשר N=2m.N = 2^m.

המטריצות שמתארות את טרנספורמציית פורייה הקוונטית נגזרות מפעולה אנלוגית על וקטורים בממד NN שמכונה טרנספורמציית פורייה הדיסקרטית. אפשר לחשוב על הפעולה הזו בדרכים שונות. למשל, אפשר לחשוב על טרנספורמציית פורייה הדיסקרטית במונחים מתמטיים מופשטים בלבד כמיפוי לינארי. או שאפשר לחשוב עליה במונחים חישוביים, שבהם מקבלים וקטור בממד NN של מספרים מרוכבים (בהנחה שמשתמשים בסימון בינארי לקידוד החלקים הממשיים והמדומים של הרכיבים) והמטרה היא לחשב את הוקטור בממד NN המתקבל על ידי הפעלת טרנספורמציית פורייה הדיסקרטית. ההתמקדות שלנו תהיה בדרך שלישית — הצגת הטרנספורמציה הזו כפעולה יוניטרית שניתן לבצע על מערכת קוונטית.

יש אלגוריתם יעיל לחישוב טרנספורמציית פורייה הדיסקרטית על וקטור קלט נתון שמכונה טרנספורמציית פורייה המהירה. יש לו יישומים בעיבוד אותות ובתחומים רבים אחרים, ורבים רואים בו אחד האלגוריתמים החשובים שאי פעם התגלו. כפי שמסתבר, המימוש של טרנספורמציית פורייה הקוונטית כשש NN הוא חזקה של 2 שנלמד מבוסס בדיוק על אותה מבנה עומק שהופך את טרנספורמציית פורייה המהירה לאפשרית.

הגדרת טרנספורמציית פורייה הקוונטית

כדי להגדיר את טרנספורמציית פורייה הקוונטית, נגדיר קודם מספר מרוכב ωN,\omega_N, לכל מספר שלם חיובי N,N, כך:

ωN=e2πiN=cos(2πN)+isin(2πN).\omega_N = e^{\frac{2\pi i}{N}} = \cos\left(\frac{2\pi}{N}\right) + i \sin\left(\frac{2\pi}{N}\right).

זה המספר על מעגל היחידה המרוכב שמתקבל אם מתחילים ב-11 וזזים נגד כיוון השעון בזווית של 2π/N2\pi/N רדיאנים, או שבריר של 1/N1/N מהיקף המעגל. הנה כמה דוגמאות:

ω1=1ω2=1ω3=12+32iω4=iω8=1+i2ω16=2+22+222iω1000.998+0.063i\begin{gathered} \omega_1 = 1\\[1mm] \omega_2 = -1\\[1mm] \omega_3 = -\frac{1}{2} + \frac{\sqrt{3}}{2} i\\[2mm] \omega_4 = i\\[1mm] \omega_8 = \frac{1+i}{\sqrt{2}}\\[3mm] \omega_{16} = \frac{\sqrt{2 + \sqrt{2}}}{2} + \frac{\sqrt{2 - \sqrt{2}}}{2} i\\[2mm] \omega_{100} \approx 0.998 + 0.063 i \end{gathered}

עכשיו אפשר להגדיר את טרנספורמציית פורייה הקוונטית בממד N,N, המתוארת על ידי מטריצה N×NN\times N שהשורות והעמודות שלה משויכות לוקטורי הבסיס הסטנדרטיים 0,,N1.\vert 0\rangle,\ldots,\vert N-1\rangle. נצטרך את הפעולה הזו רק כשש N=2mN = 2^m הוא חזקה של 22 לצורך אמידת הפאזה, אבל הפעולה ניתנת להגדרה לכל מספר שלם חיובי N.N.

QFTN=1Nx=0N1y=0N1ωNxyxy\mathrm{QFT}_N = \frac{1}{\sqrt{N}} \sum_{x = 0}^{N-1} \sum_{y = 0}^{N-1} \omega_N^{xy} \vert x \rangle\langle y\vert

כפי שכבר נאמר, זו המטריצה המשויכת לטרנספורמציית פורייה הדיסקרטית בממד N.N. לעיתים קרובות הגורם המוביל 1/N1/\sqrt{N} לא נכלל בהגדרה של המטריצה הזו, אבל צריך לכלול אותו כדי לקבל מטריצה יוניטרית.

הנה טרנספורמציית פורייה הקוונטית, כתובה כמטריצה, עבור כמה ערכים קטנים של N.N.

QFT1=(1)\mathrm{QFT}_1 = \begin{pmatrix} 1 \end{pmatrix} QFT2=12(1111)\mathrm{QFT}_2 = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1\\[1mm] 1 & -1 \end{pmatrix} QFT3=13(11111+i321i3211i321+i32)\mathrm{QFT}_3 = \frac{1}{\sqrt{3}} \begin{pmatrix} 1 & 1 & 1\\[2mm] 1 & \frac{-1 + i\sqrt{3}}{2} & \frac{-1 - i\sqrt{3}}{2}\\[2mm] 1 & \frac{-1 - i\sqrt{3}}{2} & \frac{-1 + i\sqrt{3}}{2} \end{pmatrix} QFT4=12(11111i1i11111i1i)\mathrm{QFT}_4 = \frac{1}{2} \begin{pmatrix} 1 & 1 & 1 & 1\\[1mm] 1 & i & -1 & -i\\[1mm] 1 & -1 & 1 & -1\\[1mm] 1 & -i & -1 & i \end{pmatrix} QFT8=122(1111111111+i2i1+i211i2i1i21i1i1i1i11+i2i1+i211i2i1i21111111111i2i1i211+i2i1+i21i1i1i1i11i2i1i211+i2i1+i2)\mathrm{QFT}_8 = \frac{1}{2\sqrt{2}} \begin{pmatrix} 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1\\[2mm] 1 & \frac{1+i}{\sqrt{2}} & i & \frac{-1+i}{\sqrt{2}} & -1 & \frac{-1-i}{\sqrt{2}} & -i & \frac{1-i}{\sqrt{2}}\\[2mm] 1 & i & -1 & -i & 1 & i & -1 & -i\\[2mm] 1 & \frac{-1+i}{\sqrt{2}} & -i & \frac{1+i}{\sqrt{2}} & -1 & \frac{1-i}{\sqrt{2}} & i & \frac{-1-i}{\sqrt{2}}\\[2mm] 1 & -1 & 1 & -1 & 1 & -1 & 1 & -1\\[2mm] 1 & \frac{-1-i}{\sqrt{2}} & i & \frac{1-i}{\sqrt{2}} & -1 & \frac{1+i}{\sqrt{2}} & -i & \frac{-1+i}{\sqrt{2}}\\[2mm] 1 & -i & -1 & i & 1 & -i & -1 & i\\[2mm] 1 & \frac{1-i}{\sqrt{2}} & -i & \frac{-1-i}{\sqrt{2}} & -1 & \frac{-1+i}{\sqrt{2}} & i & \frac{1+i}{\sqrt{2}}\\[2mm] \end{pmatrix}

שימו לב, בפרט, ש-QFT2\mathrm{QFT}_2 הוא שם נוסף לפעולת הדמארד.

יוניטריות

בואו נוודא ש-QFTN\mathrm{QFT}_N הוא יוניטרי, לכל בחירה של N.N. דרך אחת לעשות זאת היא להראות שהעמודות שלו יוצרות בסיס אורתונורמלי. אפשר להגדיר וקטור המתאים לעמודה מספר y,y, החל מ-y=0y = 0 עד y=N1,y = N-1, כך:

ϕy=1Nx=0N1ωNxyx.\vert\phi_y\rangle = \frac{1}{\sqrt{N}} \sum_{x = 0}^{N-1} \omega_N^{xy} \vert x \rangle.

לקיחת המכפלה הפנימית בין כל שניים מהוקטורים האלה נותנת לנו את הביטוי הבא:

ϕzϕy=1Nx=0N1ωNx(yz)\langle \phi_z \vert \phi_y \rangle = \frac{1}{N} \sum_{x = 0}^{N-1} \omega_N^{x (y - z)}

אפשר לחשב סכומים כאלה באמצעות הנוסחה הבאה לסכום NN האיברים הראשונים של סדרה הנדסית.

1+α+α2++αN1={αN1α1if α1Nif α=11 + \alpha + \alpha^2 + \cdots + \alpha^{N-1} = \begin{cases} \frac{\alpha^N - 1}{\alpha - 1} & \text{if } \alpha\neq 1\\[2mm] N & \text{if } \alpha=1 \end{cases}

ספציפית, אפשר להשתמש בנוסחה הזו כאשר α=ωNyz.\alpha = \omega_N^{y-z}. כאשר y=z,y = z, מתקבל α=1,\alpha = 1, ולכן שימוש בנוסחה וחלוקה ב-NN נותן

ϕyϕy=1.\langle \phi_y \vert \phi_y \rangle = 1.

כאשר yz,y\neq z, מתקבל α1,\alpha \neq 1, ולכן הנוסחה מגלה:

ϕzϕy=1NωNN(yz)1ωNyz1=1N11ωNyz1=0.\langle \phi_z \vert \phi_y \rangle = \frac{1}{N} \frac{\omega_N^{N(y-z)} - 1}{\omega_N^{y-z} - 1} = \frac{1}{N} \frac{1 - 1}{\omega_N^{y-z} - 1} = 0.

זה קורה כי ωNN=e2πi=1,\omega_N^N = e^{2\pi i} = 1, ולכן ωNN(yz)=1yz=1,\omega_N^{N(y-z)} = 1^{y-z} = 1, מה שהופך את המונה לאפס, בעוד שהמכנה שונה מאפס כי ωNyz1.\omega_N^{y-z} \neq 1. באופן אינטואיטיבי, מה שעושים כאן הוא לסכום קבוצת נקודות שמפוזרות על מעגל היחידה, והן מתבטלות ומשאירות 00 בסכום.

הוכחנו אם כך ש-{ϕ0,,ϕN1}\{\vert\phi_0\rangle,\ldots,\vert\phi_{N-1}\rangle\} הוא קבוצה אורתונורמלית,

ϕzϕy={1y=z0yz,\langle \phi_z \vert \phi_y \rangle = \begin{cases} 1 & y=z\\ 0 & y\neq z, \end{cases}

מה שמגלה ש-QFTN\mathrm{QFT}_N הוא יוניטרי.

שערי פאזה מבוקרים

כדי לממש את טרנספורמציית פורייה הקוונטית עם Circuit קוונטי, נצטרך להשתמש בשערי פאזה מבוקרים. נזכיר שש פעולת פאזה היא פעולה יוניטרית על Qubit בודד בצורה

Pα=(100eiα)P_{\alpha} = \begin{pmatrix} 1 & 0\\[1mm] 0 & e^{i\alpha} \end{pmatrix}

לכל מספר ממשי α.\alpha. לגרסה המבוקרת של Gate הזה יש המטריצה הבאה:

CPα=(100001000010000eiα)CP_{\alpha} = \begin{pmatrix} 1 & 0 & 0 & 0\\[1mm] 0 & 1 & 0 & 0\\[1mm] 0 & 0 & 1 & 0\\[1mm] 0 & 0 & 0 & e^{i\alpha} \end{pmatrix}

ב-Gate המבוקר הזה, לא ממש משנה איזה Qubit הוא השליטה ואיזה הוא המטרה כי שתי האפשרויות שקולות. אפשר להשתמש בכל אחד מהסמלים הבאים כדי לייצג את Gate הזה בדיאגרמות Circuit קוונטי.

Quantum circuit diagram representation for controlled-phase gates

בצורה השלישית, התווית α\alpha מוצבת לפעמים גם בצד קו השליטה או מתחת לשליטה התחתונה כשנוח.

כדי לבצע את טרנספורמציית פורייה הקוונטית כאשר N=2mN = 2^m ו-m2,m\geq 2, נצטרך לבצע פעולה על mm Qubits שפעולתה על וקטורי הבסיס הסטנדרטיים ניתנת לתיאור כ

yaω2mayya,\vert y \rangle \vert a \rangle \mapsto \omega_{2^m}^{ay} \vert y \rangle \vert a \rangle,

כאשר aa הוא ביט ו-y{0,,2m11}y \in \{0,\ldots,2^{m-1} - 1\} הוא מספר מקודד בסימון בינארי כמחרוזת של m1m-1 ביטים. ניתן לעשות זאת באמצעות שערי פאזה מבוקרים על ידי הכללת הדוגמה הבאה, עבורה m=5.m=5.

Quantum circuit diagram for phase injection

באופן כללי, לכל בחירה שרירותית של m2,m\geq 2, ה-Qubit העליון המתאים לביט aa יכול להיחשב כשליטה, כשגייטי הפאזה PαP_{\alpha} נעים מ-α=π/2m1\alpha = \pi/2^{m-1} על ה-Qubit המתאים לביט הכי פחות משמעותי של yy עד α=π2\alpha = \frac{\pi}{2} על ה-Qubit המתאים לביט הכי משמעותי של y.y. שערי הפאזה המבוקרים האלה כולם מתחלפים זה עם זה וניתן לבצע אותם בכל סדר.

מימוש Circuit של ה-QFT

עכשיו נראה איך אפשר לממש את טרנספורם פורייה הקוונטי עם Circuit כאשר הממד N=2mN = 2^m הוא חזקה של 2.2. בעצם, יש כמה דרכים לממש את טרנספורם פורייה הקוונטי, אבל זו כנראה השיטה הפשוטה ביותר שידועה. ברגע שיודעים לממש את טרנספורם פורייה הקוונטי עם Circuit קוונטי, קל לממש גם את ההופכי שלו: אפשר להחליף כל Gate בהופכי שלו (או, בשורה אחרת, בטרנספוז המצומד) ולהפעיל את ה-Gates בסדר הפוך. כל Circuit קוונטי שמורכב אך ורק מ-Gates יוניטריים ניתן להפוך בצורה כזו.

המימוש הוא בעל אופי רקורסיבי, ולכן כך הוא מתואר באופן הטבעי ביותר. המקרה הבסיסי הוא m=1,m=1, שבו טרנספורם פורייה הקוונטי הוא פעולת הדמארד.

כדי לבצע את טרנספורם פורייה הקוונטי על mm Qubits כאשר m2,m \geq 2, ניתן לבצע את הצעדים הבאים, שנתאר את פעולתם על מצבי בסיס סטנדרטיים מהצורה xa,\vert x \rangle \vert a\rangle, כאשר x{0,,2m11}x\in\{0,\ldots,2^{m-1} - 1\} הוא מספר שלם מקודד כ-m1m-1 ביטים בסימון בינארי ו-aa הוא ביט בודד.

  1. ראשית, מפעילים את טרנספורם פורייה הקוונטי ממימד 2m12^{m-1} על m1m-1 ה-Qubits התחתונים/השמאליים ביותר כדי לקבל את המצב הבא:

    (QFT2m1x)a=12m1y=02m11ω2m1xyya.\Bigl(\mathrm{QFT}_{2^{m-1}} \vert x \rangle\Bigr) \vert a\rangle = \frac{1}{\sqrt{2^{m-1}}} \sum_{y = 0}^{2^{m-1} - 1} \omega_{2^{m-1}}^{xy} \vert y \rangle \vert a \rangle.

    הדבר נעשה על ידי הפעלה רקורסיבית של השיטה המתוארת עבור Qubit אחד פחות, תוך שימוש בפעולת הדמארד על Qubit בודד כמקרה הבסיסי.

  2. משתמשים ב-Qubit העליון/הימני ביותר כשליטה כדי להזריק את הפאזה ω2my\omega_{2^m}^y עבור כל מצב בסיס סטנדרטי y\vert y\rangle של m1m-1 ה-Qubits הנותרים (כפי שתואר לעיל) כדי לקבל את המצב הבא:

    12m1y=02m11ω2m1xyω2mayya.\frac{1}{\sqrt{2^{m-1}}} \sum_{y = 0}^{2^{m-1} - 1} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} \vert y \rangle \vert a \rangle.
  3. מבצעים Hadamard Gate על ה-Qubit העליון/הימני ביותר כדי לקבל את המצב הבא:

    12my=02m11b=01(1)abω2m1xyω2mayyb.\frac{1}{\sqrt{2^{m}}} \sum_{y = 0}^{2^{m-1} - 1} \sum_{b=0}^1 (-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} \vert y \rangle \vert b \rangle.
  4. מסדרים מחדש את סדר ה-Qubits כך שהביט הפחות משמעותי הופך לביט המשמעותי ביותר, כשכל האחרים מוזזים למעלה/ימינה:

    12my=02m11b=01(1)abω2m1xyω2mayby.\frac{1}{\sqrt{2^{m}}} \sum_{y = 0}^{2^{m-1} - 1} \sum_{b=0}^1 (-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} \vert b \rangle \vert y \rangle.

לדוגמה, הנה ה-Circuit שמתקבל עבור N=32=25.N = 32 = 2^5. בדיאגרמה זו, ה-Qubits נקראים בשמות התואמים לוקטורי הבסיס הסטנדרטיים xa\vert x\rangle \vert a\rangle (עבור הקלט) ו-by\vert b\rangle \vert y\rangle (עבור הפלט) לשם בהירות.

Quantum circuit diagram for the 32-dimensional quantum Fourier transform

ניתוח

הנוסחה המרכזית שצריך לאמת שה-Circuit שתואר מממש את טרנספורם פורייה הקוונטי ממימד 2m2^m היא זו:

(1)abω2m1xyω2may=ω2m(2x+a)(2m1b+y).(-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} = \omega_{2^m}^{(2x+ a)(2^{m-1}b + y)}.

נוסחה זו עובדת עבור כל בחירה של מספרים שלמים a,a, b,b, x,x, ו-y,y, אבל נצטרך אותה רק עבור a,b{0,1}a,b\in\{0,1\} ו-x,y{0,,2m11}.x,y\in\{0,\ldots,2^{m-1}-1\}. ניתן לאמת אותה על ידי פיתוח המכפלה במעריך בצד ימין,

ω2m(2x+a)(2m1b+y)=ω2m2mxbω2m2xyω2m2m1abω2may=(1)abω2m1xyω2may, \omega_{2^m}^{(2x+ a)(2^{m-1}b + y)} = \omega_{2^m}^{2^m xb} \omega_{2^m}^{2xy} \omega_{2^m}^{2^{m-1}ab} \omega_{2^m}^{ay} = (-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay},

כאשר השוויון השני משתמש בתצפית ש

ω2m2mxb=(ω2m2m)xb=1xb=1.\omega_{2^m}^{2^m xb} = \bigl(\omega_{2^m}^{2^m}\bigr)^{xb} = 1^{xb} = 1.

טרנספורם פורייה הקוונטי ממימד 2m2^m מוגדר כדלקמן עבור כל u{0,,2m1}.u\in\{0,\ldots,2^m - 1\}.

QFT2mu=12mv=02m1ω2muvv\mathrm{QFT}_{2^m} \vert u\rangle = \frac{1}{\sqrt{2^m}} \sum_{v = 0}^{2^m - 1} \omega_{2^m}^{uv} \vert v\rangle

אם נכתוב את uu ו-vv בתור

u=2x+av=2m1b+y\begin{aligned} u & = 2x + a\\ v & = 2^{m-1}b + y \end{aligned}

עבור a,b{0,1}a,b\in\{0,1\} ו-x,y{0,,2m11},x,y\in\{0,\ldots,2^{m-1} - 1\}, נקבל

QFT2m2x+a=12my=02m11b=01ω2m(2x+a)(2m1b+y)b2m1+y=12my=02m11b=01(1)abω2m1xyω2mayb2m1+y.\begin{aligned} \mathrm{QFT}_{2^m} \vert 2x + a\rangle & = \frac{1}{\sqrt{2^m}} \sum_{y = 0}^{2^{m-1} - 1} \sum_{b=0}^1 \omega_{2^m}^{(2x+ a)(2^{m-1}b + y)} \vert b 2^{m-1} + y\rangle\\[2mm] & = \frac{1}{\sqrt{2^m}} \sum_{y = 0}^{2^{m-1} - 1} \sum_{b=0}^1 (-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} \vert b 2^{m-1} + y\rangle. \end{aligned}

לבסוף, על ידי חשיבה על מצבי הבסיס הסטנדרטיים xa\vert x \rangle \vert a\rangle ו-by\vert b \rangle \vert y \rangle כקידוד בינארי של מספרים שלמים בתחום {0,,2m1},\{0,\ldots,2^m-1\},

xa=2x+aby=2m1b+y,\begin{aligned} \vert x \rangle \vert a\rangle & = \vert 2x + a \rangle\\ \vert b \rangle \vert y \rangle & = \vert 2^{m-1}b + y\rangle, \end{aligned}

רואים שה-Circuit לעיל מממש את הפעולה הנדרשת. אם שיטה זו לביצוע טרנספורם פורייה הקוונטי נראית מרשימה — זה כי היא אכן מרשימה: זוהי בעצם טרנספורם פורייה המהיר בצורה של Circuit קוונטי.

לבסוף, בואו נספור כמה Gates משמשים ב-Circuit שתואר. ה-Gates של שלב מבוקר אינם בסט ה-Gates הסטנדרטי שדנו בו בשיעור הקודם, אבל לצורך ההתחלה נתעלם מכך ונספור כל אחד מהם כ-Gate בודד.

נסמן ב-sms_m את מספר ה-Gates שנדרשים עבור כל בחירה אפשרית של m.m. אם m=1,m=1, טרנספורם פורייה הקוונטי הוא פשוט פעולת הדמארד, ולכן

s1=1.s_1 = 1.

אם m2,m\geq 2, אז ב-Circuit לעיל נצטרך sm1s_{m-1} Gates עבור טרנספורם פורייה הקוונטי על m1m-1 Qubits, בתוספת m1m-1 Gates של שלב מבוקר, בתוספת Hadamard Gate, בתוספת m1m-1 gates של החלפה, ולכן

sm=sm1+(2m1).s_m = s_{m-1} + (2m - 1).

ניתן לקבל ביטוי בצורה סגורה על ידי סכימה:

sm=k=1m(2k1)=m2.s_m = \sum_{k = 1}^m (2k - 1) = m^2.

בעצם אין צורך בכמה gates של החלפה כפי שהשיטה מתארת. אם נסדר מחדש את ה-Gates קצת, נוכל לדחוף את כל gates ההחלפה ימינה ולהפחית את מספרם הנדרש ל-m/2.\lfloor m/2\rfloor. מבחינה אסימפטוטית זה לא שיפור משמעותי: עדיין מקבלים Circuits בגודל O(m2)O(m^2) לביצוע QFT2m.\mathrm{QFT}_{2^m}.

אם רוצים לממש את טרנספורם פורייה הקוונטי תוך שימוש רק ב-Gates מסט ה-Gates הסטנדרטי שלנו, צריך לבנות או לקרב כל אחד מ-Gates השלב המבוקר עם gates מהסט שלנו. המספר הנדרש תלוי בדיוק הנדרש, אבל כפונקציה של mm העלות הכוללת נשארת ריבועית.

למעשה, ניתן לקרב את טרנספורם פורייה הקוונטי בצורה קרובה מאוד עם מספר תת-ריבועי של gates על ידי שימוש בעובדה ש-PαP_{\alpha} קרובה מאוד לפעולת הזהות כאשר α\alpha קטן מאוד — מה שאומר שניתן פשוט להשמיט את רוב gates השלב המבוקר מבלי לסבול מאובדן גדול מדי מבחינת דיוק.

הפרוצדורה הכללית והניתוח

עכשיו נבחן את פרוצדורת אמידת הפאזה באופן כללי. הרעיון הוא להרחיב את גרסת שני ה-Qubits של אמידת הפאזה שבחנו למעלה בדרך הטבעית שמוצעת על ידי הדיאגרמה הבאה.

Phase estimation procedure

שימו לב שעבור כל Qubit שליטה חדש שמוסיפים למעלה, אנחנו מכפילים את מספר הפעמים שהפעולה היוניטרית UU מבוצעת. הדבר מסומן בדיאגרמה על ידי החזקות על UU עבור כל אחת מהפעולות של היוניטרי המבוקר.

הדרך הפשוטה ביותר לממש פעולת controlled-UkU^k עבור בחירה כלשהי של kk היא פשוט לחזור על פעולת controlled-UU kk פעמים. אם זוהי אכן המתודולוגיה שבשימוש, יש להכיר בכך שהוספת Qubits שליטה תורמת באופן משמעותי לגודל ה-Circuit: אם יש לנו mm Qubits שליטה, כפי שהדיאגרמה מציגה, נדרש סך כולל של 2m12^m - 1 עותקים של פעולת controlled-UU. משמעות הדבר היא שעלות חישובית משמעותית נוצרת ככל ש-mm גדל — אבל כפי שנראה, הדבר גם מוביל לקירוב משמעותית יותר מדויק של θ.\theta.

חשוב לציין, עם זאת, שעבור חלק מהבחירות של UU ייתכן שניתן ליצור Circuit שמממש את הפעולה UkU^k עבור ערכים גדולים של kk בדרך יעילה יותר מאשר פשוט לחזור kk פעמים על ה-Circuit עבור U.U. נראה דוגמה ספציפית לכך בהקשר של פירוק ראשוני מאוחר יותר בשיעור, שם האלגוריתם היעיל לחזקה מודולרית שנדון בו בשיעור הקודם בא לעזרה.

עכשיו בואו ננתח את ה-Circuit שתואר. המצב מיד לפני טרנספורם פורייה הקוונטי ההפוך נראה כך:

12mx=02m1(Uxψ)x=ψ12mx=02m1e2πixθx.\frac{1}{\sqrt{2^m}} \sum_{x = 0}^{2^m - 1} \bigl( U^x \vert\psi\rangle \bigr) \vert x\rangle = \vert\psi\rangle \otimes \frac{1}{\sqrt{2^m}} \sum_{x = 0}^{2^m - 1} e^{2\pi i x\theta} \vert x\rangle.

מקרה מיוחד

בדומה למה שעשינו במקרה m=2m=2, נתחיל עם המקרה המיוחד ש θ=y/2m\theta = y/2^m עבור y{0,,2m1}.y\in\{0,\ldots,2^m-1\}. במקרה זה ניתן לכתוב את המצב לפני טרנספורם פורייה הקוונטי ההפוך גם כך:

ψ12mx=02m1e2πixy2mx=ψ12mx=02m1ω2mxyx=ψQFT2my.\vert\psi\rangle \otimes \frac{1}{\sqrt{2^m}} \sum_{x = 0}^{2^m - 1} e^{2\pi i \frac{xy}{2^m}} \vert x\rangle = \vert\psi\rangle \otimes \frac{1}{\sqrt{2^m}} \sum_{x = 0}^{2^m - 1} \omega_{2^m}^{xy} \vert x\rangle = \vert\psi\rangle \otimes \mathrm{QFT}_{2^m} \vert y\rangle.

לכן, כאשר מפעילים את טרנספורם פורייה הקוונטי ההפוך, המצב הופך ל

ψy\vert\psi\rangle \vert y\rangle

והמדידות מגלות את yy (מקודד בבינארי).

חסימת ההסתברויות

עבור ערכים אחרים של θ,\theta, כלומר כאלה שאינם בצורה y/2my/2^m עבור מספר שלם y,y, תוצאות המדידה לא יהיו וודאיות, אבל ניתן להוכיח חסמים על ההסתברויות עבור תוצאות שונות. להמשך, נבחן בחירה שרירותית של θ\theta המקיימת 0θ<1.0\leq \theta < 1.

לאחר ביצוע טרנספורם פורייה הקוונטי ההפוך, מצב ה-Circuit הוא:

ψ12my=02m1x=02m1e2πix(θy/2m)y.\vert \psi \rangle \otimes \frac{1}{2^m} \sum_{y=0}^{2^m - 1} \sum_{x=0}^{2^m-1} e^{2\pi i x (\theta - y/2^m)} \vert y\rangle.

לכן, כאשר מבצעים את המדידות על mm ה-Qubits העליונים, רואים כל תוצאה yy עם הסתברות

py=12mx=02m1e2πix(θy/2m)2.p_y = \left\vert \frac{1}{2^m} \sum_{x=0}^{2^m - 1} e^{2\pi i x (\theta - y/2^m)} \right\vert^2.

כדי להבין טוב יותר את ההסתברויות האלה, נשתמש באותה נוסחה שראינו קודם, לסכום החלק ההתחלתי של סדרה גיאומטרית.

1+α+α2++αN1={αN1α1if α1Nif α=11 + \alpha + \alpha^2 + \cdots + \alpha^{N-1} = \begin{cases} \frac{\alpha^N - 1}{\alpha - 1} & \text{if } \alpha\neq 1\\[2mm] N & \text{if } \alpha=1 \end{cases}

ניתן לפשט את הסכום המופיע בנוסחה של pyp_y על ידי לקיחת α=e2πi(θy/2m).\alpha = e^{2\pi i (\theta - y/2^m)}. הנה מה שמתקבל.

x=02m1e2πix(θy/2m)={2mθ=y/2me2πi(2mθy)1e2πi(θy/2m)1θy/2m\sum_{x=0}^{2^m - 1} e^{2\pi i x (\theta - y/2^m)} = \begin{cases} 2^m & \theta = y/2^m\\[2mm] \frac{e^{2\pi i (2^m \theta - y)} - 1}{e^{2\pi i (\theta - y/2^m)} - 1} & \theta\neq y/2^m \end{cases}

אז, במקרה ש-θ=y/2m,\theta = y/2^m, מוצאים ש-py=1p_y = 1 (כפי שכבר ידענו מהבחינה של המקרה המיוחד), ובמקרה ש-θy/2m,\theta \neq y/2^m, מוצאים ש

py=122me2πi(2mθy)1e2πi(θy/2m)12.p_y = \frac{1}{2^{2m}} \left\vert \frac{e^{2\pi i (2^m \theta - y)} - 1}{e^{2\pi i (\theta - y/2^m)} - 1}\right\vert^2.

ניתן ללמוד יותר על ההסתברויות האלה על ידי חשיבה על הקשר בין אורכי קשתות ואורכי מיתרים על מעגל היחידה. הנה איור שממחיש את הקשרים הדרושים לנו עבור כל מספר ממשי δ[12,12].\delta\in \bigl[ -\frac{1}{2},\frac{1}{2}\bigr].

Illustration of the relationship between arc and chord lengths

ראשית, אורך המיתר (המצויר בכחול) לא יכול להיות גדול מאורך הקשת (המצויר בסגול):

e2πiδ12πδ.\bigl\vert e^{2\pi i \delta} - 1\bigr\vert \leq 2\pi\vert\delta\vert.

כשמשווים את האורכים בכיוון ההפוך, רואים שהיחס בין אורך הקשת לאורך המיתר הוא הגדול ביותר כאשר δ=±1/2,\delta = \pm 1/2, ובמקרה זה היחס הוא מחצית היקף המעגל חלקי הקוטר, שהוא π/2.\pi/2. לכן, מתקיים

2πδe2πiδ1π2,\frac{2\pi\vert\delta\vert}{\bigl\vert e^{2\pi i \delta} - 1\bigr\vert} \leq \frac{\pi}{2},

ולכן

e2πiδ14δ.\bigl\vert e^{2\pi i \delta} - 1\bigr\vert \geq 4\vert\delta\vert.

ניתוח המבוסס על קשרים אלה מגלה שני עובדות חשובות.

  1. נניח ש-θ\theta הוא מספר ממשי ו-y{0,,2m1}y\in \{0,\ldots,2^m-1\} מקיים

    θy2m2(m+1).\Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert \leq 2^{-(m+1)}.

    משמעות הדבר היא ש-y/2my/2^m הוא או הקירוב הטוב ביותר ב-mm ביטים ל-θ,\theta, או שהוא בדיוק באמצע בין y/2my/2^m לבין (y1)/2m(y-1)/2^m או (y+1)/2m,(y+1)/2^m, כלומר הוא אחד משני הקירובים הטובים ביותר ל-θ.\theta.

    נוכיח ש-pyp_y חייב להיות גדול למדי במקרה זה. מהנחת היסוד שאנחנו שוקלים, נובע ש-2mθy1/2,\vert 2^m \theta - y \vert \leq 1/2, ולכן ניתן להשתמש בתצפית השנייה לעיל בנוגע לקשת ומיתר כדי להסיק ש

    e2πi(2mθy)142mθy=42mθy2m.\left\vert e^{2\pi i (2^m \theta - y)} - 1\right\vert \geq 4 \vert 2^m \theta - y \vert = 4 \cdot 2^m \cdot \Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert.

    ניתן גם להשתמש בתצפית הראשונה בנוגע לקשת ומיתר כדי להסיק ש

    e2πi(θy/2m)12πθy2m.\left\vert e^{2\pi i (\theta - y/2^m)} - 1\right\vert \leq 2\pi \Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert.

    שימוש בשתי אי-השוויונות האלה על pyp_y מגלה

    py122m1622m4π2=4π20.405.p_y \geq \frac{1}{2^{2m}} \frac{16 \cdot 2^{2m}}{4 \pi^2} = \frac{4}{\pi^2} \approx 0.405.

    זה מסביר את התצפית שלנו שהתוצאה הטובה ביותר מתרחשת עם הסתברות גדולה מ-40%40\% בגרסת m=2m=2 של אמידת הפאזה שנדונה קודם. זה לא ממש 40%, אלא 4/π2,4/\pi^2, ולמעשה חסם זה תקף עבור כל בחירה של m.m.

  2. עכשיו נניח ש-y{0,,2m1}y\in \{0,\ldots,2^m-1\} מקיים

    2mθy2m12.2^{-m} \leq \Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert \leq \frac{1}{2}.

    משמעות הדבר היא שיש קירוב טוב יותר z/2mz/2^m ל-θ\theta בין θ\theta ל-y/2m.y/2^m.

    הפעם נוכיח ש-pyp_y לא יכול להיות גדול מדי. ניתן להתחיל מהתצפית הפשוטה ש

    e2πi(2mθy)12,\left\vert e^{2\pi i (2^m \theta - y)} - 1\right\vert \leq 2,

    הנובעת מהעובדה שכל שתי נקודות על מעגל היחידה יכולות להבדל בערך מוחלט לכל היותר ב-2.2.

    ניתן גם להשתמש בתצפית השנייה בנוגע לקשת ומיתר מלעיל, הפעם תוך עבודה עם המכנה של pyp_y ולא עם המונה, כדי להסיק

    e2πi(θy/2m)14θy2m42m.\left\vert e^{2\pi i (\theta - y/2^m)} - 1\right\vert \geq 4\Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert \geq 4 \cdot 2^{-m}.

    שילוב שני אי-השוויונות יחד מגלה

    py122m41622m=14.p_y \leq \frac{1}{2^{2m}} \frac{4}{16 \cdot 2^{-2m}} = \frac{1}{4}.

    שימו לב שלמרות שחסם זה מספיק לצרכינו, הוא גס למדי — בדרך כלל ההסתברות נמוכה בהרבה מ-1/4.1/4.

המסקנה החשובה מניתוח זה היא שקירובים קרובים מאוד ל-θ\theta צפויים להתרחש — נקבל קירוב טוב ביותר ב-mm ביטים עם הסתברות גדולה מ-40%40\% — בעוד שקירובים שסוטים ביותר מ-2m2^{-m} פחות סבירים, עם הסתברות חסומה מלמעלה ב-25%.25\%.

בהינתן ערובות אלה, ניתן להגביר את הביטחון שלנו על ידי חזרה על פרוצדורת אמידת הפאזה מספר פעמים, כדי לאסוף ראיות סטטיסטיות לגבי θ.\theta. חשוב לציין שהמצב ψ\vert\psi\rangle של אוסף ה-Qubits התחתון אינו משתנה על ידי פרוצדורת אמידת הפאזה, ולכן ניתן להשתמש בו להרצת הפרוצדורה כמה פעמים שרוצים. בפרט, בכל פעם שמריצים את ה-Circuit, מקבלים קירוב טוב ביותר ב-mm ביטים ל-θ\theta עם הסתברות גדולה מ-40%,40\%, בעוד שהסתברות לסטות ביותר מ-2m2^{-m} חסומה ב-25%.25\%. אם מריצים את ה-Circuit מספר פעמים ולוקחים את התוצאה הנפוצה ביותר, הסיכוי גבוה מאוד שהתוצאה שמופיעה הכי הרבה לא תהיה כזו שמתרחשת לכל היותר 25%25\% מהזמן. כתוצאה מכך, סביר מאוד לקבל קירוב y/2my/2^m שנמצא בתוך 1/2m1/2^m מהערך θ.\theta. אכן, הסיכוי הנמוך שנסטה ביותר מ-1/2m1/2^m יורד באופן אקספוננציאלי עם מספר הפעמים שמריצים את הפרוצדורה.

הנה שתי גרפים המציגים את ההסתברויות עבור שלושה ערכים עוקבים של yy כאשר m=3m = 3 ו-m=4m=4 כפונקציות של θ.\theta. (רק שלוש תוצאות מוצגות לשם בהירות. ההסתברויות עבור תוצאות אחרות מתקבלות על ידי הזזה מחזורית של אותה פונקציה בסיסית.)

Plot showing outcome probabilities for three-qubit phase estimation

Plot showing outcome probabilities for four-qubit phase estimation