קואורדינטות, טרנספורמציות, מטריצות וחיות אחרות
בשעה טובה הגענו אל מה שאני מחשיב בתור אחת התוצאות היפות ביותר במתמטיקה בסיסית. לצערי קל לפספס את היופי כאן (אני כבר מתאר לעצמי קוראים נזעמים שבסוף הפוסט ירטנו שזה בכלל לא יפה או מעניין) ואני מקווה שאצליח להיות משכנע.
נתחיל ממשהו קונקרטי. כזכור, \( \mathbb{R}^{2} \), המרחב האוקלידי, מורכב מנקודות שכל אחת מהן היא זוג מספרים \( \left(x,y\right) \). אנחנו חושבים על המספרים הללו בתור הקואורדינטות של הנקודה - אבל מה זו בעצם קואורדינטה?
קואורדינטה, במובן היבש ביותר, היא מספר שבא לתאר מיקום. כדי לתאר מרחב כלשהו אנחנו צריכים להחליט על מערכת קואורדינטות עבורו, ואז כל נקודה במרחב מתוארת על ידי כמה מספרים שמתארים את האופן שבו אותה נקודה מתאימה למערכת הקואורדינטות. בדוגמה של המישור מערכת הקואורדינטות היא פשוטה - יש לנו ציר \( x \) וציר \( y \), שהם שניהם קווים ישרים מאונכים; לציר ה-\( x \) יש כיוון חיובי שהוא ימינה, ולציר ה-\( y \) יש כיוון חיובי שהוא למעלה, ונקודת המפגש שלהם נקראת “ראשית הצירים”, וכל קואורדינטה אומרת כמה צריך ללכת לאורך הצירים כדי להגיע אל הנקודה. למשל, \( \left(3,-2\right) \) פירושו שצריך ללכת 3 יחידות לכיוון ימין על ציר \( x \), ואז ללכת \( 2 \) יחידות לכיוון למטה (הכיוון השלילי) במקביל לציר \( y \), ואז מגיעים אל הנקודה המבוקשת.
מה שאני רוצה שתבינו הוא שמערכת הצירים הזו היא שרירותית. אפשר היה לכוון את אחד מהצירים בכיוון ההפוך ועדיין היינו מסוגלים לתאר את כל המישור, רק שאם למשל היינו מכוונים את ציר \( x \) בכיוון ההפוך, הקואורדינטות של הנקודה שקודם היו \( \left(3,-2\right) \) כעת יהיו \( \left(-3,-2\right) \).
אבל אפשר היה לעשות דברים יותר מעוותים מסתם לשנות כיוון. אפשר היה למחוק את ציר \( y \) לחלוטין ולהחליף אותו בציר שאקרא לו ציר \( d \) (מלשון diagonal) שהוא בכלל לא ניצב לציר \( x \) אלא בזווית של 45 מעלות אליו. במילים אחרות, הוא הקו שמורכב מכל הנקודות מהצורה \( \left(a,a\right) \) (כשם שציר \( y \) היה הקו שמורכב מכל הנקודות מהצורה \( \left(0,a\right) \)). כעת, הנקודה שקודם הקואורדינטות שלה היו \( \left(3,-2\right) \) תהיה כעת בעלת הקואורדינטות \( \left(5,-2\right) \). רגע, מה?
אנחנו כל כך רגילים למערכת צירים שבה שני הצירים מאונכים זה לזה, שבכלל לא ברור מה המשמעות של קואורדינטות במערכת צירים שבה המצב אינו כזה. לכן כדאי להכניס את האלגברה הלינארית לתמונה כמה שיותר מהר - הדרך ה”נכונה” להכליל את הרעיונות הללו היא דרכה. אפשר לחשוב על כל מערכת צירים ב-\( \mathbb{R}^{2} \) בתור זוג וקטורים \( v,u\in\mathbb{R}^{2} \) שהם בלתי תלויים לינארית. מכיוון שהם בלתי תלויים לינארית ו-\( \mathbb{R}^{2} \) הוא מרחב ממימד 2, אז הם בסיס; ולכן כל וקטור \( w\in\mathbb{R}^{2} \) ניתן להצגה יחידה בתור \( w=\lambda v+\tau u \). הקואורדינטות של \( w \) במערכת הצירים שמוגדרת על ידי \( v,u \) יהיו הזוג \( \left(\lambda,u\right) \).
כאשר אנחנו חושבים על \( \mathbb{R}^{2} \) מערכת הצירים ה”רגילה” שצצה לנו לראש היא זו שנקבעת על ידי הוקטורים \( \left(1,0\right),\left(0,1\right) \). אולי אתם זוכרים שקראתי לקבוצה הזו הבסיס הסטנדרטי של \( \mathbb{R}^{2} \), וזו בדיוק הסיבה. במערכת הזו, הקואורדינטות של \( \left(3,-2\right) \) הן בדיוק \( \left(3,-2\right) \), אבל אם הבסיס שלנו היה \( \left(1,0\right),\left(1,1\right) \) אז הקואורדינטות של ה-\( 2 \)-יה \( \left(3,-2\right) \) הן \( \left(5,-2\right) \) כי \( \left(3,-2\right)=5\left(1,0\right)-2\left(1,1\right) \).
מה שקורה למעלה הוא מבלבל מאוד בגלל שאנחנו משתמשים באותו סימון הן כדי לתאר וקטור - איבר במרחב - והן כדי לתאר את הקואורדינטות שלו. כדי להבהיר מי נגד מי כדאי לחשוב על מרחב וקטורי שנראה שונה. בואו נדבר על \( \mathbb{R}_{3}\left[x\right] \) - מרחב הפולינומים עם מקדמים ממשיים ממעלה לכל היותר 2. בסיס מתבקש למרחב הזה הוא הקבוצה \( \left\{ x^{2},x,1\right\} \) (כשאברי הבסיס סדורים משמאל לימין), ואז הקואורדינטות של הפולינום \( ax^{2}+bx+c \) על פי הבסיס הזה הן פשוט הוקטור \( \left(a,b,c\right) \) - שלשה של מספרים מתוך \( \mathbb{R} \). אבל, היינו יכולים לבחור גם בסיס שונה למרחב, למשל את הבסיס \( \left\{ x^{2}+1,2x,3\right\} \), ואז הקואורדינטות היו שונות: הקואורדינטות של הפולינום \( 5x^{2}+9x \) היו \( \left(5,\frac{9}{2},-\frac{5}{3}\right) \) כי \( 5x^{2}+9x=5\left(x^{2}+1\right)+\frac{9}{2}\left(2x\right)-\frac{5}{3}\left(3\right) \).
זה מוביל אותנו להגדרה הפורמלית. אם \( V \) הוא מרחב וקטורי מעל שדה \( \mathbb{F} \) ו-\( B=\left\{b_1,\dots,b_n\right\} \) הוא בסיס סופי עבורו (וכאן הסדר של הוקטורים בתוך הבסיס חשוב - אומרים במקרה הזה שזה בסיס סדור), אז לכל וקטור \( v\in V \) מוגדר וקטור קואורדינטות של \( v \) על פי הבסיס \( B \) שמסומן ב-\( \left[v\right]_{B} \). הוקטור הזה הוא וקטור ב-\( \mathbb{F}^{n} \) והוא מוגדר כך: \( v=\sum\lambda_{i}b_{i} \) והצירוף הלינארי הזה הוא יחיד; אז \( \left[v\right]_{B}=\left(\lambda_{1},\dots,\lambda_{n}\right) \). למעשה, לרוב יהיה נוח לחשוב על \( \left[v\right]_{B} \) בתור וקטור עמודה דווקא, כלומר \( \left[v\right]_{B}=\left[\begin{array}{c}\lambda_{1}\\\vdots\\\lambda_{n}\end{array}\right] \).
כאן התכונות של הבסיס הן קריטיות. העובדה שכל איבר במרחב נפרש על ידי הבסיס קריטית לכך שלכל איבר יהיה קיים וקטור קואורדינטות, והעובדה שההצגה היא יחידה קריטית לכך שההגדרה תעבוד ותהיה חופשיה משאלות נוספות כמו “אם יש כמה וקטורי קואורדינטות אפשריות, את מי בוחרים?”. אבל יש כאן משהו עמוק יותר מסתם ייצוג קומפקטי. בואו נזכור ש-\( \mathbb{F}^{n} \) הוא מרחב וקטורי בפני עצמו עם פעולות חיבור וכפל בסקלר; ולא קשה לראות שמתקיים \( \left[v+u\right]_{B}=\left[v\right]_{B}+\left[u\right]_{B} \) (כאן החיבור בצד שמאל הוא חיבור ב-\( V \), אבל החיבור מימין הוא חיבור ב-\( \mathbb{F}^{n} \)), ובדומה \( \left[\lambda v\right]_{B}=\lambda\left[v\right]_{B} \). כלומר, אם נחשוב על הפעולה “בהינתן וקטור, החזר את וקטור הקואורדינטות שלו על פי \( B \)” בתור פונקציה, זוהי בעצם טרנספורמציה לינארית; והיא חד-חד ערכית ועל בגלל ש-\( B \) הוא בסיס. מה שראינו פה הוא שכל מרחב וקטורי ממימד \( n \) הוא איזומורפי למרחב \( \mathbb{F}^{n} \). זו הכללה חזקה של האבחנה הישנה שלי לפיה \( \mathbb{R}^{2} \) ו-\( \mathbb{R}_{2}\left[x\right] \) איזומורפיים; כעת כל מה שהיה עלי לומר הוא “הם מרחבים וקטוריים מאותו מימד ולכן הם איזומורפיים”.
זה מעלה את השאלה - אם כל מרחב וקטורי ממימד סופי הוא בבסיסו \( \mathbb{F}^{n} \), למה בכלל לדבר על מרחבים אחרים? יש לכך שתי תשובות. הראשונה היא שלפעמים נקודת מבט שונה מספקת תובנות אחרות; אבל השניה והיותר קונקרטית היא שאלגברה לינארית היא לא רק תחום שמתעסק בעצמו; כל הרעיון הוא שאובייקטים רבים ושונים מתגלים בתור מרחבים וקטוריים. האובייקטים הללו לעתים נדירות כוללים רק חיבור וכפל בסקלר; לרוב יש להם מבנה נוסף, ואם נחשוב עליהם בתור \( \mathbb{F}^{n} \) ותו לא, המבנה הזה ילך לאיבוד. עם זאת, כשמתעסקים באלגברה לינארית נטו אני מוצא שאכן נוח לעתים קרובות לחשוב על המרחב הוקטורי הכללי שבו מתעסקים בתור \( \mathbb{F}^{n} \). שימו רק לב שכל זה תקף רק למרחבים ממימד סופי; מרחבים ממימד אינסופי הם סיפור שונה לגמרי.
כעת, בפוסט הקודם אמרתי שכל מטריצה \( A \) מסדר \( m\times n \) מגדירה טרנספורמציה לינארית \( T_{A}:\mathbb{F}^{n}\to\mathbb{F}^{m} \) שמוגדרת פשוט על ידי \( T_{A}\left(x\right)=Ax \), כש-\( x \) הוא וקטור של \( \mathbb{F}^{n} \) שמיוצג כוקטור עמודה. הפאנץ’ שנובע מהשימוש בוקטורי קואורדינטות הוא שכל טרנספורמציה לינארית בין שני מרחבים ממימד סופי ניתנת להצגה בתור \( T_{A} \) עבור \( A \) כלשהי. בואו ננסח את זה פורמלית: אם יש לנו טרנספורמציה לינארית \( T:V\to W \) ויש לנו בסיסים \( B=\left\{ b_{1},\dots,b_{n}\right\} \) של \( V \) ו-\( C=\left\{ c_{1},\dots,c_{m}\right\} \) של \( W \), אז קיימת מטריצה מסדר \( m\times n \) שמסומנת כ-\( \left[T\right]_{B}^{C} \) (“המטריצה המייצגת של \( T \) על פי הבסיסים \( B,C \)”) כך שמתקיים הקשר הפשוט אך המכריע
\( \left[T\right]_{B}^{C}\cdot\left[v\right]_{B}=\left[T\left(v\right)\right]_{C} \)
ובמילים - לכפול את \( \left[T\right]_{B}^{C} \) בוקטור הקואורדינטות של \( v \) על פי \( B \) ייתן לנו את וקטור הקואורדינטות של \( T\left(v\right) \) על פי \( C \). זה אומר שכל טרנספורמציה לינארית בין מרחבים ממימד סופי ניתן לראות ככפל של מטריצה בוקטור.
אלא שקורה כאן יותר מכך. טרנספורמציות לינאריות אפשר לחבר, ואפשר לכפול אותן בסקלר, ואפשר להרכיב אותן (הרכבה של שתי טרנספורמציות לינאריות היא הטרנספורמציה שמתקבל מכך שמפעילים אחת ואז את השניה). הפעולות הללו מתאימות לחיבור מטריצות, כפל מטריצה בסקלר, ו… כפל מטריצות. זו אולי הדוגמה המרכזית לשימושיות של כפל מטריצות - כפל מטריצות מתאים להרכבת הטרנספורמציות הלינאריות שהן מייצגות. זה אומר שטרנספורמציות ומטריצות הן אותו הדבר במובן עמוק יותר מאשר “שתיהן מהוות את אותו מרחב וקטורי” - גם הפעולות המורכבות יותר של הרכבה (אצל טרנספורמציות) וכפל (אצל מטריצות) הן זהות אצלן.
בואו נבין איך מוצאים את המטריצה המייצגת הזו ואיך מוכיחים שהיא באמת עושה את מה שאני מתיימר לטעון שהיא עושה. כמיטב מסורת האלגברה הלינארית, זו הוכחה ש”כותבת את עצמה” כמעט לגמרי - אנחנו מתחילים מדבר פשוט מאוד שחייב לקרות, וממנו הכל נובע באופן טבעי ופשוט.
אם כן, מה יש לנו? יש לנו טרנספורמציה \( T:V\to W \) ויש לנו בסיסים \( B \) ל-\( V \) ו-\( C \) ל-\( W \). אנחנו מחפשים את המטריצה \( \left[T\right]_{B}^{C} \). הדרך לחלץ אותה היא להבין איך היא חייבת לפעול על וקטורים פשוטים - וקשה למצוא וקטורים פשוטים יותר של קואורדינטות לפי הבסיס \( B \) מאשר וקטורי הקואורדינטות של אברי הבסיס \( B \): וקטור הקואורדינטות של האיבר \( b_{i} \) של הבסיס \( B \) הוא פשוט מאוד הוקטור שכולו אפסים פרט לכניסה במקום \( i \) שהיא 1, כי ההצגה היחידה של \( b_{i} \) כצירוף לינארי של אברי הבסיס היא \( b_{i} \) עצמו.
כעת, \( T\left(b_{i}\right) \)הוא איבר של \( W \) ולכן ניתן להצגה כצירוף לינארי של אברי \( C \), כלומר \( T\left(b_{i}\right)=\sum_{j=1}^{m}a_{ji}c_{j} \) כאשר \( a_{ji} \) הם סקלרים - \( a_{ji} \) הוא המקדם של הוקטור \( c_{j} \) בצירוף הלינארי שנותן את \( T\left(b_{i}\right) \). החלק ה”חישובי” כאן הוא למצוא את אותם \( a_{ji} \)-ים, וזה תלוי הן בטרנספורמציה \( T \) והן בבסיסים \( B,C \). לרוב הגיוני לבחור בסיסים שבהם החישוב יהיה יותר נוח; זה מוביל אותנו באופן טבעי לשאלה “מה הבסיסים שבהם הכי טוב לייצג טרנספורמציה \( T \)?” שנדבר עליה בהמשך.
מרגע שנמצאו ה-\( a_{ji} \)-ים הסיפור נגמר - המטריצה, באופן לא כל כך מפתיע, היא כזו שהכניסה ה-\( ji \) בה היא \( a_{ji} \). בואו נבין למה זה עובד: אם \( A \) היא המטריצה הנתונה ו-\( v_{i} \) הוא וקטור הקואורדינטות של איבר הבסיס \( b_{i} \), אז \( Av_{i} \) הוא וקטור עמודה מסדר \( m \), כך ש-\( \left[Av_{i}\right]_{j}=\sum_{k=1}^{n}a_{jk}\left[v_{i}\right]_{k}=a_{ji} \), כי כל האיברים בסכום מתאפסים למעט זה שמתאים לכניסה היחידה של \( v_{i} \) שאיננה אפס - הכניסה \( i \) עצמה. קיבלנו ש-\( \left[Av_{i}\right]_{j} \) הוא בדיוק המקדם ה-\( j \)-י של \( T\left(b_{i}\right) \) בוקטור הקואורדינטות שלו על פי \( C \), כפי שרצינו; זה אומר שלפחות על אברי \( B \) המטריצה המייצגת אכן עובדת היטב.
לכאורה עכשיו צריך לבצע את אותו חישוב עבור איבר כללי ולא רק איבר בסיס, אבל אין בכך שום צורך. הסיבה לכך היא שטרנספורמציה לינארית נקבעת באופן יחיד על ידי פעולת מקדמיה על אברי הבסיס, וזה אומר, בניסוח קצת שונה, שאם שתי טרנספורמציות לינאריות מזדהות בפעולה שלהן על אברי בסיס כלשהו, הן אותה הטרנספורמציה. לכן, מכיוון שהטרנספורמציה שמוגדרת על ידי המטריצה \( A \) מתנהגת על אברי \( B \) בדיוק כמו \( T \), הם בדיוק אותה הטרנספורמציה. סוף הסיפור.
אם לסכם באופן מילולי מה עושים בפועל: מחשבים את \( T\left(b_{i}\right) \) לכל איבר בסיס \( b_{i} \) ומציגים אותו כצירוף לינארי \( T\left(b_{i}\right)=\sum\lambda_{j}c_{j} \). לוקחים את וקטור הקואורדינטות של התוצאה, והוא יהיה העמודה ה-\( i \)-ית במטריצה \( \left[T\right]_{B}^{C} \). פשוט למדי.
כעת נותרה רק עוד טענה מרכזית אחת שציינתי ואני רוצה להוכיח. נניח ש-\( T:V\to W \) ו-\( S:W\to U \) הן שתי טרנספורמציות לינאריות. אפשר להרכיב אותן - להגדיר טרנספורמציה חדשה \( ST:V\to U \) שמוגדרת פשוט כ-\( ST\left(v\right)=S\left(T\left(v\right)\right) \) (הפעלה של \( T \) ואז הפעלה של \( S \) על התוצאה). אם \( B,C,D \) הם בסיסים של \( V,W,U \) בהתאמה, אז מתקיים:
\( \left[ST\right]_{B}^{D}=\left[S\right]_{C}^{D}\cdot\left[T\right]_{B}^{C} \)
כלומר, הרכבת טרנספורמציות וכפל מטריצות זה אותו הדבר. אפשר היה לחשוש שההוכחה כאן תהיה טכנית ומסובכת, אבל למעשה היא טריוויאלית: פשוט צריך לשים לב לכך שמתקיים:
\( \left[S\right]_{C}^{D}\cdot\left[T\right]_{B}^{C}\cdot\left[v\right]_{B}=\left[S\right]_{C}^{D}\left[T\left(v\right)\right]_{C}=\left[S\left(T\left(v\right)\right)\right]_{D}=\left[ST\left(v\right)\right]_{D} \)
כלומר, \( \left[S\right]_{C}^{D}\cdot\left[T\right]_{B}^{C} \) פועלת על \( \left[v\right]_{B} \) בדיוק כמו \( \left[ST\right]_{B}^{D} \), ולכן הן חייבות להיות אותה מטריצה (אם אתם עדיין לא משוכנעים שהן חייבות להיות זהות, נסו להוכיח פורמלית שלטרנספורמציה לינארית יש בדיוק מטריצה מייצגת אפשרית אחת לזוג בסיסים נתון). הסיבה שזה כל כך פשוט נובעת מכך שכפל מטריצות הוא אסוציאטיבי; זו טענה שדווקא דורשת הוכחה פורמלית ואני פשוט חמקתי ממנה (עם זאת, מעבר לכתיבה של סכום כפול אין שם שום דבר נורא).
יש משהו יפה בכך שמשפט שאומר משהו כל כך לא מובן מאליו במבט ראשון הוא כל כך פשוט להוכחה; זה מראה שהמשהו הלא מובן מאליו הוא בעצם כן מובן מאליו, אחרי שמבינים את המובן מאליו.
נהניתם? התעניינתם? אם תרצו, אתם מוזמנים לתת טיפ: