6.4

ערכים עצמיים ווקטורים עצמיים

האקספוננט של מטריצה

The Exponential of a Matrix

מגדירים e^(At) בעזרת טור החזקות כך שהוא פותר את בעיית ההתחלה גם כשאין בסיס עצמי מלא; לאחר מכן משווים בין הטור, הלכסון והמקרה החסר.

יחידת לימוד עצמאיתשיעור 4 מתוך 5כ־65 דקות כולל תרגול3 מטרות למידה
  1. 1
    נקודת פתיחהמה כבר ידוע ומה השאלה?
  2. 2
    ניבוימה יקרה במקרה הפשוט?
  3. 3
    המחשהמה באמת משתנה בתמונה?
  4. 4
    ניסוח והצדקהשם, נוסחה ולמה היא נכונה
  5. 5
    בדיקהדוגמה, תרגול ומשוב
  6. 6
    העברהמקרה חדש והמשך המסלול

שאלה לפני נוסחה

מה אנחנו מנסים לראות?

להגדיר ולחשב e^(At), להוכיח שהוא מעביר מצב התחלתי לפתרון של y′=Ay, ולבחור בין טור, לכסון ונוסחה למטריצה חסרה.

e^(At) היא מכונת ההתפתחות של המערכת: מכניסים מצב בזמן 0 ומקבלים את המצב בזמן t. כל עמודה שלה היא פתרון שמתחיל בווקטור בסיס אחר, ולכן אותה מטריצה פותרת בבת אחת את כל בעיות ההתחלה.

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

לראות לפני שמחשבים · המקרה הפשוט ביותר

מטריצה אחת שמעבירה כל מצב בזמן

האקספוננט המטריצי מתחיל בזהות, מקיים נגזרת Ae בחזקת At, ומעביר כל מצב התחלתי בזמןe^(At)=I+tA+t²A²/2!+⋯t=0e^(A0)=Iזמן tעמודות e^(At)כל עמודה פותרת y′=Ayy(t)=e^(At)y₀ · אותה מטריצה לכל y₀אם A=VΛV⁻¹, אז e^(At)=Ve^(Λt)V⁻¹הטור עובד גם כש־A אינה לכסינה
עקבו מהצורה הראשונית אל התוצאה

האיור מציג כיצד e^(At) שולחת שני וקטורי בסיס לעמודותיה, וכל תנאי התחלה נשלח באותו צירוף.

מה כדאי לגלות: ב־t=0 העמודות הן e₁,e₂ ולכן e^(A0)=I. במטריצה חסרה אחת העמודות מקבלת גם גורם t.

אחרי שראינו

בסוף השיעור תוכלו

  • להסביר מדוע טור החזקות של האקספוננט תקף למטריצה ומה מתקבל ב־t=0.
  • לגזור d(e^(At))/dt=Ae^(At) ולהשתמש ב־y(t)=e^(At)y₀.
  • לחשב אקספוננט במטריצה לכסינה, נילפוטנטית או חסרה ולהכיר את מגבלת e^(A+B).

נותנים שמות למה שראינו

מושגים שנשתמש בהם

אקספוננט מטריצי
הטור e^(At)=Σ(At)^k/k!, המוגדר לכל מטריצה ריבועית.
מטריצה יסודית
מטריצה Φ(t) שעמודותיה פתרונות בלתי תלויים ומקיימת Φ′=AΦ; כאן Φ=e^(At).
תכונת החבורה
e^(A(t+s))=e^(At)e^(As), המתארת התקדמות בזמן בשני שלבים.
מטריצה נילפוטנטית
מטריצה N שחזקה סופית שלה היא אפס, ולכן טור e^(Nt) נעצר.
קומוטטיביות
AB=BA; תנאי שמאפשר לפצל e^(A+B)=e^Ae^B.
trace
סכום איברי האלכסון; מתקיים det(e^(At))=e^(tr(A)t).

מהמילים אל הסימנים

כותבים את הפעולה שכבר ראינו

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

להצגת נוסחת המפתחקראו כל סימן כפעולה, לא כמשהו שצריך לשנןe^(At)=I+tA+t²A²/2!+⋯; y(t)=e^(At)y(0)

מרכיבים את הפעולות

מהתמונה אל הנוסחה — הגזירה, בלי לדלג על הצעדים

  1. מעתיקים את טור הסקלר

    מחליפים את המספר at במטריצה At ושומרים את סדר הכפל. מכיוון שכל האיברים הם חזקות של אותה A, אין כאן בעיית חילוף סדר.

    e^(At)=I+At+(At)²/2!+(At)³/3!+⋯
  2. בודקים את זמן האפס

    כאשר t=0 כל האיברים בעלי חזקה חיובית נעלמים ונשאר I. לכן כפל במצב ההתחלתי מחזיר אותו בדיוק.

    e^(A·0)=I ⇒ y(0)=Iy₀=y₀
  3. גוזרים איבר־איבר

    גזירת t^k/k! מורידה חזקה ומבטלת את k. לאחר הזזת האינדקס מתקבל A כפול הטור המקורי.

    d(e^(At))/dt=Ae^(At)=e^(At)A
  4. אורזים את בעיית ההתחלה

    אם y=e^(At)y₀, אז y′=Ae^(At)y₀=Ay ובזמן 0 מתקבל y₀. יחידות הפתרון מבטיחה שזהו הפתרון המבוקש.

    y(t)=e^(At)y₀
  5. מחשבים דרך לכסון

    כאשר A=VΛV⁻¹, כל חזקה בטור הופכת ל־VΛ^kV⁻¹. אפשר להוציא את V ו־V⁻¹ ולסכם את טורי הסקלרים שעל האלכסון.

    e^(At)=V diag(e^(λ₁t),…,e^(λₙt))V⁻¹
  6. כאשר הטור נעצר

    אם N²=0, כל החזקות מהשנייה והלאה נעלמות. ואם J=λI+N, שתי המטריצות מתחלפות ולכן אפשר להפריד את האקספוננטים.

    e^(Nt)=I+tN; e^(Jt)=e^(λt)(I+tN)
  7. נזהרים מחיבור מטריצות

    בסקלרים e^(a+b)=e^ae^b תמיד. במטריצות איברי הטור מתערבבים בסדרים AB ו־BA; הפיצול בטוח כאשר AB=BA.

    AB=BA ⇒ e^(A+B)=e^Ae^B

עכשיו רואים את השיטה בפעולה

דוגמאות פתורות, צעד אחר צעד

דוגמה 1

האקספוננט של דוגמת העוגן

חשבו e^(At) עבור A=[[3,1],[3,5]] מן הלכסון.

  1. משיעור 6.2:‏ V=[[1,1],[-1,3]],‏ Λ=diag(2,6),‏ V⁻¹=(1/4)[[3,−1],[1,1]].

  2. מחליפים את Λ ב־e^(Λt)=diag(e^(2t),e^(6t)).

  3. כופלים V e^(Λt)V⁻¹ ומקבלים רבע מן המטריצה [[3e^(2t)+e^(6t),−e^(2t)+e^(6t)], [−3e^(2t)+3e^(6t),e^(2t)+3e^(6t)]].

  4. ב־t=0 מתקבלת I. כפל ב־(2,2) מחזיר את פתרון העוגן מן השיעור הקודם.

התוצאה ומה היא אומרת

e^(At)=(1/4)[[3e^(2t)+e^(6t), −e^(2t)+e^(6t)], [−3e^(2t)+3e^(6t), e^(2t)+3e^(6t)]].

דוגמה 2

טור קצר במטריצה חסרה

חשבו e^(Jt) עבור J=[[1,1],[0,1]].

  1. כותבים J=I+N עם N=[[0,1],[0,0]] ו־N²=0.

  2. I ו־N מתחלפות, לכן e^(Jt)=e^(It)e^(Nt).

  3. e^(It)=e^tI, ואילו e^(Nt)=I+tN=[[1,t],[0,1]].

  4. לכן מופיע האיבר te^t, אף של־J יש רק הערך העצמי 1.

התוצאה ומה היא אומרת

e^(Jt)=e^t[[1,t],[0,1]].

איפה זה פוגש את העולם

יישום

בקרה, רשתות תגובה ומשוואות דיפרנציאליות לינאריות משתמשות ב־e^(At) כמפעיל מעבר מצב. לאחר שמחשבים אותו פעם אחת, אפשר להעביר כל מצב התחלתי ולחבר גם מקורות חיצוניים באמצעות אינטגרל תגובה.

מלכודת נפוצה

מה כדאי לבדוק

להניח ש־e^(A+B)=e^Ae^B בלי לבדוק AB=BA. זו זהות סקלרית שאינה עוברת אוטומטית למטריצות. בדיקה קצרה של שני המכפלות מונעת פירוק שגוי.

בודקים שהרעיון יושב

תרגול ומשוב

בדיקת הבנה

בחרו תשובה ורק אז בדקו את עצמכם

מתי e^(At)=I+tA בדיוק, ולא רק בקירוב לזמן קטן?

בחרו אחת מהאפשרויות כדי להמשיך.

עכשיו אתם

אתגר קצר

עבור A=[[0,−2],[2,0]], חשבו e^(At) מן הטור או מן הזהות A²=−4I, ופרשו את התוצאה גאומטרית.

רמז ראשון

הפרידו בטור בין חזקות זוגיות לאי־זוגיות. החזקות הזוגיות יוצרות cos(2t), והאי־זוגיות יוצרות sin(2t).

הצגת דרך הפתרון
  1. A²=−4I, ולכן A^(2k)=(−4)^kI ו־A^(2k+1)=(−4)^kA.
  2. סכום האיברים הזוגיים הוא cos(2t)I.
  3. סכום האיברים האי־זוגיים הוא (sin(2t)/2)A.
  4. לכן e^(At)=[[cos(2t),−sin(2t)],[sin(2t),cos(2t)]], סיבוב בזווית 2t.

מימוש הנושא

קוד שאפשר לקחת לניסוי

הקוד מיישם את אותו רעיון מתמטי. ב־JavaScript אפשר להריץ אותו כאן; גרסת Python זמינה להשוואה ולהעתקה.

הקשר למתמטיקה

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

פלט צפוי

ב־t=0 תתקבל I; עבור J=[[1,1],[0,1]] ו־t=0.5, הטור יתקרב ל־e^0.5[[1,0.5],[0,1]].

ניסוי המשך

הגדילו והקטינו את מספר איברי הטור. באילו ערכי t נדרשים יותר איברים כדי לשמור על אותה דיוק?

מהרעיון אל הקוד

מימוש חישובי

function matMul(A, B) {
  return A.map(row => B[0].map((_, j) =>
    row.reduce((sum, value, k) => sum+value*B[k][j], 0)));
}

function addScaled(A, B, scale) {
  return A.map((row, i) => row.map((value, j) => value+scale*B[i][j]));
}

function expSeries(A, t, terms=28) {
  let sum = [[1, 0], [0, 1]];
  let term = [[1, 0], [0, 1]];
  for (let k=1; k<terms; k++) {
    term = matMul(term, A);
    term = term.map(row => row.map(value => value*t/k));
    sum = addScaled(sum, term, 1);
  }
  return sum;
}

const J = [[1, 1], [0, 1]];
const t = 0.5;
const exact = Math.exp(t);
console.log("series", expSeries(J, t));
console.log("exact", [[exact, t*exact], [0, exact]]);
console.log("at zero", expSeries(J, 0));

לפני שממשיכים

מה לוקחים מהשיעור

  • טור החזקות מגדיר e^(At) גם כשאין לכסון.
  • e^(At) מתחיל ב־I, נגזרתו Ae^(At), והוא מעביר y₀ אל הפתרון בזמן t.
  • לכסון הופך את החישוב לאקספוננטים סקלריים; נילפוטנטיות יכולה לקצר את הטור.
  • פיצול אקספוננט של סכום דורש בדרך כלל שהמטריצות יתחלפו.

משימת מעבדה לשיעור הזה

תחנה 3 — e^(At) כמכונת זמן

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

לפתיחת התחנה
מקורות להעמקה בלבד — השיעור עומד בפני עצמו

מדריך המרצים: עמ׳ 179–184

ספר הלימוד: עמ׳ 362–371