עכשיו נבצע ניתוח של אלגוריתם גרובר כדי להבין כיצד הוא עובד.
נתחיל ממה שאפשר לתאר כניתוח סמלי , שבו נחשב כיצד פעולת גרובר G G G פועלת על מצבים מסוימים, ואז נקשור ניתוח סמלי זה לתמונה גאומטרית שעוזרת להמחיש כיצד האלגוריתם עובד.
פתרונות ולא-פתרונות
נתחיל בהגדרת שתי קבוצות של מחרוזות.
A 0 = { x ∈ Σ n : f ( x ) = 0 } A 1 = { x ∈ Σ n : f ( x ) = 1 } \begin{aligned}
A_0 &= \bigl\{ x\in\Sigma^n : f(x) = 0\bigr\} \\
A_1 &= \bigl\{ x\in\Sigma^n : f(x) = 1\bigr\}
\end{aligned} A 0 A 1 = { x ∈ Σ n : f ( x ) = 0 } = { x ∈ Σ n : f ( x ) = 1 }
הקבוצה A 1 A_1 A 1 מכילה את כל הפתרונות לבעיית החיפוש שלנו, ואילו A 0 A_0 A 0 מכילה את המחרוזות שאינן פתרונות (שנוכל לכנות לא-פתרונות כשנוח לנו).
שתי הקבוצות הללו מקיימות A 0 ∩ A 1 = ∅ A_0 \cap A_1 = \varnothing A 0 ∩ A 1 = ∅ ו-A 0 ∪ A 1 = Σ n , A_0 \cup A_1 = \Sigma^n, A 0 ∪ A 1 = Σ n , כלומר זוהי חלוקה לשניים של Σ n . \Sigma^n. Σ n .
לאחר מכן נגדיר שני וקטורי יחידה המייצגים סופרפוזיציות אחידות על קבוצות הפתרונות והלא-פתרונות.
∣ A 0 ⟩ = 1 ∣ A 0 ∣ ∑ x ∈ A 0 ∣ x ⟩ ∣ A 1 ⟩ = 1 ∣ A 1 ∣ ∑ x ∈ A 1 ∣ x ⟩ \begin{aligned}
\vert A_0\rangle &= \frac{1}{\sqrt{\vert A_0\vert}} \sum_{x\in A_0} \vert x\rangle \\
\vert A_1\rangle &= \frac{1}{\sqrt{\vert A_1\vert}} \sum_{x\in A_1} \vert x\rangle
\end{aligned} ∣ A 0 ⟩ ∣ A 1 ⟩ = ∣ A 0 ∣ 1 x ∈ A 0 ∑ ∣ x ⟩ = ∣ A 1 ∣ 1 x ∈ A 1 ∑ ∣ x ⟩
מבחינה פורמלית, כל אחד מהוקטורים הללו מוגדר רק כשהקבוצה המתאימה אינה ריקה, אך מכאן ואילך נתמקד במקרה שבו A 0 A_0 A 0 וגם A 1 A_1 A 1 אינן ריקות.
המקרים שבהם A 0 = ∅ A_0 = \varnothing A 0 = ∅ או A 1 = ∅ A_1 = \varnothing A 1 = ∅ קלים לטיפול בנפרד, ונעשה זאת בהמשך.
כהערת אגב, הסימון בשימוש כאן הוא מקובל: בכל פעם שיש לנו קבוצה סופית ולא ריקה S , S, S , אפשר לכתוב ∣ S ⟩ \vert S\rangle ∣ S ⟩ כדי לסמן את וקטור המצב הקוונטי האחיד על איברי S . S. S .
נגדיר גם את ∣ u ⟩ \vert u \rangle ∣ u ⟩ כמצב קוונטי אחיד על כל המחרוזות בנות n n n הסיביות:
∣ u ⟩ = 1 N ∑ x ∈ Σ n ∣ x ⟩ . \vert u\rangle = \frac{1}{\sqrt{N}} \sum_{x\in\Sigma^n} \vert x\rangle. ∣ u ⟩ = N 1 x ∈ Σ n ∑ ∣ x ⟩ .
שימו לב ש-
∣ u ⟩ = ∣ A 0 ∣ N ∣ A 0 ⟩ + ∣ A 1 ∣ N ∣ A 1 ⟩ . \vert u\rangle
= \sqrt{\frac{\vert A_0 \vert}{N}} \vert A_0\rangle
+ \sqrt{\frac{\vert A_1 \vert}{N}} \vert A_1\rangle. ∣ u ⟩ = N ∣ A 0 ∣ ∣ A 0 ⟩ + N ∣ A 1 ∣ ∣ A 1 ⟩ .
כמו כן ∣ u ⟩ = H ⊗ n ∣ 0 n ⟩ , \vert u\rangle = H^{\otimes n} \vert 0^n \rangle, ∣ u ⟩ = H ⊗ n ∣ 0 n ⟩ , ולכן ∣ u ⟩ \vert u\rangle ∣ u ⟩ מייצג את המצב של הרגיסטר Q \mathsf{Q} Q לאחר האתחול בשלב 1 של אלגוריתם גרובר.
מכך נובע שממש לפני האיטרציות של G G G בשלב 2, המצב של Q \mathsf{Q} Q נמצא במרחב הוקטורי הדו-ממדי הנפרש על ידי ∣ A 0 ⟩ \vert A_0\rangle ∣ A 0 ⟩ ו-∣ A 1 ⟩ , \vert A_1\rangle, ∣ A 1 ⟩ , ויתר על כן מקדמי הוקטורים הללו הם מספרים ממשיים.
כפי שנראה, למצב של Q \mathsf{Q} Q תמיד יהיו תכונות אלו — כלומר המצב הוא צירוף לינארי ממשי של ∣ A 0 ⟩ \vert A_0\rangle ∣ A 0 ⟩ ו-∣ A 1 ⟩ \vert A_1\rangle ∣ A 1 ⟩ — לאחר כל מספר של איטרציות של הפעולה G G G בשלב 2.
תצפית על פעולת גרובר
עכשיו נפנה את תשומת לבנו לפעולת גרובר
G = H ⊗ n Z O R H ⊗ n Z f , G = H^{\otimes n} Z_{\mathrm{OR}} H^{\otimes n} Z_f, G = H ⊗ n Z OR H ⊗ n Z f ,
ונתחיל עם תצפית מעניינת לגביה.
נדמיין לרגע שהחלפנו את הפונקציה f f f בהרכבה של f f f עם פונקציית ה-NOT — כלומר, הפונקציה שמתקבלת על ידי היפוך סיבית הפלט של f . f. f .
נקרא לפונקציה החדשה הזאת g , g, g , ואפשר לבטא אותה בסמלים בכמה דרכים חלופיות.
g ( x ) = ¬ f ( x ) = 1 ⊕ f ( x ) = 1 − f ( x ) = { 1 f ( x ) = 0 0 f ( x ) = 1 g(x) = \neg f(x) = 1 \oplus f(x) = 1 - f(x) =
\begin{cases}
1 & f(x) = 0\\[1mm]
0 & f(x) = 1
\end{cases} g ( x ) = ¬ f ( x ) = 1 ⊕ f ( x ) = 1 − f ( x ) = { 1 0 f ( x ) = 0 f ( x ) = 1
שימו לב ש-
( − 1 ) g ( x ) = ( − 1 ) 1 ⊕ f ( x ) = − ( − 1 ) f ( x ) (-1)^{g(x)} = (-1)^{1 \oplus f(x)} = - (-1)^{f(x)} ( − 1 ) g ( x ) = ( − 1 ) 1 ⊕ f ( x ) = − ( − 1 ) f ( x )
לכל מחרוזת x ∈ Σ n , x\in\Sigma^n, x ∈ Σ n , ולכן
Z g = − Z f . Z_g = - Z_f. Z g = − Z f .
משמעות הדבר היא שאם היינו מחליפים את הפונקציה f f f בפונקציה g , g, g , אלגוריתם גרובר לא היה פועל באופן שונה — כי המצבים שמתקבלים מהאלגוריתם בשני המקרים שקולים בהכרח עד כדי מופע גלובלי (פאזה גלובלית).
זה לא בעיה!
באופן אינטואיטיבי, האלגוריתם לא מתחשב באילו מחרוזות הן פתרונות ואילו הן לא-פתרונות — הוא רק צריך להיות מסוגל להבחין בין פתרונות ולא-פתרונות כדי לפעול נכון.
פעולת אופרטור גרובר
עכשיו נבחן את פעולת G G G על וקטורי המצב הקוונטי ∣ A 0 ⟩ \vert A_0\rangle ∣ A 0 ⟩ ו-∣ A 1 ⟩ . \vert A_1\rangle. ∣ A 1 ⟩ .
ראשית, נשים לב שלפעולה Z f Z_f Z f יש פעולה פשוטה מאוד על ∣ A 0 ⟩ \vert A_0\rangle ∣ A 0 ⟩ ו-∣ A 1 ⟩ . \vert A_1\rangle. ∣ A 1 ⟩ .
Z f ∣ A 0 ⟩ = ∣ A 0 ⟩ Z f ∣ A 1 ⟩ = − ∣ A 1 ⟩ \begin{aligned}
Z_f \vert A_0\rangle & = \vert A_0\rangle \\[1mm]
Z_f \vert A_1\rangle & = -\vert A_1\rangle
\end{aligned} Z f ∣ A 0 ⟩ Z f ∣ A 1 ⟩ = ∣ A 0 ⟩ = − ∣ A 1 ⟩
שנית, יש לנו את הפעולה H ⊗ n Z O R H ⊗ n . H^{\otimes n} Z_{\mathrm{OR}} H^{\otimes n}. H ⊗ n Z OR H ⊗ n .
הפעולה Z O R Z_{\mathrm{OR}} Z OR מוגדרת כ-
Z O R ∣ x ⟩ = { ∣ x ⟩ x = 0 n − ∣ x ⟩ x ≠ 0 n , Z_{\mathrm{OR}} \vert x\rangle
= \begin{cases}
\vert x\rangle & x = 0^n \\[2mm]
-\vert x\rangle & x \neq 0^n,
\end{cases} Z OR ∣ x ⟩ = ⎩ ⎨ ⎧ ∣ x ⟩ − ∣ x ⟩ x = 0 n x = 0 n ,
שוב לכל מחרוזת x ∈ Σ n , x\in\Sigma^n, x ∈ Σ n , ודרך נוחה חלופית לבטא פעולה זו היא כך:
Z O R = 2 ∣ 0 n ⟩ ⟨ 0 n ∣ − I . Z_{\mathrm{OR}} = 2 \vert 0^n \rangle \langle 0^n \vert - \mathbb{I}. Z OR = 2∣ 0 n ⟩ ⟨ 0 n ∣ − I .
דרך פשוטה לאמת שביטוי זה מסכים עם ההגדרה של Z O R Z_{\mathrm{OR}} Z OR היא להעריך את פעולתו על מצבי הבסיס הסטנדרטיים.
את הפעולה H ⊗ n Z O R H ⊗ n H^{\otimes n} Z_{\mathrm{OR}} H^{\otimes n} H ⊗ n Z OR H ⊗ n אפשר לכתוב כך:
H ⊗ n Z O R H ⊗ n = 2 H ⊗ n ∣ 0 n ⟩ ⟨ 0 n ∣ H ⊗ n − I = 2 ∣ u ⟩ ⟨ u ∣ − I , H^{\otimes n} Z_{\mathrm{OR}} H^{\otimes n} = 2 H^{\otimes n} \vert 0^n \rangle \langle 0^n \vert H^{\otimes n} - \mathbb{I} = 2 \vert u \rangle \langle u \vert - \mathbb{I}, H ⊗ n Z OR H ⊗ n = 2 H ⊗ n ∣ 0 n ⟩ ⟨ 0 n ∣ H ⊗ n − I = 2∣ u ⟩ ⟨ u ∣ − I ,
תוך שימוש באותו הסימון, ∣ u ⟩ , \vert u \rangle, ∣ u ⟩ , שהשתמשנו בו לעיל לסופרפוזיציה האחידה על כל המחרוזות בנות n n n הסיביות.
ועכשיו יש בידינו את מה שדרוש לחישוב פעולת G G G על ∣ A 0 ⟩ \vert A_0\rangle ∣ A 0 ⟩ ו-∣ A 1 ⟩ . \vert A_1\rangle. ∣ A 1 ⟩ .
ראשית נחשב את פעולת G G G על ∣ A 0 ⟩ . \vert A_0\rangle. ∣ A 0 ⟩ .
G ∣ A 0 ⟩ = ( 2 ∣ u ⟩ ⟨ u ∣ − I ) Z f ∣ A 0 ⟩ = ( 2 ∣ u ⟩ ⟨ u ∣ − I ) ∣ A 0 ⟩ = 2 ∣ A 0 ∣ N ∣ u ⟩ − ∣ A 0 ⟩ = 2 ∣ A 0 ∣ N ( ∣ A 0 ∣ N ∣ A 0 ⟩ + ∣ A 1 ∣ N ∣ A 1 ⟩ ) − ∣ A 0 ⟩ = ( 2 ∣ A 0 ∣ N − 1 ) ∣ A 0 ⟩ + 2 ∣ A 0 ∣ ⋅ ∣ A 1 ∣ N ∣ A 1 ⟩ = ∣ A 0 ∣ − ∣ A 1 ∣ N ∣ A 0 ⟩ + 2 ∣ A 0 ∣ ⋅ ∣ A 1 ∣ N ∣ A 1 ⟩ \begin{aligned}
G \vert A_0 \rangle
& = \bigl( 2 \vert u\rangle \langle u \vert - \mathbb{I}\bigr) Z_f \vert A_0\rangle \\
& = \bigl( 2 \vert u\rangle \langle u \vert - \mathbb{I}\bigr) \vert A_0\rangle \\
& = 2 \sqrt{\frac{\vert A_0\vert}{N}} \vert u\rangle -\vert A_0 \rangle\\
& = 2 \sqrt{\frac{\vert A_0\vert}{N}} \biggl(
\sqrt{\frac{\vert A_0\vert}{N}} \vert A_0\rangle + \sqrt{\frac{\vert A_1\vert}{N}} \vert A_1\rangle\biggr)
-\vert A_0 \rangle \\
& = \biggl( \frac{2\vert A_0\vert}{N} - 1\biggr) \vert A_0 \rangle
+ \frac{2 \sqrt{\vert A_0\vert \cdot \vert A_1\vert}}{N} \vert A_1 \rangle \\
& = \frac{\vert A_0\vert - \vert A_1\vert}{N} \vert A_0 \rangle
+ \frac{2 \sqrt{\vert A_0\vert \cdot \vert A_1\vert}}{N} \vert A_1 \rangle
\end{aligned} G ∣ A 0 ⟩ = ( 2∣ u ⟩ ⟨ u ∣ − I ) Z f ∣ A 0 ⟩ = ( 2∣ u ⟩ ⟨ u ∣ − I ) ∣ A 0 ⟩ = 2 N ∣ A 0 ∣ ∣ u ⟩ − ∣ A 0 ⟩ = 2 N ∣ A 0 ∣ ( N ∣ A 0 ∣ ∣ A 0 ⟩ + N ∣ A 1 ∣ ∣ A 1 ⟩ ) − ∣ A 0 ⟩ = ( N 2∣ A 0 ∣ − 1 ) ∣ A 0 ⟩ + N 2 ∣ A 0 ∣ ⋅ ∣ A 1 ∣ ∣ A 1 ⟩ = N ∣ A 0 ∣ − ∣ A 1 ∣ ∣ A 0 ⟩ + N 2 ∣ A 0 ∣ ⋅ ∣ A 1 ∣ ∣ A 1 ⟩
ושנית, נחשב את פעולת G G G על ∣ A 1 ⟩ . \vert A_1\rangle. ∣ A 1 ⟩ .
G ∣ A 1 ⟩ = ( 2 ∣ u ⟩ ⟨ u ∣ − I ) Z f ∣ A 1 ⟩ = − ( 2 ∣ u ⟩ ⟨ u ∣ − I ) ∣ A 1 ⟩ = − 2 ∣ A 1 ∣ N ∣ u ⟩ + ∣ A 1 ⟩ = − 2 ∣ A 1 ∣ N ( ∣ A 0 ∣ N ∣ A 0 ⟩ + ∣ A 1 ∣ N ∣ A 1 ⟩ ) + ∣ A 1 ⟩ = − 2 ∣ A 1 ∣ ⋅ ∣ A 0 ∣ N ∣ A 0 ⟩ + ( 1 − 2 ∣ A 1 ∣ N ) ∣ A 1 ⟩ = − 2 ∣ A 1 ∣ ⋅ ∣ A 0 ∣ N ∣ A 0 ⟩ + ∣ A 0 ∣ − ∣ A 1 ∣ N ∣ A 1 ⟩ \begin{aligned}
G \vert A_1 \rangle
& = \bigl( 2 \vert u\rangle \langle u \vert - \mathbb{I} \bigr) Z_f \vert A_1\rangle \\
& = - \bigl( 2 \vert u\rangle \langle u \vert - \mathbb{I} \bigr) \vert A_1\rangle \\
& = - 2 \sqrt{\frac{\vert A_1\vert}{N}} \vert u\rangle + \vert A_1 \rangle \\
& = - 2 \sqrt{\frac{\vert A_1\vert}{N}} \biggl(\sqrt{\frac{\vert A_0\vert}{N}} \vert A_0\rangle
+ \sqrt{\frac{\vert A_1\vert}{N}} \vert A_1\rangle\biggr) + \vert A_1 \rangle \\
& = - \frac{2 \sqrt{\vert A_1\vert \cdot \vert A_0\vert}}{N} \vert A_0 \rangle
+ \biggl( 1 - \frac{2\vert A_1\vert}{N} \biggr) \vert A_1 \rangle \\
& = - \frac{2 \sqrt{\vert A_1\vert \cdot \vert A_0\vert}}{N} \vert A_0 \rangle
+ \frac{\vert A_0\vert - \vert A_1\vert}{N} \vert A_1 \rangle
\end{aligned} G ∣ A 1 ⟩ = ( 2∣ u ⟩ ⟨ u ∣ − I ) Z f ∣ A 1 ⟩ = − ( 2∣ u ⟩ ⟨ u ∣ − I ) ∣ A 1 ⟩ = − 2 N ∣ A 1 ∣ ∣ u ⟩ + ∣ A 1 ⟩ = − 2 N ∣ A 1 ∣ ( N ∣ A 0 ∣ ∣ A 0 ⟩ + N ∣ A 1 ∣ ∣ A 1 ⟩ ) + ∣ A 1 ⟩ = − N 2 ∣ A 1 ∣ ⋅ ∣ A 0 ∣ ∣ A 0 ⟩ + ( 1 − N 2∣ A 1 ∣ ) ∣ A 1 ⟩ = − N 2 ∣ A 1 ∣ ⋅ ∣ A 0 ∣ ∣ A 0 ⟩ + N ∣ A 0 ∣ − ∣ A 1 ∣ ∣ A 1 ⟩
בשני המקרים אנחנו משתמשים במשוואה
∣ u ⟩ = ∣ A 0 ∣ N ∣ A 0 ⟩ + ∣ A 1 ∣ N ∣ A 1 ⟩ \vert u\rangle
= \sqrt{\frac{\vert A_0 \vert}{N}} \vert A_0\rangle
+ \sqrt{\frac{\vert A_1 \vert}{N}} \vert A_1\rangle ∣ u ⟩ = N ∣ A 0 ∣ ∣ A 0 ⟩ + N ∣ A 1 ∣ ∣ A 1 ⟩
יחד עם הביטויים
⟨ u ∣ A 0 ⟩ = ∣ A 0 ∣ N and ⟨ u ∣ A 1 ⟩ = ∣ A 1 ∣ N \langle u \vert A_0\rangle = \sqrt{\frac{\vert A_0 \vert}{N}}
\qquad\text{and}\qquad
\langle u \vert A_1\rangle = \sqrt{\frac{\vert A_1 \vert}{N}} ⟨ u ∣ A 0 ⟩ = N ∣ A 0 ∣ and ⟨ u ∣ A 1 ⟩ = N ∣ A 1 ∣
הנובעים ממנה.
לסיכום, יש לנו
G ∣ A 0 ⟩ = ∣ A 0 ∣ − ∣ A 1 ∣ N ∣ A 0 ⟩ + 2 ∣ A 0 ∣ ⋅ ∣ A 1 ∣ N ∣ A 1 ⟩ G ∣ A 1 ⟩ = − 2 ∣ A 1 ∣ ⋅ ∣ A 0 ∣ N ∣ A 0 ⟩ + ∣ A 0 ∣ − ∣ A 1 ∣ N ∣ A 1 ⟩ . \begin{aligned}
G \vert A_0 \rangle
& = \frac{\vert A_0\vert - \vert A_1\vert}{N} \vert A_0 \rangle
+ \frac{2 \sqrt{\vert A_0\vert \cdot \vert A_1\vert}}{N} \vert A_1 \rangle\\[2mm]
G \vert A_1 \rangle
& = - \frac{2 \sqrt{\vert A_1\vert \cdot \vert A_0\vert}}{N} \vert A_0 \rangle
+ \frac{\vert A_0\vert - \vert A_1\vert}{N} \vert A_1 \rangle.
\end{aligned} G ∣ A 0 ⟩ G ∣ A 1 ⟩ = N ∣ A 0 ∣ − ∣ A 1 ∣ ∣ A 0 ⟩ + N 2 ∣ A 0 ∣ ⋅ ∣ A 1 ∣ ∣ A 1 ⟩ = − N 2 ∣ A 1 ∣ ⋅ ∣ A 0 ∣ ∣ A 0 ⟩ + N ∣ A 0 ∣ − ∣ A 1 ∣ ∣ A 1 ⟩ .
כפי שכבר ציינו, המצב של Q \mathsf{Q} Q ממש לפני שלב 2 נמצא במרחב הדו-ממדי הנפרש על ידי ∣ A 0 ⟩ \vert A_0\rangle ∣ A 0 ⟩ ו-∣ A 1 ⟩ , \vert A_1\rangle, ∣ A 1 ⟩ , וכרגע הוכחנו ש-G G G ממפה כל וקטור במרחב זה לוקטור אחר באותו המרחב.
משמעות הדבר היא שלצורך הניתוח, נוכל להתמקד בתת-המרחב הזה בלבד.
כדי להבין טוב יותר מה קורה בתוך המרחב הדו-ממדי הזה, נבטא את פעולת G G G על מרחב זה כמטריצה,
M = ( ∣ A 0 ∣ − ∣ A 1 ∣ N − 2 ∣ A 1 ∣ ⋅ ∣ A 0 ∣ N 2 ∣ A 0 ∣ ⋅ ∣ A 1 ∣ N ∣ A 0 ∣ − ∣ A 1 ∣ N ) , M = \begin{pmatrix}
\frac{\vert A_0\vert - \vert A_1\vert}{N} & -\frac{2 \sqrt{\vert A_1\vert \cdot \vert A_0\vert}}{N} \\[2mm]
\frac{2 \sqrt{\vert A_0\vert \cdot \vert A_1\vert}}{N} & \frac{\vert A_0\vert - \vert A_1\vert}{N}
\end{pmatrix}, M = N ∣ A 0 ∣ − ∣ A 1 ∣ N 2 ∣ A 0 ∣ ⋅ ∣ A 1 ∣ − N 2 ∣ A 1 ∣ ⋅ ∣ A 0 ∣ N ∣ A 0 ∣ − ∣ A 1 ∣ ,
שהשורות/עמודות הראשונות והשניות שלה מתאימות ל-∣ A 0 ⟩ \vert A_0\rangle ∣ A 0 ⟩ ו-∣ A 1 ⟩ , \vert A_1\rangle, ∣ A 1 ⟩ , בהתאמה.
עד כה בסדרה זו, תמיד קישרנו את השורות והעמודות של מטריצות למצבים הקלאסיים של מערכת, אך מטריצות יכולות לשמש גם לתיאור פעולות של העתקות לינאריות על בסיסים שונים כפי שיש לנו כאן.
אמנם זה כלל לא מובן ממבט ראשון, אך המטריצה M M M היא מה שמתקבל כשמרבעים מטריצה פשוטה יותר.
( ∣ A 0 ∣ N − ∣ A 1 ∣ N ∣ A 1 ∣ N ∣ A 0 ∣ N ) 2 = ( ∣ A 0 ∣ − ∣ A 1 ∣ N − 2 ∣ A 1 ∣ ⋅ ∣ A 0 ∣ N 2 ∣ A 0 ∣ ⋅ ∣ A 1 ∣ N ∣ A 0 ∣ − ∣ A 1 ∣ N ) = M \begin{pmatrix}
\sqrt{\frac{\vert A_0\vert}{N}} & - \sqrt{\frac{\vert A_1\vert}{N}} \\[2mm]
\sqrt{\frac{\vert A_1\vert}{N}} & \sqrt{\frac{\vert A_0\vert}{N}}
\end{pmatrix}^2
=
\begin{pmatrix}
\frac{\vert A_0\vert - \vert A_1\vert}{N} & -\frac{2 \sqrt{\vert A_1\vert \cdot \vert A_0\vert}}{N} \\[2mm]
\frac{2 \sqrt{\vert A_0\vert \cdot \vert A_1\vert}}{N} & \frac{\vert A_0\vert - \vert A_1\vert}{N}
\end{pmatrix} = M N ∣ A 0 ∣ N ∣ A 1 ∣ − N ∣ A 1 ∣ N ∣ A 0 ∣ 2 = N ∣ A 0 ∣ − ∣ A 1 ∣ N 2 ∣ A 0 ∣ ⋅ ∣ A 1 ∣ − N 2 ∣ A 1 ∣ ⋅ ∣ A 0 ∣ N ∣ A 0 ∣ − ∣ A 1 ∣ = M
המטריצה
( ∣ A 0 ∣ N − ∣ A 1 ∣ N ∣ A 1 ∣ N ∣ A 0 ∣ N ) \begin{pmatrix}
\sqrt{\frac{\vert A_0\vert}{N}} & - \sqrt{\frac{\vert A_1\vert}{N}} \\[2mm]
\sqrt{\frac{\vert A_1\vert}{N}} & \sqrt{\frac{\vert A_0\vert}{N}}
\end{pmatrix} N ∣ A 0 ∣ N ∣ A 1 ∣ − N ∣ A 1 ∣ N ∣ A 0 ∣
היא מטריצת סיבוב , שאפשר לבטאה גם כ-
( ∣ A 0 ∣ N − ∣ A 1 ∣ N ∣ A 1 ∣ N ∣ A 0 ∣ N ) = ( cos ( θ ) − sin ( θ ) sin ( θ ) cos ( θ ) ) \begin{pmatrix}
\sqrt{\frac{\vert A_0\vert}{N}} & - \sqrt{\frac{\vert A_1\vert}{N}} \\[2mm]
\sqrt{\frac{\vert A_1\vert}{N}} & \sqrt{\frac{\vert A_0\vert}{N}}
\end{pmatrix}
=
\begin{pmatrix}
\cos(\theta) & -\sin(\theta) \\[2mm]
\sin(\theta) & \cos(\theta)
\end{pmatrix} N ∣ A 0 ∣ N ∣ A 1 ∣ − N ∣ A 1 ∣ N ∣ A 0 ∣ = ( cos ( θ ) sin ( θ ) − sin ( θ ) cos ( θ ) )
עבור
θ = sin − 1 ( ∣ A 1 ∣ N ) . \theta = \sin^{-1}\biggl(\sqrt{\frac{\vert A_1\vert}{N}}\biggr). θ = sin − 1 ( N ∣ A 1 ∣ ) .
הזווית θ \theta θ הזו הולכת למלא תפקיד חשוב מאוד בניתוח שיבוא, ולכן כדאי להדגיש את חשיבותה כאן, כשאנו פוגשים אותה לראשונה.
לאור ביטוי זה של המטריצה, אנחנו מבחינים ש-
M = ( cos ( θ ) − sin ( θ ) sin ( θ ) cos ( θ ) ) 2 = ( cos ( 2 θ ) − sin ( 2 θ ) sin ( 2 θ ) cos ( 2 θ ) ) . M = \begin{pmatrix}
\cos(\theta) & -\sin(\theta) \\[2mm]
\sin(\theta) & \cos(\theta)
\end{pmatrix}^2
= \begin{pmatrix}
\cos(2\theta) & -\sin(2\theta) \\[2mm]
\sin(2\theta) & \cos(2\theta)
\end{pmatrix}. M = ( cos ( θ ) sin ( θ ) − sin ( θ ) cos ( θ ) ) 2 = ( cos ( 2 θ ) sin ( 2 θ ) − sin ( 2 θ ) cos ( 2 θ ) ) .
זאת מפני שסיבוב בזווית θ \theta θ פעמיים שקול לסיבוב בזווית 2 θ . 2\theta. 2 θ .
דרך נוספת לראות זאת היא להשתמש בביטוי החלופי
θ = cos − 1 ( ∣ A 0 ∣ N ) , \theta
= \cos^{-1}\biggl(\sqrt{\frac{\vert A_0\vert}{N}}\biggr), θ = cos − 1 ( N ∣ A 0 ∣ ) ,
יחד עם נוסחאות הזווית הכפולה מהטריגונומטריה:
cos ( 2 θ ) = cos 2 ( θ ) − sin 2 ( θ ) sin ( 2 θ ) = 2 sin ( θ ) cos ( θ ) . \begin{aligned}
\cos(2\theta) & = \cos^2(\theta) - \sin^2(\theta)\\[1mm]
\sin(2\theta) & = 2 \sin(\theta)\cos(\theta).
\end{aligned} cos ( 2 θ ) sin ( 2 θ ) = cos 2 ( θ ) − sin 2 ( θ ) = 2 sin ( θ ) cos ( θ ) .
לסיכום, המצב של הרגיסטר Q \mathsf{Q} Q בתחילת שלב 2 הוא
∣ u ⟩ = ∣ A 0 ∣ N ∣ A 0 ⟩ + ∣ A 1 ∣ N ∣ A 1 ⟩ = cos ( θ ) ∣ A 0 ⟩ + sin ( θ ) ∣ A 1 ⟩ , \vert u\rangle
= \sqrt{\frac{\vert A_0\vert}{N}} \vert A_0\rangle
+ \sqrt{\frac{\vert A_1\vert}{N}} \vert A_1\rangle
= \cos(\theta) \vert A_0\rangle + \sin(\theta) \vert A_1\rangle, ∣ u ⟩ = N ∣ A 0 ∣ ∣ A 0 ⟩ + N ∣ A 1 ∣ ∣ A 1 ⟩ = cos ( θ ) ∣ A 0 ⟩ + sin ( θ ) ∣ A 1 ⟩ ,
ואפקט הפעלת G G G על מצב זה הוא לסובב אותו בזווית 2 θ 2\theta 2 θ בתוך המרחב הנפרש על ידי ∣ A 0 ⟩ \vert A_0\rangle ∣ A 0 ⟩ ו-∣ A 1 ⟩ . \vert A_1\rangle. ∣ A 1 ⟩ .
כך למשל, יש לנו
G ∣ u ⟩ = cos ( 3 θ ) ∣ A 0 ⟩ + sin ( 3 θ ) ∣ A 1 ⟩ G 2 ∣ u ⟩ = cos ( 5 θ ) ∣ A 0 ⟩ + sin ( 5 θ ) ∣ A 1 ⟩ G 3 ∣ u ⟩ = cos ( 7 θ ) ∣ A 0 ⟩ + sin ( 7 θ ) ∣ A 1 ⟩ \begin{aligned}
G \vert u \rangle &= \cos(3\theta) \vert A_0\rangle + \sin(3\theta) \vert A_1\rangle\\[1mm]
G^2 \vert u \rangle &= \cos(5\theta) \vert A_0\rangle + \sin(5\theta) \vert A_1\rangle\\[1mm]
G^3 \vert u \rangle &= \cos(7\theta) \vert A_0\rangle + \sin(7\theta) \vert A_1\rangle
\end{aligned} G ∣ u ⟩ G 2 ∣ u ⟩ G 3 ∣ u ⟩ = cos ( 3 θ ) ∣ A 0 ⟩ + sin ( 3 θ ) ∣ A 1 ⟩ = cos ( 5 θ ) ∣ A 0 ⟩ + sin ( 5 θ ) ∣ A 1 ⟩ = cos ( 7 θ ) ∣ A 0 ⟩ + sin ( 7 θ ) ∣ A 1 ⟩
ובאופן כללי
G t ∣ u ⟩ = cos ( ( 2 t + 1 ) θ ) ∣ A 0 ⟩ + sin ( ( 2 t + 1 ) θ ) ∣ A 1 ⟩ . G^t \vert u \rangle
= \cos\bigl((2t + 1)\theta\bigr) \vert A_0\rangle
+ \sin\bigl((2t + 1)\theta\bigr) \vert A_1\rangle. G t ∣ u ⟩ = cos ( ( 2 t + 1 ) θ ) ∣ A 0 ⟩ + sin ( ( 2 t + 1 ) θ ) ∣ A 1 ⟩ .
תמונה גאומטרית
עכשיו נקשור את הניתוח שעברנו לתמונה גאומטרית.
הרעיון הוא שהפעולה G G G היא מכפלה של שתי השתקפויות ,
Z f Z_f Z f ו-H ⊗ n Z O R H ⊗ n . H^{\otimes n} Z_{\mathrm{OR}} H^{\otimes n}. H ⊗ n Z OR H ⊗ n .
והאפקט נטו של ביצוע שתי השתקפויות הוא ביצוע סיבוב .
נתחיל עם Z f . Z_f. Z f .
כפי שכבר הבחנו קודם לכן, יש לנו
Z f ∣ A 0 ⟩ = ∣ A 0 ⟩ Z f ∣ A 1 ⟩ = − ∣ A 1 ⟩ . \begin{aligned}
Z_f \vert A_0\rangle & = \vert A_0\rangle \\[1mm]
Z_f \vert A_1\rangle & = -\vert A_1\rangle.
\end{aligned} Z f ∣ A 0 ⟩ Z f ∣ A 1 ⟩ = ∣ A 0 ⟩ = − ∣ A 1 ⟩ .
בתוך המרחב הוקטורי הדו-ממדי הנפרש על ידי ∣ A 0 ⟩ \vert A_0\rangle ∣ A 0 ⟩ ו-∣ A 1 ⟩ , \vert A_1\rangle, ∣ A 1 ⟩ ,
זוהי השתקפות סביב הישר המקביל ל-∣ A 0 ⟩ , \vert A_0\rangle, ∣ A 0 ⟩ , שנקרא לו L 1 . L_1. L 1 .
הנה תרשים המדגים את פעולת ההשתקפות הזאת על וקטור יחידה היפותטי ∣ ψ ⟩ , \vert\psi\rangle, ∣ ψ ⟩ ,
שאנחנו מניחים שהוא צירוף לינארי ממשי של ∣ A 0 ⟩ \vert A_0\rangle ∣ A 0 ⟩ ו-∣ A 1 ⟩ . \vert A_1\rangle. ∣ A 1 ⟩ .
שנית, יש לנו את הפעולה H ⊗ n Z O R H ⊗ n , H^{\otimes n} Z_{\mathrm{OR}} H^{\otimes n}, H ⊗ n Z OR H ⊗ n , שכבר ראינו שניתן לכתוב אותה כ-
H ⊗ n Z O R H ⊗ n = 2 ∣ u ⟩ ⟨ u ∣ − I . H^{\otimes n} Z_{\mathrm{OR}} H^{\otimes n} = 2 \vert u \rangle \langle u \vert - \mathbb{I}. H ⊗ n Z OR H ⊗ n = 2∣ u ⟩ ⟨ u ∣ − I .
גם זוהי השתקפות, הפעם סביב הישר L 2 L_2 L 2 המקביל לוקטור ∣ u ⟩ . \vert u\rangle. ∣ u ⟩ .
הנה תרשים המדגים את פעולת ההשתקפות הזאת על וקטור יחידה ∣ ψ ⟩ . \vert\psi\rangle. ∣ ψ ⟩ .
כשמרכיבים את שתי ההשתקפויות הללו, מקבלים סיבוב — בפי שתיים מהזווית בין ישרי ההשתקפות — כפי שמדגים התרשים הבא.
זה מסביר, במונחים גאומטריים, מדוע האפקט של פעולת גרובר הוא לסובב צירופים לינאריים של ∣ A 0 ⟩ \vert A_0\rangle ∣ A 0 ⟩ ו-∣ A 1 ⟩ \vert A_1\rangle ∣ A 1 ⟩ בזווית 2 θ . 2\theta. 2 θ .