מכפלות טנזוריות (של מרחבים וקטוריים)
בסדרת הפוסטים שלי על אלגברה לינארית יש נושא אחד שהזנחתי בצד - מכפלה טנזורית של מרחבים וקטוריים. לא הזנחתי אותו במקרה, וזה גם לא מקרה שספרי הלימוד הסטנדרטיים באלגברה לינארית לא מתעסקים בו יותר מדי - לרוב אין בו צורך, והוא קצת קשה לעיכול בשל האבסטרקטיות היחסית שלו. הדרך ה”נכונה” עבור מתמטיקאים להתקל במכפלות טנזוריות היא בהקשרים מתקדמים יותר מאשר קורס בסיסי באלגברה לינארית, ואחרי שמבינים את המושג בהקשרים הללו גם אין בעיה להבין אותו בהקשר הספציפי של מרחבים וקטוריים.
אבל, אני הולך להצטרך את המושג הזה בהמשך, ואני רוצה לתת לו מבוא קל עד כמה שאפשר, שלא יצריך מתמטיקה מתקדמת בכלל, ורק ידע בסיסי באלגברה לינארית (מהם מרחבים וקטוריים ואולי גם קצת מהן טרנספורמציות לינאריות). בנוסף, אני רוצה להציג את המושג הזה בצורה שתהיה ידידותית יחסית ולכן לא אגש ישר להגדרות אלא קודם אנסה לתת מוטיבציה. אחר כך אתן הגדרה שהיא מאוד ישירה, ורק בסוף אתן את ההגדרה שמסתכלת על הכל “ממעוף הציפור” והיא כנראה ההגדרה הנכונה ביותר.
מה שמתמטיקאים אוהבים לעשות, בהינתן אובייקטים מתמטיים, הוא לבנות מהם אובייקטים מתמטיים חדשים. בניה נפוצה אחת שניתן לבצע היא זו: אם יש לנו שתי קבוצות \( A,B \) שהן זרות, כלומר אין להן איברים משותפים, אנחנו בונים קבוצה חדשה שהיא האיחוד הזר שלהן: \( C=A\cup B=\left\{ x\ |\ x\in A\vee x\in B\right\} \). הקבוצה הזו כוללת את כל האיברים שנמצאים או ב-\( A \) או ב-\( B \). אם נחשב את הגודל שלה - מספר האיברים שבה - נקבל שהוא \( \left|A\cup B\right|=\left|A\right|+\left|B\right| \). כלומר, איחוד זר מתקשר לנו אינטואיטיבית ל”חיבור” של קבוצות.
באופן דומה מוגדרת מכפלה קרטזית של קבוצות: \( A\times B=\left\{ \left(a,b\right)\ |\ a\in A,b\in B\right\} \) - אוסף כל הזוגות של איברים שהשמאלי מביניהם שייך ל-\( A \) והימני שייך ל-\( B \). מתקיים ש-\( \left|A\times B\right|=\left|A\right|\cdot\left|B\right| \), כך שמכפלה קרטזית אכן מתקשרת לנו אינטואיטיבית ל”כפל” של קבוצות.
כעת, רוב הקבוצות במתמטיקה כוללות מבנה כלשהו שמגיע עליהן - מבנה של מרחב וקטורי, או חבורה, או מרחב טופולוגי, או אלף ואחד דברים אחרים. ואם אנחנו בונים מתוך שתי קבוצות בעלות מבנה קבוצה חדשה, אנחנו רוצים להגדיר גם עליה את אותו מבנה, באופן ש”נובע” איכשהו מהמבנה על הקבוצות הקיימות. אנחנו מדברים על מרחבים וקטוריים כאן, ולכן אני אתאר איך זה קורה במקרה שלהם.
בואו ניקח שני מרחבים וקטוריים \( V,W \) מעל שדה \( \mathbb{F} \), עם ממדים \( n,m \) בהתאמה. אוטומטית, לא ייתכן ש-\( V,W \) הן קבוצות זרות כי שתיהן כוללות את איבר האפס של המרחב הוקטורי. אבל הן יכולות להיות “זרות-פרט-לאפס”, כלומר \( V\cap W=\left\{ 0\right\} \). במקרה הזה, אפשר להגדיר את מה שנקרא סכום ישר של שני המרחבים: \( V\oplus W\triangleq\left\{ v+w\ |\ v\in V,w\in W\right\} \). בהגדרה הזו מובלעת הנחה שאנחנו יודעים איך לחבר את האיברים של \( V \) עם האיברים של \( W \), אז אפשר להניח לצורך פשטות ש-\( V,W \) הם תת-מרחבים של מרחב גדול יותר; אפשר להסתדר גם בלי ההנחה הזו, כפי שנראה תכף.
כעת, בואו ניקח שני בסיסים עבור המרחבים הללו: עבור \( V \) נסמן את אברי הבסיס בתור \( \left\{ e_{1},\dots,e_{n}\right\} \), ואילו עבור \( W \) נסמן את אברי הבסיס בתור \( \left\{ f_{1},\dots,f_{m}\right\} \). כעת זה תרגיל לא קשה להראות שהקבוצה \( \left\{ e_{1},\dots,e_{n},f_{1},\dots,f_{m}\right\} \) היא בסיס ל-\( V\oplus W \), ולכן המימד של \( V\oplus W \) שווה ל-\( n+m \). אם כן, זו האינטואיציה שלנו ל”סכום” של שני מרחבים וקטוריים. שימו לב שויתרנו על האינטואיציה הנאיבית של “שתי הקבוצות יהיו זרות”; שימו לב שגם ויתרנו על האינטואיציה הנאיבית של “המרחב יהיה מורכב בדיוק מאברי האיחוד הזר” (תחת זאת הוא מורכב מסכומים שלהם). עדיין, התוצאה שקיבלנו היא התאמה די טבעית של רעיון ה”סכום” של שתי קבוצות עבור ההקשר של מרחבים וקטוריים.
מכפלה טנזורית של מרחבים וקטוריים זה אותו דבר, רק עבור - לא מפתיע - כפל.
איך נכפול מרחבים וקטוריים? אני יכול לחשוב מיידית על שתי דרכים אינטואיטיביות נורא לעשות את זה. רק מה, כפי שנראה הראשונה היא לא מעניינת, והשניה היא הדרך הנכונה. הראשונה היא פשוט להסתכל על קבוצת כל הזוגות \( V\times W=\left\{ \left(v,w\right)\ |\ v\in V,w\in W\right\} \) ולהגיד “הנה מרחב וקטורי חדש. איבר האפס שלו הוא \( \left(0,0\right) \). חיבור שני וקטורים הוא בצורה הטבעית, \( \left(a_{1},b_{1}\right)+\left(a_{2},b_{2}\right)\triangleq\left(a_{1}+a_{2},b_{1}+b_{2}\right) \). כפל בסקלר הוא בצורה הטבעית, \( \lambda\left(a,b\right)=\left(\lambda a,\lambda b\right) \)”.
אוקיי, נחמד, למה אני אומר שזה לא מעניין? כי כרגע הגדרתי מחדש את \( V\oplus W \) בתחפושת. הנה לכם איזומורפיזם בין שני המרחבים הללו: טרנספורמציה לינארית \( T:V\times W\to V\oplus W \) שהיא חח”ע ועל: \( T\left(\left(a,b\right)\right)=a+b \). וואו, זה היה פשוט. אתם מוזמנים להוכיח שזה גם עובד.
אני חושב שדרך נוחה מאוד להבין את העניין היא דרך מרחבים וקטוריים מעל שדה סופי. נאמר, \( \left|\mathbb{F}\right|=3 \). במקרה הזה, אנחנו יודעים בדיוק כמה איברים יש ב-\( V \): לכל איבר ב-\( V \) יש ייצוג יחיד בצורה \( \sum\lambda_{i}e_{i} \) כך ש-\( \lambda_{i}\in\mathbb{F} \), כלומר יש 3 אפשרויות לערך של \( \lambda_{i} \) לכל \( 1\le i\le n \), ולכן - קומבינטוריקה פשוטה - \( \left|V\right|=3^{n} \). בדומה, \( \left|W\right|=3^{m} \). ולכן: \( \left|V\times W\right|=\left|V\right|\cdot\left|W\right|=3^{n}3^{m}=3^{n+m} \). כבר מהתוצאה המספרית הזו אנו רואים שהמכפלה הקרטזית תניב לנו מרחב וקטורי שהמימד שלו הוא \( n+m \). אין עם זה שום בעיה עקרונית, כן? הסכום הישר של מרחבים וקטוריים הוא בניה חשובה ומועילה מאוד.
גישת ה”מכפלה” עוזרת לפייס את מי שלא הבין איך אפשר לקחת סכום ישר של מרחבים וקטוריים שאנחנו לא יודעים איך לחבר את האיברים שלהם: התשובה היא שאנחנו לא באמת מחברים אותם אלא מסתכלים על סכומים פורמליים של אבריהם. כלומר, אני כותב \( v+w \), אבל אני לא מתכוון בכך בהכרח לכך שאפשר לבצע פישוט כלשהו שיניב מ-\( v+w \) איבר \( u \) שהוא “שניהם ביחד”; פשוט אין לי בעיה להשאיר את הביטוי הזה בצורת סכום. כולנו מכירים סכומים פורמליים לפחות במקום אחד - פולינומים! נניח, הפולינום \( 5x^{2}+3x+7 \) מורכב מסכום פורמלי של שלושה ביטויים ואין לאף אחד בעיה עם זה שהוא כולל פלוסים בתוכו. אני מתעכב על הנקודה הזו כי כפי שאתם ודאי מנחשים, אני תכף הולך להשתמש בסכומים פורמליים למטרה נוספת.
מה הדרך האינטואיטיבית השניה להגדיר את המכפלה של שני המרחבים הוקטוריים? ובכן, שוב, טוב לשאוב השראה מסכומים ישרים: שם מה שקרה הוא שהבסיס של הסכום הישר היה האיחוד הזר של הבסיסים של המרחבים. אז אצלנו הבסיס של המכפלה יהיה המכפלה של הבסיסים של המרחבים. שימו לב: מה שנקבל אחרי המכפלה לא יהיה כל המרחב; זה יהיה רק בסיס למרחב. אם נתון לנו בסיס, מי הם שאר האיברים?
ובכן, אתם לא תאהבו את התשובה הזו, אבל היא פשוטה מאוד: אברי המרחב יהיו פשוט כל הצירופים הלינאריים הפורמליים של אברי הבסיס. הרי זה הרעיון בבסיס - שכל איבר במרחב יהיה ניתן לייצוג יחיד כצירוף לינארי של אברי הבסיס.
זה מוביל אותנו להגדרה הפורמלית הבאה של מכפלה טנזורית: \( V\otimes W\triangleq\mbox{span}\left\{ e_{i}\otimes f_{j}\ |\ 1\le i\le n,1\le j\le m\right\} \). הסימן \( \otimes \) הוא סימן מיוחד שבא להבהיר לנו ש-\( V\otimes W \) היא מכפלה טנזורית ולא כפל רגיל; וכאשר אני כותב \( e\otimes f \) זה ביטוי פורמלי נטו; הייתי יכול לכתוב גם \( \left(e,f\right) \) או \( e\diamondsuit f \) או כל סימן אחר שעדיין היה מאפשר לי לדעת מי הם \( e,f \) ש”תורמים” לאיבר הזה. השימוש בסימן \( \otimes \) כאן הוא פשוט מוסכמה.
ההגדרה די פשוטה. אבל יש מרחק בין להבין אותה ובין “להרגיש” מה קורה פה, אז הכרחי לתת דוגמה קונקרטית עם שני מרחבים פשוטים אבל שיהיו שונים זה מזה. אז ניקח \( V=\mathbb{R}^{2} \) ו-\( W=\mathbb{R}_{3}\left[x\right] \). כלומר, איבר ב-\( V \) הוא זוג מספרים ממשיים \( \left(a,b\right) \) ואילו איבר ב-\( W \) הוא פולינום ממעלה לכל היותר 2, \( p\left(x\right) \). בסיס פשוט של \( V \) הוא \( \left\{ \left(1,0\right),\left(0,1\right)\right\} \) ובסיס פשוט של \( W \) הוא \( \left\{ 1,x,x^{2}\right\} \). המכפלה הטנזורית של שני המרחבים הללו תהיה מרחק ממימד 6 שנפרש על ידי האיברים הבאים:
\( V\otimes W=\mbox{span}\left\{ \left(1,0\right)\otimes1,\left(1,0\right)\otimes x,\left(1,0\right)\otimes x^{2},\left(0,1\right)\otimes1,\left(0,1\right)\otimes x,\left(0,1\right)\otimes x^{2}\right\} \)
כלומר, איבר לדוגמה במכפלה הטנזורית הוא \( \pi\left(\left(0,1\right)\otimes x^{2}\right)+17\left(\left(1,0\right)\otimes1\right) \) (כאן המקדם של אחד מאברי הבסיס הוא \( \pi \), מקדם של איבר בסיס אחר הוא 17 וכל היתר הם 0).
טוב, שמעו, זה נראה נורא.
מייד עולה מאליה השאלה אם לא ניתן להציג לפחות חלק מהאיברים של המכפלה הטנזורית בצורה נחמדה יותר. שוב, כדי לקבל אינטואיציה כללית אני אסתכל קודם כל על דוגמה פשוטה - הפעם נבחר \( V=W=\mathbb{R}^{2} \). אז אנחנו יודעים ש-\( V\otimes W \) הוא מרחב ממימד 4 מעל \( \mathbb{R} \) ולכן איזומורפי ל-\( \mathbb{R}^{4} \). כדי לתאר את האיזומורפיזם מספיק לתאר איך אברי הבסיס של \( V\otimes W \) עוברים לאיברים ב-\( \mathbb{R}^{4} \). אז בואו נגדיר את זה שרירותית:
\( \left(1,0\right)\otimes\left(1,0\right)\mapsto\left(1,0,0,0\right) \)
\( \left(1,0\right)\otimes\left(0,1\right)\mapsto\left(0,0,1,0\right) \)
\( \left(0,1\right)\otimes\left(1,0\right)\mapsto\left(0,1,0,0\right) \)
\( \left(0,1\right)\otimes\left(0,1\right)\mapsto\left(0,0,0,1\right) \)
אם תחשבו על זה לרגע, תראו שההגדרה אינה שרירותית אלא יש בה הגיון כלשהו. הנה נוסחה כללית שמתארת את הטרנספורמציה שביצעתי:
\( \left(a_{1},a_{2}\right)\otimes\left(b_{1},b_{2}\right)\mapsto\left(a_{1}b_{1},a_{2}b_{1},a_{1}b_{2},a_{2}b_{2}\right) \)
כשאני רואה את הנוסחה הזו, מדגדג לי להציב בתור הוקטורים הכלליים \( \left(a_{1},a_{2}\right),\left(b_{1},b_{2}\right) \) גם וקטורים שאינם אברי בסיס ולשאול - מה יקרה? למשל, עבור \( \left(1,1\right)\otimes\left(1,0\right) \), האיבר הזה יעבור אל \( \left(1,1,0,0\right) \), שלא קשה לראות שהוא התמונה של \( \left(1,0\right)\otimes\left(1,0\right)+\left(0,1\right)\otimes\left(1,0\right) \), אז בעצם קיבלתי את המשוואה הבאה:
\( \left(1,0\right)\otimes\left(1,0\right)+\left(0,1\right)\otimes\left(1,0\right)=\left(1,1\right)\otimes\left(1,0\right) \)
ואם אני מנסה להכליל אותה, אני אקבל את זוג המשוואות הבא:
\( e_{1}\otimes f+e_{2}\otimes f=\left(e_{1}+e_{2}\right)\otimes f \)
\( e\otimes f_{1}+e\otimes f_{2}=e\otimes\left(f_{1}+f_{2}\right) \)
כלומר, אם אני אנסה להכליל את \( \otimes \) למכפלה של שני איברים כללים ב-\( V,W \), אז רצוי ש-\( \otimes \) יקיים מעין תכונת אדיטיביות (שמזכירה את זו של מכפלה פנימית, למי שמכיר).
ומה בדבר כפל בסקלר? ובכן, \( 2\left(1,0\right)\otimes\left(0,1\right) \) הולך לעבור אל \( \left(2,0,0,0\right) \), כלומר אל \( 2\left(\left(1,0\right)\otimes\left(0,1\right)\right) \), וכך גם \( \left(1,0\right)\otimes2\left(0,1\right) \), מה שמוביל אותנו לחוק הבא:
\( \lambda\left(e\otimes f\right)=\lambda e\otimes f=e\otimes\lambda f \)
מצויידים בשלושת החוקים הללו, קל לנו להגדיר את \( v\otimes w \) בצורה כללית: פשוט נכתוב \( v=\sum\lambda_{i}e_{i} \) ו-\( w=\sum\rho_{j}f_{j} \), נשתמש בכללי הפישוט שהגדרתי לעיל, ונקבל:
\( v\otimes w=\left(\sum\lambda_{i}e_{i}\right)\otimes\left(\sum\rho_{j}f_{j}\right)=\sum_{i,j}\lambda_{i}\rho_{j}\left(e_{i}\otimes f_{j}\right) \)
הכתיב \( v\otimes w \), אם כן, משמש אותנו סתם בתור סימון מקוצר כאן. בפועל העסק הרבה פחות שרירותי ממה שנדמה לנו כרגע ואראה את זה בסוף הפוסט, אבל בינתיים אני רוצה שנעכל את הקפיצה אל שימוש בסימונים כמו \( v\otimes w \). יש שתי טעויות מתבקשות שכולנו עושים כשאנחנו רואים את צורת הסימון הזו: ראשית, אנחנו שוכחים שלאותו איבר של המכפלה הטנזורית יכולים להיות כמה ייצוגים שונים בדרך הזו. למשל, כפי שראינו לפני רגע, \( \left(2,0\right)\otimes\left(0,1\right) \) ו-\( \left(1,0\right)\otimes\left(0,2\right) \) הם שני ייצוגים שונים לאותו איבר בדיוק. שנית, אנחנו עלולים לחשוב בטעות שכל איבר ב-\( V\otimes W \) הוא איבר מהצורה \( v\otimes w \) עבור \( v\in V \) ו-\( w\in W \), וזה ממש לא נכון. לאיבר שניתן לכתוב בצורה \( v\otimes w \) קוראים לפעמים “טנזור טהור” כדי להבדיל אותו מהאיברים של \( V\otimes W \) שלא ניתנים לכתיבה בצורה הזו, אבל בהחלט יש כאלו. אז איך כותבים אותם? בתור סכום של טנזורים טהורים. והאם אני יכול לתת דוגמה ליצור כזה? בטח.
אנחנו עדיין ב-\( \mathbb{R}^{2}\otimes\mathbb{R}^{2} \). בואו נסתכל על \( \left(1,0\right)\otimes\left(1,0\right)+\left(0,1\right)\otimes\left(0,1\right) \). האם אתם רואים דרך “לפשט” את הביטוי הזה ולהציג אותו בצורה \( \left(a_{1},a_{2}\right)\otimes\left(b_{1},b_{2}\right) \)? אני מניח שלא. אבל זה שאתם לא רואים איך לעשות משהו לא אומר שאי אפשר לעשות אותו; צריך להוכיח שאי אפשר. אז בואו ניקח את הביטוי הכללי \( \left(a_{1},a_{2}\right)\otimes\left(b_{1},b_{2}\right) \) ונפרק אותו לסכום אברי בסיס:
\( \left(a_{1},a_{2}\right)\otimes\left(b_{1},b_{2}\right)=a_{1}b_{1}\left[\left(1,0\right)\otimes\left(1,0\right)\right]+a_{1}b_{2}\left[\left(1,0\right)\otimes\left(0,1\right)\right]+a_{2}b_{1}\left[\left(0,1\right)\otimes\left(1,0\right)\right]+a_{2}b_{2}\left[\left(0,1\right)\otimes\left(0,1\right)\right] \)
נשווה את זה עם הביטוי \( \left(1,0\right)\otimes\left(1,0\right)+\left(0,1\right)\otimes\left(0,1\right) \) וקיבלנו מערכת של ארבע משוואות בארבעה נעלמים:
\( a_{1}b_{1}=1 \)
\( a_{1}b_{2}=0 \)
\( a_{2}b_{1}=0 \)
\( a_{2}b_{2}=1 \)
קל מאוד לראות שאין למערכת הזו פתרון: מכיוון ש-\( a_{1}b_{2}=0 \) אחד משניהם חייב להיות 0. אם \( a_{1}=0 \) אז \( 1=a_{1}b_{1}=0 \) וזה בלתי אפשרי; אם \( b_{2}=0 \) אז \( 1=a_{2}b_{2}=0 \) וגם זה בלתי אפשרי. מסקנה: \( \left(1,0\right)\otimes\left(1,0\right)+\left(0,1\right)\otimes\left(0,1\right) \) הוא לא טנזור טהור.
כמובן, קל לראות שלא ייתכן שהמכפלה הטנזורית תכיל רק טנזורים טהורים אפילו משיקולים פשוטים יותר: אם נחזור אל המרחבים הוקטוריים מעל השדה הסופי עם שלושה איברים, אז כפי שכבר ראינו אם \( \left|V\right|=3^{n} \) ו-\( \left|W\right|=3^{m} \) אז \( \left|V\times W\right|=3^{m+n} \) וזה גם מספר הטנזורים ה”טהורים”, אבל המכפלה הטנזורית היא מרחב ממימד \( nm \) ולכן מכילה \( 3^{mn} \) איברים - הרבה יותר מאשר \( 3^{m+n} \) עבור כמעט כל הערכים של \( n,m \).
טוב, אז אני מקווה שאנחנו מבינים מה זו מכפלה טנזורית ברמת ההגדרות ואפשר יהיה להשתמש במושג הזה יחסית בחופשיות בפוסטים שבהם אזדקק לו (מן הסתם מתוכננים כאלו). עכשיו אפשר לעבור לדוגמה כללית יחסית וחשובה מאוד - מכפלה טנזורית של מטריצות. כלומר, \( V \) יהיה מרחב של מטריצות וגם \( W \) יהיה מרחב של מטריצות. אין חשיבות לסדר של המטריצות - הוא יכול להיות שונה בצורה דרסטית. כעת, כדי לתאר את \( V\otimes W \) מספיק לי לתאר איך נראה איבר כללי \( A\otimes B \) עבור \( A\in V \) ו-\( B\in W \). התיאור הוא פשוט ומקסים: בואו נכתוב בצורה כללית את \( A \):
\( A=\left[\begin{array}{cccc}a_{11} & a_{12} & \cdots & a_{1m}\\a_{21} & a_{22} & \cdots & a_{2m}\\\vdots & \vdots & \ddots & \vdots\\a_{n1} & a_{n2} & \cdots & a_{nm}\end{array}\right] \)
כעת, \( A\otimes B \) יוגדר כך:
\( A\otimes B\triangleq\left[\begin{array}{cccc}a_{11}B & a_{12}B & \cdots & a_{1m}B\\a_{21}B & a_{22}B & \cdots & a_{2m}B\\\vdots & \vdots & \ddots & \vdots\\a_{n1}B & a_{n2}B & \cdots & a_{nm}B\end{array}\right] \)
הסימון הזה נראה מוזר - כאילו אנחנו דוחפים מטריצה לתוך הכניסות של מטריצה אחרת, ומה זה אומר בכלל. בפועל זה סימון מקובל עבור מטריצת בלוקים. הדרך הכי טובה להסביר היא פשוט לתת דוגמה: נבחר \( A=\left[\begin{array}{cc}1 & 2\\3 & 4\end{array}\right] \) ו-\( B=\left[\begin{array}{cc}5 & 0\\0 & 5\end{array}\right] \) ונקבל ש-
\( A\otimes B=\left[\begin{array}{cccc}5 & 0 & 10 & 0\\0 & 5 & 0 & 10\\15 & 0 & 20 & 0\\0 & 15 & 0 & 20\end{array}\right] \)
רואים את ה”בלוקים”?
כמובן, כדי להוכיח שההגדרה שלנו למכפלה הטנזורית באמת עובדת אנחנו צריכים להראות שיש איזומורפיזם בין המרחב שהגדרתי כרגע ובין ההגדרה ה”רגילה” שלי של מכפלה טנזורית - זה כמובן יעבוד ואני משאיר את זה בתור תרגיל למי שמעוניין.
עכשיו, לסיום, אני רוצה להציג נקודת מבט טיפה שונה על ההגדרה של מכפלה טנזורית, שנותנת דרך התבוננות שהיא ככל הנראה נכונה יותר, אם כי גם קשה יותר לעיכול. מילת המפתח פה היא העתקה בילינארית. בואו נזכיר מה זה אומר: העתקה לינארית (או “טרנספורמציה לינארית” כמו שאני לרוב קורא לה) היא פונקציה \( T:V\to W \) בין שני מרחבים וקטוריים (מעל אותו שדה) שמשמרת את פעולות החיבור והכפל בסקלר, כלומר \( T\left(a+b\right)=T\left(a\right)+T\left(b\right) \) ו-\( T\left(\lambda a\right)=\lambda T\left(a\right) \) עבור סקלר \( \lambda \). העתקה בילינארית זה בערך אותו דבר, אבל עבור פונקציה בשני משתנים.
פורמלית, אם \( V,W,U \) הם מרחבים וקטוריים מעל אותו שדה אז \( f:V\times W\to U \) היא העתקה בילינארית אם כאשר ניקח את \( f \) ו”נקפיא” את אחד מהמשתנים שלה, הפונקציה שנקבל במשתנה השני תהיה העתקה לינארית. במילים אחרות, ניקח וקטור \( w\in W \) כלשהו ונגדיר פונקציה חדשה \( T_{w}:V\to U \), \( T_{w}\left(v\right)=f\left(v,w\right) \), אז אני דורש -\( T_{w} \) תהיה העתקה לינארית. כך גם אם אקח \( v\in V \) ואגדיר \( S_{v}:W\to U \) על ידי \( S_{v}\left(w\right)=f\left(v,w\right) \) (הפעולה הזו, של הצבת ערך קבוע בתוך פונקציה בכמה משתנים ועל ידי כך “ייצור” של פונקציה עם משתנה אחד פחות מכונה Currying על שם הלוגיקאי הסקל קרי; זה תעלול מקובל בשפות תכנות מסויימות, למשל הסקל).
העתקה לינארית הוגדרה על ידי שני תנאים, אז אם ננסה לפרוט לפרוטות את התנאים של העתקה בילינארית נראה שהיא מוגדרת על ידי ארבעה, שניים לכל רכיב:
- \( f\left(v_{1}+v_{2},w\right)=f\left(v_{1},w\right)+f\left(v_{2},w\right) \)
- \( f\left(\lambda v,w\right)=\lambda f\left(v,w\right) \)
- \( f\left(v,w_{1}+w_{2}\right)=f\left(v,w_{1}\right)+f\left(v,w_{2}\right) \)
- \( f\left(v,\lambda w\right)=\lambda f\left(v,w\right) \)
נראה מוכר? לא במקרה, כמובן.
ניקח שני מרחבים וקטוריים \( V,W \). יש כמובן המון פונקציות בילינאריות שניתן להגדיר עליהם, שהולכות למרחבים רבים ושונים. הרעיון במכפלה טנזורית הוא לתאר את המכפלה הבילינארית הכללית ביותר שאפשר להגדיר על \( V\times W \). מה זה אומר? ובכן, בואו נניח שקיים מרחב וקטורי \( E \) ופונקציה בילינארית \( h:V\times W\to E \) שמקיימים את התכונה הבאה: אם \( U \) הוא מרחב וקטורי כלשהו ו-\( f:V\times W\to U \) היא פונקציה בילינארית כלשהי, אז אפשר לבנות את \( f \) על ידי הרכבה של פונקציה לינארית מתאימה על \( h \), באופן שהוא יחיד. פורמלית, קיימת \( T:E\to U \) יחידה כך ש-\( f=Th \) (כלומר, \( f\left(v,w\right)=T\left(h\left(v,w\right)\right) \) לכל \( v\in V,w\in W \)). זה אומר ש-\( h \) היא אכן “כללית ביותר” כי היא לא מאבדת שום מידע; אחרי שמפעילים אותה אפשר לבצע “תיקון” ולקבל כל פונקציה בילינארית אחרת. ככה זה נראה בדיאגרמה קומוטטיבית:
הכוונה ב”קומוטטיבית” כאן היא שלא משנה איך הולכים עם החצים - אם הולכים עם \( f \) או אם הולכים עם \( h \) ואז עם \( T \) - בסוף מגיעים לאותו דבר (אם התחלנו מאותו איבר קלט).
התכונה שתיארתי כעת היא דוגמה לתכונה אוניברסלית; לא אכנס כאן להגדרה מדוייקת של מה זו תכונה אוניברסלית כי זה כבר ייקח אותי לתוך תורת הקטגוריות. תחת זאת, אני רוצה לשכנע אתכם שיש בדיוק מרחב \( E \) יחיד (עד כדי איזומורפיזם) שמקיים את התכונה הזו. ההוכחה טריוויאלית למדי: נניח שיש \( E_{1},E_{2} \) עם פונקציות \( h_{1},h_{2} \) שמקיימים את התכונה שלעיל. אז בפרט אם נבחר \( f=h_{2} \) נקבל שקיימת טרנספורמציה לינארית \( T_{1}:E_{1}\to E_{2} \) כך ש-\( h_{2}=T_{1}h_{1} \). בדומה, קיימת טרנספורמציה לינארית \( T_{2}:E_{2}\to E_{1} \) כך ש-\( h_{1}=T_{2}h_{2} \). אם כן, נקבל: \( h_{1}=T_{2}h_{2}=T_{2}T_{1}h_{1} \).
שימו לב מה קיבלנו:
מה שקורה כאן הוא שראינו שאת ההעתקה \( h_{1}:V\times W\to E_{1} \) אפשר לבנות בתור ההרכבה \( T_{2}T_{1}h_{1} \). אבל מצד שני, אפשר לבנות אותה גם בתור ההרכבה של פונקציית הזהות על \( h_{1} \). כאן נכנסת לתמונה הדרישה שלי שאופן הבניה הזה יהיה יחיד - זה אומר ש-\( T_{2}T_{1} \) היא פונקציית הזהות על \( E_{1} \), ולכן \( T_{1} \) בפרט הפיכה, ולכן היא איזומורפיזם. הצלחתם לעקוב אחרי הטיעון הזה? (כי אני לא ממש) באלגברה מופשטת זה מה שקורה כל הזמן.
עכשיו כשאנחנו יודעים ש-\( E \) הזה הוא יחיד, בואו נראה שהוא בכלל קיים. אפשר להגדיר את \( E \) להיות \( V\otimes W \) שכבר הגדרתי קודם ולהוכיח שהוא מקיים את תכונת האוניברסליות, אבל איפה הכיף בזה? בואו נבנה אותו בגישה שונה.
ראשית, ברור ש-\( h:V\times W\to E \) חייבת להיות חד-חד-ערכית, כלומר ש-\( E \) יהיה חייב להכיל בתוכו עותק של \( V\times W \). כי בואו נניח ש-\( h\left(v_{1},w_{1}\right)=h\left(v_{2},w_{2}\right) \) עבור \( \left(v_{1},w_{1}\right)\ne\left(v_{2},w_{2}\right) \); במקרה זה נגדיר \( f \) בילינארית שמקיימת \( f\left(v_{1},w_{1}\right)=f\left(v_{2},w_{2}\right) \) ואז הלך עלינו - לא משנה איזה \( T \) נבחר, נקבל ש-\( Th\left(v_{1},w_{1}\right)=Th\left(v_{2},w_{2}\right) \) ולכן אין סיכוי ש-\( f=Th \). אז \( E \) חייב לכלול איבר ייחודי שאסמן \( \delta_{\left(v,w\right)} \) לכל \( \left(v,w\right) \) (ולמה לא להשתמש בסימון \( v\otimes w \) וחסל? עוד מעט נבין). עכשיו, ה-\( \delta_{\left(v,w\right)} \) לא מרכיבים את כל המרחב לבדם; מכיוון שאנחנו רוצים ש-\( E \) יהיה מרחב וקטורי, אנחנו צריכים להגדיר גם פעולות של חיבור וכפל בסקלר עליהם. כאן אי אפשר סתם לתת הגדרות שרירותיות, כי אז יצוצו בעיות. למשל, נניח שאנו מגדירים שרירותית ש-\( \lambda\delta_{\left(v_{1},w_{1}\right)}=\delta_{\left(v_{2},w_{2}\right)} \). מה נובע מזה? אם \( T \) היא טרנספורמציה לינארית מ-\( E \), אז היא תקיים תמיד \( T\left(\delta_{\left(v_{2},w_{2}\right)}\right)=T\left(\lambda\delta_{\left(v_{1},w_{1}\right)}\right)=\lambda T\left(\delta_{\left(v_{1},w_{1}\right)}\right) \). זה אומר שאם ניקח \( f \) שמקיימת \( f\left(v_{2},w_{2}\right)\ne\lambda f\left(v_{1},w_{1}\right) \) אז אין \( T \) כך ש-\( f=Th \) ואנחנו שוב בצרות.
במילים אחרות, אנחנו חייבים שבמרחב שלנו יהיו יותר איברים מאשר רק \( \delta_{\left(v,w\right)} \)-ים. אז מה נעשה? איך נדע את מי להוסיף ואת מי לא? אם קודם כשבנינו את המכפלה הטנזורית נקטנו בשיטת Bottom-up - התחלנו מהבסיס של מה שאנחנו רוצים שיהיה לנו (מכפלות טנזוריות של אברי הבסיסים) ובנינו את המרחב מתוך זה, הפעם נעשה מעין Top-down: נתחיל ממרחב גדול מדי, ואז נתקן אותו.
מה שנאמר הוא שלכל צירוף לינארי סופי \( \sum\lambda_{i}\delta_{\left(v_{i},w_{i}\right)} \) יהיה לנו איבר במרחב, והמרחב הזה יהיה חופשי מיחסים בין האיברים: שני איברים יהיו שונים אם ורק אם הצירוף הלינארי שמגדיר אותם זהה. לדבר כזה קוראים מרחב וקטורי חופשי. הבעיה עם המרחב הזה היא שהוא גדול מדי. תחשבו על זה ככה: אם \( V=W=\mathbb{R} \) (מרחבים ממימד 1) אז לכל \( s,t\in\mathbb{R} \) יהיה לנו איבר \( \delta_{\left(s,t\right)} \) שהוא איבר בסיס של המרחב החדש; זה אומר שהמרחב החדש שלנו יהיה בעל בסיס לא בן מניה - עצום בגודלו. כמו כן, אם נגדיר את ההעתקה \( h\left(v,w\right)=\delta_{\left(v,w\right)} \) קל לראות שזו אינה העתקה בילינארית: הרי \( h\left(\lambda v,w\right)=\delta_{\left(\lambda v,w\right)}\ne\lambda\delta_{\left(v,w\right)}=\lambda h\left(v,w\right) \), כשאי השוויון נובע בדיוק מהחופשיות של המרחב.
במילים אחרות, אם אנחנו רוצים שתהיה לנו תקווה כלשהי לכך ש-\( h \) תהיה בילינארית, אנחנו חייבים לוודא ש-\( \delta_{\left(\lambda v,w\right)}=\lambda\delta_{\left(v,w\right)} \). איך עושים את זה, למרות שהאיברים הללו כרגע שונים? הטריק הסטנדרטי ביותר בספר: מגדירים יחס שקילות על המרחב שלנו, שבו שני איברים הם שקולים אם הם “אמורים להיות שווים”, ואז לוקחים את קבוצת המנה (אוסף כל מחלקות השקילות של היחס). אם לא ראיתם את זה מעולם, זה מבלבל נורא: הדוגמה הקלאסית שאני יכול להציע לכם היא מספרים רציונליים; אפשר להגדיר אותם בתור אוסף של זוגות של שלמים, כך ש-\( \left(a,b\right) \) מייצג את המספר \( \frac{a}{b} \); מהר מאוד אנחנו מבינים ש-\( \left(1,2\right) \) ו-\( \left(2,4\right) \) אמורים לייצג את אותו המספר, אז מגדירים יחס שקילות ש”מזהה” ביניהם.
יחס השקילות שלנו יוגדר על ידי כל התכונות שנדרשות כדי להפוך את \( h \) לבילינארית. פורמלית, מה שעושים הוא לבנות תת-מרחב וקטורי של המרחב שלנו, ואז לקחת את מרחב המנה - עוד בניה סטנדרטית, שכנראה תהיה מוכרת לכל מי שהתעסק טיפה עם חבורות. תת-המרחב שלנו ייפרש בדיוק על ידי כל האיברים מהצורות הבאות:
- \( \delta_{\left(\lambda v,w\right)}-\lambda\delta_{\left(v,w\right)} \)
- \( \delta_{\left(v,\lambda w\right)}-\lambda\delta_{\left(v,w\right)} \)
- \( \delta_{\left(v_{1}+v_{2},w\right)}-\delta_{\left(v_{1},w\right)}-\delta_{\left(v_{2},w\right)} \)
- \( \delta_{\left(v,w_{1}+w_{2}\right)}-\delta_{\left(v,w_{1}\right)}-\delta_{\left(v,w_{2}\right)} \)
אחרי שמחלקים בתת-המרחב הזה, כל היוצרים שלו הופכים לשווים לאפס במרחב המנה. לכן, למשל, במרחב המנה המשוואה \( \delta_{\left(\lambda v,w\right)}-\lambda\delta_{\left(v,w\right)}=0 \) היא נכונה, כלומר \( \delta_{\left(\lambda v,w\right)}=\lambda\delta_{\left(v,w\right)} \) במרחב הזה.
מה שתיארתי פה הוא בניה סטנדרטית לגמרי באלגברה, שבה בונים אובייקט באמצעות יוצרים ויחסים. היוצרים הם ה-\( \delta \)-ות; היחסים הן המשוואות שהגדירו לי את תת-המרחב. אם זו הפעם הראשונה שבה אתם שומעים על המושגים הללו, אני ממליץ לנסות וללמוד אותם דרך תורת החבורות קודם; ככה זה יותר קל לעיכול.
עכשיו אפשר להחזיר לתמונה את הסימון \( v\otimes w \) הידוע לשמצה - זה יהיה האיבר במרחב המנה שמתאים ל-\( \delta_{\left(v,w\right)} \) (מחלקת השקילות של \( \delta_{\left(v,w\right)} \)). מכאן ואילך זו עבודה סטנדרטית יחסית להראות שהמרחב הזה אכן מקיים את כל מה שאנחנו רוצים. בהינתן \( f:V\times W\to U \), מגדירים \( T\left(v\otimes w\right)=f\left(v,w\right) \) ומקבלים ש-\( f=Th \) (צריך להוכיח ש-\( T \) היא טרנספורמציה לינארית מוגדרת היטב - זה נובע מכך ש-\( f \) היא בילינארית). היחידות של \( T \) נובעת מכך שמרגע שהגדרנו את \( T \) על כל האיברים מהצורה \( v\otimes w \) אז \( T \) נקבעת באופן יחיד עבור כל יתר המרחב (למעשה, מספיקה ההגדרה של \( T \) על אברי בסיס כפי שהגדרנו אותם בתחילת הפוסט; לא צריך את כל הטנזורים הטהורים), ובהינתן \( f \), אין לנו בחירה לערכים של \( T \) על טנזורים טהורים - הם חייבים לתת להם בדיוק מה ש-\( f \) נותנת לזוג המתאים. זה מסיים (בנפנוף ידיים, כמובן) את ההוכחה.
קצת ניסיתי בפוסט הזה ללכת בלי ולהרגיש עם - לא לצלול עמוק מדי אל ההקשר האלגברי הרחב יותר, ובכל זאת להזכיר אותו; אני מקווה שהצלחתי כך לתת משהו לכל קורא של הפוסט, ולא סתם שהרגזתי את כולם במידה שווה.
נהניתם? התעניינתם? אם תרצו, אתם מוזמנים לתת טיפ: