מטריצות הפיכות, ומה שלדטרמיננטות יש לומר בעניין
בפוסט הקודם הצגתי את מושג הדטרמיננטה של מטריצה ריבועית \( A \), שסימנתי כ-\( \left|A\right| \). נתתי שלוש הגדרות שונות (אקסיומטית - הפונקציונל מולטי-לינארי על שורות \( A \) היחיד שהוא גם מתחלף ומחזיר 1 על מטריצת היחידה), ישירה (\( \left|A\right|=\sum_{\sigma}\mbox{sgn}\left(\sigma\right)\prod_{i=1}^{n}A_{i\sigma\left(i\right)} \)) ורקורסיבית, וכעת נותרה לי רק תכונה מרכזית אחת של הדטרמיננטה לתאר - היא כפלית, כלומר \( \left|AB\right|=\left|A\right|\left|B\right| \), כאשר \( A,B \) מטריצות ריבועיות מאותו סדר (יש גם נוסחה בשם “נוסחת קושי-בינה” שלא אציג שמכלילה את הנוסחה הזו למקרה שבו \( A,B \) אינן ריבועיות אך מכפלתן ריבועית). תכף אוכיח את התכונה אבל קודם כל בואו נשים לב למשהו מיידי שעולה ממנה.
אמרתי פעם ש-\( A \) היא מטריצה הפיכה אם קיימת מטריצה \( A^{-1} \) כך ש-\( AA^{-1}=A^{-1}A=I \), כאשר \( I \) היא מטריצת היחידה (המטריצה שבה אברי האלכסון הראשי הם 1 ושאר האיברים הם 0). מהכפליות נובע ש-\( 1=\left|I\right|=\left|AA^{-1}\right|=\left|A\right|\left|A^{-1}\right| \), כלומר \( \left|A^{-1}\right|=\left|A\right|^{-1} \). זה אומר, בפרט, שאם מטריצה היא הפיכה, אז הדטרמיננטה שלה שונה מאפס. גם ההפך נכון - הדטרמיננטה של מטריצה שאינה הפיכה היא בהכרח אפס - אבל בואו נוכיח את הכפליות של דטרמיננטה לפני שנדבר על כך.
על פניו נראה שההוכחה צריכה להיות טכנית להחריד, אבל התכונות היפות של הדטרמיננטה חוסכות לנו את רוב כאב הראש. אחת האבחנות שלנו בפוסט הקודם הייתה שכל פונקציה \( f \) שהיא מולטי-לינארית ומתחלפת (עם \( n \) משתנים שהם וקטורים ב-\( \mathbb{F}^{n} \)) נקבעת באופן יחיד על פי ערכה על וקטורי הבסיס הסטנדרטי, כלומר \( f\left(e_{1},\dots,e_{n}\right) \). קצר יותר קונקרטית, ראינו (אם כי לא הצגתי זאת כך) ש-\( f\left(v_{1},\dots,v_{n}\right)=\chi\left(v_{1},\dots,v_{n}\right)f\left(e_{1},\dots,e_{n}\right) \) כאשר \( \chi\left(v_{1},\dots,v_{n}\right) \) הוא איזה סקלר שמחושב מתוך \( v_{1},\dots,v_{n} \) באופן שאינו תלוי ב-\( f \) אלא רק באופן שבו \( v_{1},\dots,v_{n} \) מוצגים כצירופים לינאריים של אברי הבסיס הסטנדרטי. כעת, זכרו שהגדרנו דטרמיננטה בתור הפונקציה המולטי-לינארית המתחלפת שמחזירה 1 על וקטורי הבסיס הסטנדרטי, ולכן (אם מציבים \( f=\det \) בנוסחה שכתבתי לפני רגע) \( \det\left(v_{1},\dots,v_{n}\right)=\chi \). במילים אחרות, לכל פונקציה מולטי-לינארית מתחלפת \( f \), אנו רואים ש-\( f=f\left(e_{1},\dots,e_{n}\right)\cdot\det \). זה אומר ש-\( \det \) פורשת את מרחב הפונקציות המולטי-לינאריות המתחלפות, ומקל עלינו מאוד את הצעד הבא.
התעלול כעת הוא כדלהלן: אנו רוצים להוכיח כי \( \det AB=\det A\det B \). בואו נקבע את \( B \) ונגדיר פונקציונל מולטי-לינארי מתחלף \( f\left(v_{1},\dots,v_{n}\right)=\det\left(v_{1}B,\dots,v_{n}B\right) \) (\( v_{i}B \) מוגדר באמצעות כפל מטריצות רגיל - מכיוון שזה כפל של וקטור \( 1\times n \) במטריצה \( n\times n \) התוצאה היא שוב וקטור \( 1\times n \)). לא קשה לראות ש-\( f \) הזה הוא באמת מולטי-לינארי מתחלף - זה נובע מתכונות \( \det \) ומכך שכפל מטריצות הוא דיסטריביוטיבי. כעת, ראינו שכל פונקציונל מולטי-לינארי מתחלף הוא כפולה בסקלר של \( \det \), כלומר \( f\left(v_{1},\dots,v_{n}\right)=\det\left(v_{1},\dots,v_{n}\right)\cdot f\left(e_{1},\dots,e_{n}\right)=\det\left(v_{1},\dots,v_{n}\right)\det\left(e_{1}B,\dots,e_{n}B\right) \). כעת, מהו \( e_{i}B \)? לא קשה לראות מההגדרה שזוהי השורה ה-\( i \) של \( B \), ומכאן ש-\( \det\left(e_{1}B,\dots,e_{n}B\right)=\left|B\right| \). כל מה שנשאר לעשות הוא להציב ב-\( v_{1},\dots,v_{n} \) את שורות \( A \) ולשים לב לכך ש-\( v_{i}B \) הוא “השורה ה-\( i \) במטריצה \( AB \)”, וקיבלנו ש-\( \det AB=\det A\det B \).
עכשיו, בואו ניזכר רגע בדירוג מטריצות. אמרתי בשעתו שכל פעולה בדירוג - החלפה בין שורות, כפל שורה בסקלר או הוספת כפולה בסקלר של שורה אחת לשורה אחרת - ניתנת לתיאור באמצעות כפל במטריצה, וזוהי מטריצה הפיכה כי הפעולה הפיכה. אם \( A \) היא מטריצה שאחרי דירוג מתקבלת ממנה \( D \), זה אומר שקיימת \( E \) הפיכה כך ש-\( EA=D \). לכן גם \( \left|E\right|\left|A\right|=\left|D\right| \), ולכן אם \( \left|D\right|=0 \) נובע שבהכרח \( \left|A\right|=0 \) שכן \( \left|E\right|\ne0 \), בהיותה מטריצה הפיכה. במילים אחרות, כדי להראות שכל מטריצה לא הפיכה \( A \) היא בעלת דטרמיננטה אפס, מספיק להראות שאחרי דירוג אפשר להביא כל מטריצה ריבועית שאינה הפיכה למטריצה \( D \) שיש בה שורת אפסים; מטריצה כזו בהכרח מקיימת \( \left|D\right|=0 \) (דרך פשוטה לראות זאת - מפתחים את הדטרמיננטה לפי שורת האפסים, ומקבלים שהדטרמיננטה היא סכום של איברים מהצורה אפס-כפול-משהו).
הנימוק הוא פשוט ואלגנטי להפתיע. אנחנו יודעים שצורה מדורגת מצומצמת של מטריצה ריבועית יכולה להיות בדיוק אחד משניים: או מטריצת היחידה (1 על האלכסון הראשי ו-0 בכל מקום אחר) או מטריצה שכוללת שורות אפסים; זה נובע ישירות מההגדרה של מטריצה מצומצמת. אם אפשר לקבל מ-\( A \) את מטריצת היחידה לאחר דירוג, זה אומר ש-\( EA=I \) עבור \( E \) כלשהי, ועל ידי כפל ב-\( E^{-1} \) רואים ש-\( A=E^{-1} \), מה שאומר ש-\( A \) הפיכה וההופכית שלה היא \( E \) (נקודה עדינה - אנו משתמשים כאן בכך שידוע ש-\( E \) הפיכה; המשוואה \( EA=I \) לבדה לא מוכיחה ש-\( A \) הפיכה כי למטריצות עשוי להיות “הופכי חד צדדי”, כלומר בתיאוריה היה עשוי להתקיים ש-\( AE\ne I \) ואז \( A \) לא הייתה הפיכה).
אני רוצה לדבר עכשיו על מה שהיה עבורי הדבר הכי קשה לעיכול, טכנית, כשלמדתי אלגברה לינארית - המטריצה הצמודה של \( A \). למעשה, כבר כשמדברים על השם צריך להיזהר כי באלגברה לינארית השם הזה משמש לתיאור שתי מטריצות שונות לגמרי. בעברית קוראים לפעמים למטריצה שאדבר עליה עכשיו “מטריצה מצורפת” ובאנגלית קוראים לה Adjugate או classical adjoint. משסיימנו את ענייני הטרמינולוגיה, בפוסט הזה אני כן אדבר על מטריצה צמודה וחסל.
מטריצה צמודה מכלילה במובן מסויים את המושג של מטריצה הופכית גם עבור מטריצות שאינן הפיכות. איזה מובן? אם \( A \) היא מטריצה, אסמן את הצמודה שלה כ-\( \mbox{adj}A \). המשפט שאוכיח עכשיו (“כלל קרמר”) הוא ש-\( A\cdot\mbox{adj}A=\mbox{adj}A\cdot A=\left|A\right|I \). כלומר, אם \( A \) הפיכה אז \( A^{-1}=\frac{\mbox{adj}A}{\left|A\right|} \), ואם \( A \) לא הפיכה אז \( \mbox{adj}A \) מאפסת אותה.
משזה נאמר, ההגדרה של \( \mbox{adj}A \) היא לא הדבר הכי נעים בעולם ולא ברור כל כך איך הגיעו אליה (כנראה באמצעות הרבה חשיבה או הנדסה-לאחור של המשפט שאוכיח תכף). הכניסה ה-\( i,j \) של \( \mbox{adj}A \) שווה ל-\( \left(-1\right)^{i+j} \) כפול המינור ה-\( j,i \)-י של \( A \): \( \left[\mbox{adj}A\right]_{ij}=\left(-1\right)^{i+j}\left|A^{ji}\right| \). כזכור, המינור ה-\( j,i \)-י הוא מה שמקבלים מ-\( A \) כאשר מסירים את השורה ה-\( j \) ואת העמודה ה-\( i \) ולוקחים את הדטרמיננטה של היתר. שימו לב להיפוך שיש כאן - הכניסה בשורה ה-\( i \) והעמודה ה-\( j \) של הצמודה נקבעות על פי המינור של השורה ה-\( j \) והעמודה ה-\( i \).
טוב. אז איך נראה ש-\( A\cdot\mbox{adj}A=\left|A\right|I \)? בדם ואש, כמובן. אנחנו רוצים להראות ש-\( \left[A\cdot\mbox{adj}A\right]_{ij}=\left|A\right|\delta_{ij} \) (הדלתא של קרונקר - אפס או אחד, בהתאם לשאלה אם \( i\ne j \) או \( i=j \)). על פי ההגדרה, אנו יודעים ש:
\( \left[A\cdot\mbox{adj}A\right]_{ij}=\sum_{k=1}^{n}A_{ik}\left[\mbox{adj}A\right]_{kj}=\sum_{k=1}^{n}A_{ik}\left(-1\right)^{k+j}\left|A^{jk}\right| \)
אם \( i=j \), אז הנוסחה \( \sum_{k=1}^{n}A_{ik}\left(-1\right)^{k+i}\left|A^{ik}\right| \) היא בדיוק, אבל בדיוק, הנוסחה לפיתוח של \( \left|A\right| \) על פי השורה ה-\( i \). לכן אנו מקבלים \( \sum_{k=1}^{n}A_{ik}\left(-1\right)^{k+i}\left|A^{ik}\right|=\left|A\right| \) במקרה זה. נותר לטפל במקרה שבו \( i\ne j \). התעלול הוא כזה: בואו נדמיין מטריצה \( B \) שזהה ל-\( A \) בהכרח פרט לכך שהשורה ה-\( j \) שלה שווה לשורה ה-\( i \) שלה. שתי שורות שוות גוררות מייד \( \det B=0 \) (למה? ובכן, \( \det \) היא פונקציה מתחלפת וזו בדיוק ההגדרה של מתחלפת…), ואפשר לכתוב את הפיתוח של \( B \) לפי השורה ה-\( j \) ולקבל:
\( 0=\left|B\right|=\sum_{k=1}^{n}\left(-1\right)^{j+k}B_{jk}\left|B^{jk}\right| \)
רק מה, אם אנו מסירים מ-\( B \) את השורה ה-\( j \), אנו מקבלים מטריצה שזהה ל-\( A \), כלומר \( \left|B^{jk}\right|=\left|A^{jk}\right| \); ובגלל שהשורה ה-\( j \) של \( B \) היא בדיוק השורה ה-\( i \) של \( A \), הרי ש-\( B_{jk}=A_{ik} \). במילים אחרות -
\( 0=\sum_{k=1}^{n}\left(-1\right)^{j+k}B_{jk}\left|B^{jk}\right|=\sum_{k=1}^{n}\left(-1\right)^{j+k}A_{ik}\left|A^{jk}\right|=\left[A\cdot\mbox{adj}A\right]_{ij} \)
וזה מסיים את ההוכחה הזו (עדיין צריך להוכיח ש-\( \mbox{adj}A\cdot A=\left|A\right|I \) - הרעיון זהה).
על פניו, עושה רושם שנוסחת קרמר נותנת לנו דרך מצויינת לחשב את ההופכי של מטריצה. אבל בפועל זו דרך גרועה למדי כי חישוב של כל כניסה של \( \mbox{adj}A \) הוא תובעני - צריך לחשב דטרמיננטה. הדרך ה”נכונה” למצוא הופכי של מטריצה \( A \) הוא פשוט לדרג אותה: אם \( EA=I \) אז \( E \) היא בדיוק ההופכית המבוקשת. כשרוצים לחשב דבר כזה בפועל באופן ידני, מה שבדרך כלל עושים הוא לדרג את \( A \) ובו זמנית את אותן פעולות שמבצעים בדירוג של \( A \), לבצע על מטריצת היחידה \( I \) (כלומר - מתחילים כש-\( A \) ו-\( I \) כתובות האחת מעל השניה, ומתחילים לדרג את \( A \) שלמעלה כשכל פעולה שמבצעים מבוצעת גם על המטריצה שלמטה). עם זאת, עדיין יש יתרונות לשימוש ב-\( \mbox{adj} \) אם רוצים למצוא רק כניסה אחת מתוך המטריצה ההופכית (לפעמים זה כל מה שצריך) ובהקשרים תיאורטיים שונים ומשונים.
בפוסט הבא נתחיל לקצור את הפירות של מה שדיברנו עליו כאן, ונדבר על מושג הערכים העצמיים של מטריצות - מושג שהעיסוק בו ידרוש פחות או יותר את כל מה שלמדנו עד כה על אלגברה לינארית.
נהניתם? התעניינתם? אם תרצו, אתם מוזמנים לתת טיפ: