ערכים עצמיים ווקטורים עצמיים
לכסון, חזקות ומה עלול להיכשל
Diagonalizing a Matrix
אוספים בסיס של וקטורים עצמיים בעמודות V. בבסיס הזה A היא Λ, ולכן חזקות נעשות קלות; ערך עצמי כפול בלי מספיק כיוונים עצמיים מסביר מתי הלכסון נכשל.
- 1נקודת פתיחהמה כבר ידוע ומה השאלה?
- 2ניבוימה יקרה במקרה הפשוט?
- 3המחשהמה באמת משתנה בתמונה?
- 4ניסוח והצדקהשם, נוסחה ולמה היא נכונה
- 5בדיקהדוגמה, תרגול ומשוב
- 6העברהמקרה חדש והמשך המסלול
שאלה לפני נוסחה
מה אנחנו מנסים לראות?
להחליט אם מטריצה לכסינה, לבנות A=VΛV⁻¹, להשתמש בפירוק לחישוב חזקות, ולהבין מה חסר כאשר לערך עצמי כפול אין מספיק וקטורים עצמיים.
לכסון הוא החלפת שפה. בקואורדינטות הרגילות A מערבבת רכיבים; בקואורדינטות של הווקטורים העצמיים כל ציר פועל לבד. V מעביר מן הקואורדינטות העצמיות למרחב הרגיל, V⁻¹ מחזיר, ו־Λ מותחת כל ציר בלי ערבוב.
לפני ההמחשה: קראו רק את הכותרת “שלושה צעדים במקום ערבוב חוזר”. מה לדעתכם ישתנה, מה יישאר קבוע, ואיזה סימן בתמונה יוכל להפריך את הניבוי?
לראות לפני שמחשבים · המקרה הפשוט ביותר
שלושה צעדים במקום ערבוב חוזר
האיור עוקב אחרי x דרך V⁻¹, אחר כך Λⁿ ולבסוף V.
מה כדאי לגלות: רק באמצע — בבסיס העצמי — החזקה פועלת על כל רכיב בנפרד. סדר העמודות ב־V חייב להתאים לסדר הערכים ב־Λ.
אחרי שראינו
בסוף השיעור תוכלו
- לבנות את V ואת Λ בסדר עקבי ולבדוק AV=VΛ.
- לחשב Aⁿ באמצעות בסיס עצמי ולפרש כל רכיב כמצב עצמאי.
- להבחין בין ערך עצמי חוזר לבין מטריצה חסרה שאינה לכסינה.
נותנים שמות למה שראינו
מושגים שנשתמש בהם
- מטריצה לכסינה
- מטריצה שיש לה בסיס מלא של וקטורים עצמיים, ולכן אפשר לכתוב A=VΛV⁻¹.
- מטריצת הווקטורים V
- מטריצה שעמודותיה הן וקטורים עצמיים בלתי תלויים.
- מטריצה אלכסונית Λ
- מטריצה שעל האלכסון שלה הערכים העצמיים, באותו סדר כמו העמודות של V.
- קואורדינטות עצמיות
- המקדמים c בכתיבה x=Vc; כלומר c=V⁻¹x.
- מטריצה חסרה
- מטריצה שאין לה מספיק וקטורים עצמיים בלתי תלויים כדי ליצור בסיס.
- Cayley–Hamilton
- המשפט שלפיו כל מטריצה מקיימת את הפולינום האופייני של עצמה: p(A)=0.
מהמילים אל הסימנים
כותבים את הפעולה שכבר ראינו
פתחו את הנוסחה רק אחרי שאתם יכולים לומר במילים מה כל פעולה אמורה לעשות. בשלב הבא נצדיק אותה צעד אחר צעד.
להצגת נוסחת המפתח
קראו כל סימן כפעולה, לא כמשהו שצריך לשנןA=VΛV⁻¹ ⇒ Aⁿ=VΛⁿV⁻¹מרכיבים את הפעולות
מהתמונה אל הנוסחה — הגזירה, בלי לדלג על הצעדים
כותבים את כל משוואות הווקטורים יחד
אם עמודות V הן v₁,…,vₙ, אז העמודה ה־i של AV היא Avᵢ=λᵢvᵢ. לכן כל המשוואות נארזות בזהות אחת.
AV=VΛמשתמשים בהפיכות של V
כאשר הווקטורים העצמיים הם בסיס, V הפיכה. כפל מימין ב־V⁻¹ מעביר את הזהות לצורת הלכסון.
A=VΛV⁻¹עוצרים לחשוב: הסדר חשוב: VΛV⁻¹, לא V⁻¹ΛV.
מצמצמים בחזקות
ב־A² מופיע V⁻¹V=I באמצע. אותו צמצום חוזר בכל חזקה, ורק Λ מקבלת את החזקה n.
Aⁿ=VΛⁿV⁻¹=V diag(λ₁ⁿ,…,λₙⁿ)V⁻¹מפרקים וקטור לאופנים
לכל x יש מקדמים יחידים c=V⁻¹x. לאחר n צעדים כל מקדם מוכפל ב־λᵢⁿ, ולכן הערך העצמי בעל הגודל הגדול ביותר נוטה לשלוט.
x=Σcᵢvᵢ ⇒ Aⁿx=Σcᵢλᵢⁿvᵢבודקים אם יש מספיק עמודות
ספירת שורשים עם ריבוי אינה מספיקה. לכל λ הריבוי הגאומטרי dim Eλ אינו יכול לעלות על הריבוי האלגברי; לכסון אפשרי בדיוק כאשר סכום ממדי המרחבים העצמיים הוא n.
Σ dim Eλ = n ⇔ A לכסינהחלופה בלי לכסון מלא
Cayley–Hamilton מאפשר לצמצם חזקות גבוהות. בדוגמת העוגן p(λ)=λ²−8λ+12, ולכן A²=8A−12I וכל חזקה גבוהה היא צירוף של A ו־I.
p(A)=A²−8A+12I=0
עכשיו רואים את השיטה בפעולה
דוגמאות פתורות, צעד אחר צעד
לכסון דוגמת העוגן
בנו V, Λ ו־V⁻¹ עבור A=[[3,1],[3,5]], ואז חשבו Aⁿ(2,2).
מסדרים v₁=(1,−1), v₂=(1,3) בעמודות: V=[[1,1],[-1,3]].
באותו סדר מציבים Λ=diag(2,6). מאחר det(V)=4, מתקבל V⁻¹=(1/4)[[3,−1],[1,1]].
בודקים AV=VΛ: העמודות בשני הצדדים הן 2v₁ ו־6v₂.
מפרקים x=(2,2): c=V⁻¹x=(1,1).
לכן Aⁿx=2ⁿv₁+6ⁿv₂=(2ⁿ+6ⁿ,−2ⁿ+3·6ⁿ).
Aⁿ(2,2)=(2ⁿ+6ⁿ, −2ⁿ+3·6ⁿ).
Aⁿ=V diag(2ⁿ,6ⁿ)V⁻¹ערך כפול שאינו מספיק
האם J=[[1,1],[0,1]] לכסינה?
הפולינום הוא (1−λ)², ולכן λ=1 בריבוי אלגברי 2.
J−I=[[0,1],[0,0]], ולכן המרחב העצמי הוא span{(1,0)}.
ממד המרחב העצמי הוא 1 בלבד; אין וקטור עצמי שני בלתי תלוי.
לכן אי אפשר לבנות V הפיכה. בכל זאת J=I+N עם N²=0, ולכן Jⁿ=I+nN.
J אינה לכסינה, ו־Jⁿ=[[1,n],[0,1]].
איפה זה פוגש את העולם
יישום
באלגוריתם PageRank, בתהליכי מרקוב ובאיטרציות מספריות, החזקה Aⁿ מתארת צעדים חוזרים. הפירוק העצמי מסביר איזה דפוס נעלם, איזה נשמר ואיזה משתלט — ולעיתים חוסך אלפי כפלֵי מטריצות.
מלכודת נפוצה
מה כדאי לבדוק
לשים את הערכים ב־Λ בסדר שאינו תואם לעמודות V. אם העמודה הראשונה היא וקטור של λ=2, האיבר הראשון באלכסון חייב להיות 2. הבדיקה AV=VΛ חושפת מיד אי־התאמה.
בודקים שהרעיון יושב
תרגול ומשוב
בדיקת הבנה
בחרו תשובה ורק אז בדקו את עצמכם
בחרו אחת מהאפשרויות כדי להמשיך.
עכשיו אתם
אתגר קצר
עבור A=[[2,1],[0,3]] מצאו נוסחה מפורשת ל־Aⁿ, והשתמשו בה כדי לחשב A⁵ בלי כפל חוזר.
רמז ראשון
הערכים העצמיים הם 2 ו־3. אפשר לבחור v₂=(1,0) לערך 2 ו־v₃=(1,1) לערך 3, או להשתמש ב־Aⁿ=VΛⁿV⁻¹.
הצגת דרך הפתרון
- V=[[1,1],[0,1]], Λ=diag(2,3), V⁻¹=[[1,−1],[0,1]].
- הכפל נותן Aⁿ=[[2ⁿ,3ⁿ−2ⁿ],[0,3ⁿ]].
- עבור n=5 מתקבל A⁵=[[32,211],[0,243]].
- בדיקת Cayley–Hamilton: A²−5A+6I=0 מספקת אותה רקורסיה לחזקות.
מימוש הנושא
קוד שאפשר לקחת לניסוי
הקוד מיישם את אותו רעיון מתמטי. ב־JavaScript אפשר להריץ אותו כאן; גרסת Python זמינה להשוואה ולהעתקה.
הקוד מפרק וקטור בבסיס העצמי של דוגמת העוגן ומשווה בין הנוסחה המודאלית לבין כפל מטריצה מהיר בחזקה.
עבור n=3 ו־x=(2,2), שתי הדרכים יחזירו (224,640). במקרה החסר J⁵ יוחזר [[1,5],[0,1]].
שנו את x כך שלא יהיה לו רכיב בכיוון λ=6. כיצד משתנה קצב הגידול של Aⁿx?
מהרעיון אל הקוד
מימוש חישובי
function matVec(A, v) {
return A.map(row => row.reduce((sum, value, j) => sum+value*v[j], 0));
}
function matMul(A, B) {
return A.map(row => B[0].map((_, j) =>
row.reduce((sum, value, k) => sum+value*B[k][j], 0)));
}
function matrixPower(A, n) {
let result = [[1, 0], [0, 1]];
let factor = A.map(row => [...row]);
for (let k=n; k>0; k=Math.floor(k/2)) {
if (k%2) result = matMul(result, factor);
if (k>1) factor = matMul(factor, factor);
}
return result;
}
const A = [[3, 1], [3, 5]];
const n = 3;
const modal = [2**n+6**n, -(2**n)+3*6**n];
console.log("modal", modal);
console.log("power", matVec(matrixPower(A, n), [2, 2]));
console.log("defective J^5", matrixPower([[1, 1], [0, 1]], 5));def mat_vec(A, v):
return [sum(a*b for a, b in zip(row, v)) for row in A]
def mat_mul(A, B):
columns = list(zip(*B))
return [[sum(a*b for a, b in zip(row, column))
for column in columns] for row in A]
def matrix_power(A, n):
result = [[1, 0], [0, 1]]
factor = [row[:] for row in A]
while n:
if n % 2:
result = mat_mul(result, factor)
n //= 2
if n:
factor = mat_mul(factor, factor)
return result
A = [[3, 1], [3, 5]]
n = 3
modal = [2**n+6**n, -(2**n)+3*6**n]
print("modal", modal)
print("power", mat_vec(matrix_power(A, n), [2, 2]))
print("defective J^5", matrix_power([[1, 1], [0, 1]], 5))לפני שממשיכים
מה לוקחים מהשיעור
- לכסון הוא מעבר לבסיס שבו הפעולה אינה מערבבת קואורדינטות.
- A=VΛV⁻¹ אפשרי בדיוק כאשר יש בסיס מלא של וקטורים עצמיים.
- בחזקות, כל אופן מקבל λᵢⁿ; הגודל והסימן של λᵢ מסבירים את ההתנהגות ארוכת הטווח.
- ערך עצמי כפול אינו בעיה בפני עצמו; הבעיה היא מחסור בכיוונים עצמיים בלתי תלויים.
משימת מעבדה לשיעור הזה
תחנה 2 — לפתוח ולסגור את בסיס הווקטורים העצמיים
שנו את החזקה, עקבו אחרי המקדמים בבסיס העצמי והשוו למקרה החסר שבו אין V הפיכה.
מקורות להעמקה בלבד — השיעור עומד בפני עצמו
מדריך המרצים: עמ׳ 164–170
ספר הלימוד: עמ׳ 337–348