שער קוונטי

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש

שער קוונטי הוא סוג של שער לוגי אשר פועל לפי חוקי מכניקת הקוונטים. שער קוונטי מממש טרנספורמציה של n קיוביטים בכניסת השער, אל n קיוביטים במוצא השער. הטרנספורמציה ניתנת לביטוי בתור אופרטור יוניטרי בממד n, לרוב מסומנת כ \left. U \right. או \left. U_n \right.. כל שער קוונטי חייב להיות הפיך, כלומר לכל שער \left. U \right. קיים שער הפכי \left. U^{\dagger} \right., כך שהפעלת השער ההפכי על מוצא \left. U \right. מחזירה את המצב ההתחלתי של הקיוביטים.

שער הדמר של קיוביט בודד

הפעלת שער קוונטי \left. U \right. על אוגר המכיל קיוביטים במצב הקוונטי |x\rangle תשנה את מצב האוגר ל \left. U |x\rangle\right.. כמובן, שמצב האוגר בכניסה יכול להיות כל מצב שהוא (מצב בסיס או סופרפוזיציה כלשהי של מצבי בסיס). מעקרון הלינאריות יתקבל כי הפעלת השער על הסופרפוזיציה \alpha|x\rangle + \beta|y\rangle תתן במוצא השער את המצב U(\alpha|x\rangle + \beta|y\rangle)= \alpha U|x\rangle + \beta U|y\rangle.

הפיכות[עריכת קוד מקור | עריכה]

כל שער קוונטי חייב להיות הפיך. תכונה זו מתקבלת עקב העובדה שהשער מממש אופרטור יוניטרי, שהוא בעצמו אופטור הפיך. לדוגמה, בעולם הקלאסי, שער NOT הוא שער הפיך - ניתן לשחזר את המצב ההתחלתי על ידי שרשור שער NOT נוסף, כלומר, שער NOT הוא ההפכי של עצמו. מצד שני, שער AND לדוגמה אינו הפיך וזאת מכמה סיבות: א. רוחב המוצא קטן מרוחב הכניסה (2 סיביות הופכות לסיבית יחידה, דבר המעיד על מחיקת מידע, ומונע את הפיכות השער). ב. מספר קלטים שונים ממופים לאותו מצב יציאה, כלומר השער אינו חד-חד-ערכי.

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

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

שער מבוקר[עריכת קוד מקור | עריכה]

לכל שער קוונטי \left. U_n \right. ניתן להגדיר שער מבוקר (מסומן לרוב ב \left.\mbox{c-}U_n\right.). לשער המבוקר מתווספת כניסה נוספת (כניסת ה control) אשר מהווה כניסה מאפשרת (enable) לאותו שער. כלומר, אם הcontrol הינו במצב |0\rangle השער אינו מאופשר והמוצא יהיה זהה אל הכניסה. אם הcontrol הינו במצב |1\rangle השער פועל באופן רגיל.

שער קוונטי מבוקר. הכניסה העליונה הינה ה control, והתחתונה הינה הtarget.

בניסוח מתמטי, \mbox{c-}U_n|0\rangle|x\rangle = |0\rangle|x\rangle ואילו \mbox{c-}U_n|1\rangle|x\rangle = |1\rangle U_n|x\rangle. השער המבוקר מממש את האופרטור היוניטרי (בממד n+1)

\mbox{c-}U_n = \begin{pmatrix} I_n & 0 \\ 0 & U_n \end{pmatrix}

כאשר \left.I_n\right. הינה מטריצת היחידה בממד n. כניסת ה-control אינה חייבת להיות באחד ממצבי הבסיס |0\rangle או |1\rangle, אלא יכולה להיות כל סופרפוזיציה שלהם. יכולת זו הינה חשובה לשם יצירת שזירות.

מערכת שערים אוניברסלית[עריכת קוד מקור | עריכה]

מערכת שערים אוניברסלית הינה קבוצה של שערים, איתם ניתן לבנות מעגל המממש חישוב של כל פונקציה קוונטית רצוייה. במילים אחרות, קבוצת שערים \left. S \right. תיקרא אוניברסלית, אם לכל אופרטור יוניטרי \left. U_n \right. קיים צירוף סופי של שערים מ \left. S \right., כך שלכל מצב קוונטי |x\rangle בכניסת המעגל, יתקבל במוצא המעגל, המצב הקוונטי \left. U_n |x\rangle \right.

דוגמאות למערכת שערים אוניברסלית קוונטית:

  1. שער דויטש (עם פאזה לא רציונלית)
  2. שער CNOT עם שער הדמר H, ושער פאזה R(\pi/4)

שערים לדוגמה[עריכת קוד מקור | עריכה]

שערים של קיוביט בודד[עריכת קוד מקור | עריכה]

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

שער הדמר מוגדר בתור האופרטור

 H = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}

שער פאזה הינו למעשה משפחה של שערים המוגדרים על ידי האופרטור

 R(\theta) = \begin{bmatrix} 1 & 0 \\ 0 & e^{i\theta} \end{bmatrix}

לכל פאזה \theta \in [0,2\pi]. השער משנה את המצב הקוונטי על ידי הוספת פאזה של \theta אל הפאזה של רכיב הבסיס |1\rangle, ואינו משנה את הפאזה של רכיב ה|0\rangle. על-מנת להבין את פעולת השער על מצב כללי |x\rangle, ניתן לרשום את המצב בבסיס החישוב |x\rangle = \alpha|0\rangle + \beta|1\rangle, ולהכפיל את המקדם של הרכיב |1\rangle באיבר e^{i\theta}, כלומר R(\theta)|x\rangle = \alpha|0\rangle + e^{i\theta}\beta|1\rangle.

שער NOT מממש את האופרטור \operatorname{NOT} = \begin{pmatrix}0 & 1 \\ 1 &0\end{pmatrix}. בדומה לשער הקלאסי, \operatorname{NOT}|0\rangle=|1\rangle וכן \operatorname{NOT}|1\rangle=|0\rangle ובאופן כללי

NOT|x\rangle=\operatorname{NOT}(\alpha|0\rangle + \beta|1\rangle) = \beta|0\rangle + \alpha|1\rangle

שערים של 2 קיוביטים[עריכת קוד מקור | עריכה]

במקרה הכללי, כל מטריצה יוניטרית בממד 4x4 מהווה שער קוונטי של שני קיוביטים. כמו כן, ניתן להפוך כל שער של קיוביט יחיד לשער-מבוקר של 2 קיוביטים. דוגמה מפרסמת הינה שער NOT מבוקר, CNOT, אשר ניתן לתיאור על ידי האופרטור

 \operatorname{CNOT} = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \end{pmatrix}.

פעולת השער על קיוביט המטרה (ה-target) הינה היפוך המצב של קיוביט המטרה, כאשר קיוביט הבקרה (ה-control) "דולק", כאשר הביטים מיוצגים בבסיס החישוב.

כניסה יציאה
Control Target Control Target
0 0 0 0
0 1 0 1
1 0 1 1
1 1 1 0

שימוש בשער זה מאפשר יצירת מצב שזור כגון מצב בל על ידי הפעלת השער על כניסת בקרה אשר נמצאת בסופרפוזיציה של אברי בסיס החישוב. למשל, הפעלת השער על המצב |0\rangle_t כאשר קיוביט הבקרה הינו |+\rangle_c=\frac{1}{\sqrt{2}}(|0\rangle_c+|1\rangle_c), ייצר את המצב |\Phi^+\rangle = \frac{1}{\sqrt{2}} (|0\rangle_c \otimes |0\rangle_{t} + |1\rangle_c \otimes |1\rangle_{t}). באופן דומה, ניתן לקבל את ארבעת מצבי בל על ידי איתחול קיוביט הבקרה ל |-\rangle_c או |+\rangle_c, ואיתחול קיוביט המטרה לאחד ממצבי בסיס החישוב |0\rangle_t או |1\rangle_t.

שערים של 3 קיוביטים[עריכת קוד מקור | עריכה]

שער טופולי[עריכת קוד מקור | עריכה]

שער טופולי הינו שער הפועל על אוגר של 3 קיוביטים, אשר הומצא על ידי תומאסו טופולי.

שער טופולי. מיוצג על ידי שער NOT-מבוקר-מבוקר

פעולת השער על מצבי בסיס החישוב מתוארת בטבלה הבאה

כניסה יציאה
c1 c2 t c1 c2 t
 0   0   0   0   0   0 
0 0 1 0 0 1
0 1 0 0 1 0
0 1 1 0 1 1
1 0 0 1 0 0
1 0 1 1 0 1
1 1 0 1 1 1
1 1 1 1 1 0

ניתן להתייחס אל שער טופולי כאל שער NOT מבוקר פעמיים, או לחלופין, בתור שער CNOT מבוקר. בשל כך, השער ידוע גם בשם controlled-controlled-NOT או CCNOT. לשער שתי כניסות בקרה (c1, c2 בטבלה) וכניסת מטרה יחידה (t). רק כאשר שתי כניסות הבקרה "דולקות", השער הופך את סיבית המטרה. מדרך פעולתו של השער קל לראות כי שער טופולי הינו ההפכי של עצמו. שער טופולי מהווה ומהווה מערכת שערים אוניברסלית לחישוב הפיך (כלומר, ניתן בעזרתו ליצור מעגל הפיך עבור כל פונקציה בוליאנית.

שער פרדקין[עריכת קוד מקור | עריכה]

שער פרדקין הינו שער הפועל על אוגר של 3 קיוביטים, אשר הומצא על ידי אד פרדקין. לשער כניסת בקרה (c) ושתי כניסות מטרה (I1, I2). כאשר כניסת הבקרה "כבויה" השער ממפה את כניסות המטרה אל היציאות (O1, O2 בהתאמה). כאשר כניסת הבקרה דולקת, השער מבצע החלפה בין שני קיוביטי המטרה, כלומר ממפה את הכניסה I1 אל היציאה O2 ואת הכניסה I2 אל היציאה O1. למעשה, שער זה הינו שער החלפה-מבוקר (controlled-SWAP). טבלת האמת של השער (על אברי בסיס החישוב) ניתנת לסיכום באופן הבא

כניסה יציאה
C I1 I2 C O1 O2
 0   0   0   0   0   0 
0 0 1 0 0 1
0 1 0 0 1 0
0 1 1 0 1 1
1 0 0 1 0 0
1 0 1 1 1 0
1 1 0 1 0 1
1 1 1 1 1 1

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