חזור לתיקייה: 02340125 - אלגוריתמים נומריים

5 - שיטות איטרטיביות

חיפוש בתיקיה
Ctrl K
לחץ כאן או הקש Ctrl K כדי לחפש בכל התיקיה
  • תהליכים איטרטיביים
  • נורמות של מטריצות
  • מציאת נורמה מושרית של מטריצה
  • הקשר בין נורמת פורביניוס לנורמה שראינו עכשיו
  • משפט הדיסקאות של גרשגורן
  • פתרון בעיות באמצעות אלגוריתמים איטרטיביים
  • פתרון מערכת משוואות Ax=b
  • אלגוריתם ג'קובי
  • הסתכלות אחרת על האלגוריתם
  • אלגוריתם גאוס-איידל
  • שימוש באלגוריתם למטריצות כלליות
  • פתרון בעיות ריבועים פחותים
  • אלגוריתם השיפוע המירבי
  • שיטה 1
  • שיטה 2
  • מוצאים את המקדם
  • עוד משחקים על המקדם
  • לאלגוריתם יש בעיה
  • פתרון בעיות ערכים עצמיים ווקטורים עצמיים
  • גרסאות לאלגוריתם
  • גרסת ההיפוך
  • גרסת ההזזה
  • מציאת כל הע"ע והו"ע

5 - שיטות איטרטיביות

02340125

אלגוריתמים נומריים

רשימות הרצאה לקריאה בשבת

שיטות איטרטיביות

הופק מתוך תקיית התואר של שקד

uni-folder.vercel.app

הבעיות שראינו עד כה, פירוק LU, פירוק SV ⁣DSV\!DSVD וכדומה, נהדרות כאשר אנו מדברים על גדלים סופיים וקטנים של מטריצות, אבל מה עם מטריצות בגודל 1000×10001000\times10001000×1000 או בגדלים השואפים ל-∞\infty∞? פה נדרש משהו חזק יותר.

בפרק זה נראה דרך לצמצם בעיות גדולות לבעיות קטנות יותר והכל דרך המשוואה u‾k+1=Au‾k\underline{u}_{k+1}=A\underline{u}_{k}u​k+1​=Au​k​ אשר מייד נראה כמה היא חזקה.
הרעיון בעצם בתהליכים איטרטיביים הוא לקחת איזושהי בעיה ולהתחיל מפתרון שרירותי מסויים ואז לדייק אותו קצת ואז לדייק אותו עוד קצת ואז עוד קצת וחוזר חלילה עד אשר אנו מגיעים לפתרון המדוייק.

תהליכים איטרטיביים

נסתכל על מערכת דינמית פשוטה המתחילה בוקטור u0u_{0}u0​ ומטריצה ריבועית בגודל n×nn\times nn×n בשם TTT. המערכת שלנו הינה:

u‾k=Tu‾k−1=T(Tu‾k−2)=T(T(Tu‾k−3))=⋯=Tku‾0\underline{u}_{k}=T\underline{u}_{k-1}=T(T\underline{u}_{k-2})=T(T(T\underline{u}_{k-3}))=\dots=T^k\underline{u}_{0}u​k​=Tu​k−1​=T(Tu​k−2​)=T(T(Tu​k−3​))=⋯=Tku​0​

נשים לב כי Tku‾0T^k\underline{u}_{0}Tku​0​ נותן לנו את u‾k\underline{u}_{k}u​k​.

נניח כעת כי TTT לכסינה, כלומר יש לה nnn ו"ע המהווים בסיס ולכן ניתן לכתוב כי T=VAV−1T=VAV^{-1}T=VAV−1. נציב את פירוק זה למערכת:

u‾k=Tku‾0=(VAV−1)ku‾0=VAkV−1u‾0\underline{u}_{k}=T^k\underline{u}_{0}=(VAV^{-1})^k\underline{u}_{0}=VA^kV^{-1}\underline{u}_{0}u​k​=Tku​0​=(VAV−1)ku​0​=VAkV−1u​0​

נסמן V−1u‾0=xu‾0V^{-1}\underline{u}_{0}=x\underline{u}_{0}V−1u​0​=xu​0​ ואז: u‾k=VAkx‾0\underline{u}_{k}=VA^k\underline{x}_{0}u​k​=VAkx​0​.

u‾k ⁣= ⁣VAkx‾0 ⁣= ⁣ ⁣(∣∣v‾1…v‾n∣∣) ⁣ ⁣ ⁣(λ1k0⋱0λnk) ⁣ ⁣ ⁣(x0(1)⋮x0(n)) ⁣ ⁣= ⁣ ⁣(∣∣v‾1…v‾n∣∣) ⁣ ⁣ ⁣(x0(1)λ1k⋮x0(n)λnk) ⁣ ⁣=∑j=1nx0(j)λjkv‾j\underline{u}_{k}\!=\!VA^k\underline{x}_{0}\!=\!\!\begin{pmatrix} \vert & & \vert \\ \underline{v}_{1} & \dots & \underline{v}_{n} \\ \vert & & \vert \end{pmatrix}\!\!\!\begin{pmatrix} \lambda_{1}^k & & 0 \\ & \ddots \\ 0 & & \lambda_{n}^k \end{pmatrix}\!\!\!\begin{pmatrix} x_{0}(1) \\ \vdots \\ x_{0}(n) \end{pmatrix}\!\!=\!\!\begin{pmatrix} \vert & & \vert \\ \underline{v}_{1} & \dots & \underline{v}_{n} \\ \vert & & \vert \end{pmatrix}\!\!\!\begin{pmatrix} x_{0}(1)\lambda_{1}^k \\ \vdots \\ x_{0}(n)\lambda_{n}^k \end{pmatrix}\!\!=\sum_{j=1}^n x_{0}(j)\lambda_{j}^k\underline{v}_{j}u​k​=VAkx​0​=​∣v​1​∣​…​∣v​n​∣​​​λ1k​0​⋱​0λnk​​​​x0​(1)⋮x0​(n)​​=​∣v​1​∣​…​∣v​n​∣​​​x0​(1)λ1k​⋮x0​(n)λnk​​​=j=1∑n​x0​(j)λjk​v​j​

נשים לב שההשפעה של kkk נמצאת רק בחזקה של ה-λ\lambdaλ-ים.
נשים לב כי אם כל הע"ע קטנים מ-111 אז מתקיים: u‾k→    k→∞    0‾\underline{u}_{k}\rarrowlim{k\to \infty} \underline{0}u​k​k→∞​0​. אנו נראה עניין מיוחד בזה בהמשך.

דוגמה

נניח ונתונים לנו: T=(0.30.10.10.3),    u‾0=(12)T=\begin{pmatrix}0.3 & 0.1 \\ 0.1 & 0.3\end{pmatrix},\;\;\underline{u}_{0}=\begin{pmatrix}1\\ 2\end{pmatrix}T=(0.30.1​0.10.3​),u​0​=(12​).
נרצה תחילה למצוא את הע"ע:

λ1=0.4v‾1=(11)∧λ2=0.2v‾2=(−11)\lambda_{1}=0.4 \quad \underline{v}_{1}=\begin{pmatrix} 1 \\ 1 \end{pmatrix} \qquad \land \qquad \lambda_{2}=0.2 \quad \underline{v}_{2}=\begin{pmatrix} -1 \\ 1 \end{pmatrix}λ1​=0.4v​1​=(11​)∧λ2​=0.2v​2​=(−11​)

אזי מתקיים:

Vx‾0=u‾0=(1−111)(x0(1)x0(2))=(12)  ⟹  (x0(1)x0(2))=12(31)V\underline{x}_{0}=\underline{u}_{0}=\begin{pmatrix} 1 & -1 \\ 1 & 1 \end{pmatrix}\begin{pmatrix} x_{0}(1) \\ x_{0}(2) \end{pmatrix}=\begin{pmatrix} 1 \\ 2 \end{pmatrix} \implies \begin{pmatrix} x_{0}(1) \\ x_{0}(2) \end{pmatrix}=\frac{1}{2}\begin{pmatrix} 3 \\ 1 \end{pmatrix}Vx​0​=u​0​=(11​−11​)(x0​(1)x0​(2)​)=(12​)⟹(x0​(1)x0​(2)​)=21​(31​)

ואז מתקיים:

u‾k=∑j=1nx0(j)λjkv‾j=32⋅0.4k(11)+12⋅0.2k(−11)=12(3⋅0.4k−0.2k3⋅0.4k+0.2k)→    k→∞    (0000)\underline{u}_{k}=\sum_{j=1}^n x_{0}(j)\lambda_{j}^k \underline{v}_{j}=\frac{3}{2}\cdot 0.4^k \begin{pmatrix} 1 \\ 1 \end{pmatrix}+\frac{1}{2}\cdot 0.2^k\begin{pmatrix} -1 \\ 1 \end{pmatrix}=\frac{1}{2}\begin{pmatrix} 3\cdot 0.4^k-0.2^k \\ 3\cdot 0.4^k+0.2^k \end{pmatrix} \rarrowlim{k\to \infty} \begin{pmatrix} 0 & 0 \\ 0 & 0 \end{pmatrix}u​k​=j=1∑n​x0​(j)λjk​v​j​=23​⋅0.4k(11​)+21​⋅0.2k(−11​)=21​(3⋅0.4k−0.2k3⋅0.4k+0.2k​)k→∞​(00​00​)
דוגמה

נסתכל על סדרת פיבונצי המוגדרת: fk+2=fk+1+fk,f1=f0=1f_{k+2}=f_{k+1}+f_{k}, \qquad \qquad f_{1}=f_{0}=1fk+2​=fk+1​+fk​,f1​=f0​=1.
נגדיר: u‾k=(fkfk+1)=(0111)(fk−1fk)=Tu‾k−1\underline{u}_{k}=\begin{pmatrix}f_{k} \\ f_{k+1}\end{pmatrix}=\begin{pmatrix}0 & 1 \\ 1 & 1\end{pmatrix}\begin{pmatrix}f_{k-1} \\ f_{k}\end{pmatrix}=T\underline{u}_{k-1}u​k​=(fk​fk+1​​)=(01​11​)(fk−1​fk​​)=Tu​k−1​. לכן, הפעם T=(0111),u‾0=(11)T=\begin{pmatrix}0 & 1\\1 & 1\end{pmatrix}, \underline{u}_{0}=\begin{pmatrix}1 \\ 1\end{pmatrix}T=(01​11​),u​0​=(11​).
נמצא את הע"ע: λ1=1.618,λ2=−0.618\lambda_{1}=1.618,\lambda_{2}=-0.618λ1​=1.618,λ2​=−0.618 ואז v‾1=(−λ21)∧v‾2=(−λ11)\underline{v}_{1}=\begin{pmatrix}-\lambda_{2} \\ 1\end{pmatrix}\land \underline{v}_{2}=\begin{pmatrix}-\lambda_{1} \\ 1\end{pmatrix}v​1​=(−λ2​1​)∧v​2​=(−λ1​1​) ואז נקבל:

Vx‾0=u‾0=(−λ2−λ111)(x0(1)x0(2))=(11)  ⟹  a=1.17b=−0.17(x0(1)x0(2))=(ab)V\underline{x}_{0}=\underline{u}_{0}=\begin{pmatrix} -\lambda_{2} & -\lambda_{1} \\ 1 & 1 \end{pmatrix}\begin{pmatrix} x_{0}(1) \\ x_{0}(2) \end{pmatrix}=\begin{pmatrix} 1 \\ 1 \end{pmatrix} \underset{\begin{matrix} a=1.17 \\ b=-0.17 \end{matrix}}{\implies} \begin{pmatrix} x_{0}(1) \\ x_{0}(2) \end{pmatrix}=\begin{pmatrix} a \\ b \end{pmatrix}Vx​0​=u​0​=(−λ2​1​−λ1​1​)(x0​(1)x0​(2)​)=(11​)a=1.17b=−0.17​⟹​(x0​(1)x0​(2)​)=(ab​)

ואז נקבל את הנוסחה הבאה:

u‾k=⋯=a(λ1)k(−λ21)+b(λ2)k(−λ21)\underline{u}_{k}=\dots=a(\lambda_{1})^k\begin{pmatrix} -\lambda_{2} \\ 1 \end{pmatrix}+b(\lambda_{2})^k\begin{pmatrix} -\lambda_{2} \\ 1 \end{pmatrix}u​k​=⋯=a(λ1​)k(−λ2​1​)+b(λ2​)k(−λ2​1​)

כלומר נקבל:

fk+1=aλ1k+bλ2kf_{k+1}=a\lambda_{1}^k+b\lambda_{2}^kfk+1​=aλ1k​+bλ2k​

וזוהי נוסחה סגורה עבור סדרת פיבונאצי.
האם היא מתכנסת? כמובן שלא, היא הולכת ל-∞\infty∞.

הגדרה 1 (מערכת יציבה אסימפטוטית)

מערכת דינמית מהצורה u‾k=Tu‾k−1=Tku‾0\underline{u}_{k}=T\underline{u}_{k-1}=T^k\underline{u}_0u​k​=Tu​k−1​=Tku​0​ תקרא יציבה אסימפטוטית אם מתקיים כי:

lim⁡k→∞u‾k=0\lim_{ k \to \infty } \underline{u}_{k}=0k→∞lim​u​k​=0

באופן דומה, נאמר כי המטריצה TTT יציבה אם מתקיים כי Tk→    k→∞    0T^k \rarrowlim{k\to \infty}0Tkk→∞​0.

הגדרה 2 (רדיוס ספקטרלי)

תהי TTT מטריצה כלשהי.
הרדיוס הספקטרלי שלה מוגדר כך:

ρ{T}=max⁡1≤k≤n∣λk∣=∣λ1∣\rho\left\{ T \right\}=\underset{1\leq k\leq n}{\max}|\lambda_{k}|=|\lambda_{1}|ρ{T}=1≤k≤nmax​∣λk​∣=∣λ1​∣

זהו בעצם הרדיוס של הדסקה שמרכזה בראשית הצירים והיא מכסה את כל הע"ע של המטריצה TTT.

משפט

תהי מערכת דינמית מהצורה u‾k=Tu‾k−1=Tku‾0\underline{u}_{k}=T\underline{u}_{k-1}=T^k\underline{u}_{0}u​k​=Tu​k−1​=Tku​0​ בה המטריצה TTT לכסינה.
המערכת תהיה יציבה אסימפטוטית אם מתקיים כי כל הע"ע בעלי גודל קטן ממש מ-111. כלומר:

∀j∈[1,n]:    ∣λj∣<1\forall j \in[1,n]:\;\; |\lambda_{j}|<1∀j∈[1,n]:∣λj​∣<1

הוכחה:
עבור מטריצות לכסינות מתקבל:

u‾k=VAkx‾0=∑j=1nx0(j)λjkv‾j\underline{u}_{k}=VA^k\underline{x}_{0}=\sum_{j=1}^n x_{0}(j)\lambda_{j}^k \underline{v}_{j}u​k​=VAkx​0​=j=1∑n​x0​(j)λjk​v​j​

נבדוק את נורמת הוקטור u‾k\underline{u}_{k}u​k​. אם היא מתכנסת לאפס, אז כל איברי הוקטור מתכנסים לאפס.

∥u‾k∥2=∥∑j=1nx0(j)λjkv‾j∥≤↓אי שוויון המשולש∑j=1n∥x0(j)λjkv‾j∥2=↓הומוגניות∑j=1n∣x0(j)λjk∣∥v‾j∥2\left\lVert \underline{u}_{k} \right\rVert _{2}=\left\lVert \sum_{j=1}^nx_{0}(j)\lambda_{j}^k \underline{v}_{j}\right\rVert \underset{\begin{matrix} \downarrow \\ \R{\text{אי שוויון המשולש}} \end{matrix}}{\leq} \sum_{j=1}^n \left\lVert x_{0}(j)\lambda_{j}^k\underline{v}_{j} \right\rVert_{2} \underset{\begin{matrix} \downarrow \\ \R{\text{הומוגניות}} \end{matrix}}{=}\sum_{j=1}^n |x_{0}(j)\lambda_{j}^k|\left\lVert \underline{v}_{j} \right\rVert _{2}∥u​k​∥2​=​j=1∑n​x0​(j)λjk​v​j​​↓אי שוויון המשולש​≤​j=1∑n​​x0​(j)λjk​v​j​​2​↓הומוגניות​=​j=1∑n​∣x0​(j)λjk​∣​v​j​​2​

ננרמל את הוקטורים העצמיים מבעוד מועד ונקבל:

∥u‾k∥2≤∑j=1n∣x0(j)∣⋅∣λj∣k≤∑j=1n∣x0(j)∣⋅∣λ1∣k≤p{T}k∑j=1n∣x0(j)∣=ρ{T}k∥x‾0∥1→    k→∞    0\left\lVert \underline{u}_{k} \right\rVert _{2}\leq \sum_{j=1}^n|x_{0}(j)|\cdot|\lambda_{j}|^k\leq \sum_{j=1}^n |x_{0}(j)|\cdot |\lambda_{1}|^k\leq p\left\{ T \right\}^k\sum_{j=1}^n |x_{0}(j)|=\rho\left\{ T \right\}^k\left\lVert \underline{x}_{0} \right\rVert _{1} \rarrowlim{k\to \infty} 0∥u​k​∥2​≤j=1∑n​∣x0​(j)∣⋅∣λj​∣k≤j=1∑n​∣x0​(j)∣⋅∣λ1​∣k≤p{T}kj=1∑n​∣x0​(j)∣=ρ{T}k∥x​0​∥1​k→∞​0

הערך העצמי המקסימלי, המיוצג ע"י הרדיוס הספקטרלי, קטן מ-1 ולכן בחזקה השואפת ל-∞\infty∞ הוא מתכנס ל-000.
∎

הערה

  • אנו חייבים לדרוש שכל הע"ע יהיו קטנים מ-111 כדי שזה יעבוד.
  • ניתן להגיד כי מתקיים בערך: u‾k=VAkx‾0=∑j=1nx0(j)λjkv‾j≈x0(1)λ1kv‾1\underline{u}_{k}=VA^k\underline{x}_{0}=\displaystyle\sum_{j=1}^n x_{0}(j)\lambda_{j}^k\underline{v}_{j}\approx x_{0}(1)\lambda_{1}^k\underline{v}_{1}u​k​=VAkx​0​=j=1∑n​x0​(j)λjk​v​j​≈x0​(1)λ1k​v​1​.
  • בהמשך להנ"ל, אם נקבע כי x0(1)=0x_{0}(1)=0x0​(1)=0 אזי נחשוב כי השפעתו של הע"ע הגדול תנוטרל, אך אין זה כך. שגיאות נומריות מזעריות יגרמו לע"ע זה לקחת שליטה בסופו של דבר על מלוא התהליך.

עד כה ראינו כי אם המערכת u‾k=Tku‾0\underline{u}_{k}=T^k\underline{u}_{0}u​k​=Tku​0​ פועלת ע"י מטריצה TTT לכסינה, הרדיוס הספקטרלי שלה p{T}p\left\{ T \right\}p{T} יקבע אם תחול התכנסות לאפס.
בדיקה זו היא מורכבת מאוד ומוגבלת למטריצות לכסינות בלבד, נרצה לראות משהו אחר, אשר יעבוד גם עבור מטריצות לא לכסינות. משהו שייצג איזשהו מרחק של מטריצות מהאפס. זה נשמע כמו נורמה, ולזה באמת יקראו נורמות של מטריצות.

נורמות של מטריצות

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

משפט

בהינתן כל שתי נורמות המוגדרות לוקטורים במימד nnn:

∥⋅∥B,∥⋅∥A\lVert \cdot \rVert_{B}, \quad \lVert \cdot\rVert_{A}∥⋅∥B​,∥⋅∥A​

המקיימות את האקסיומות הנדרשות, קיימים בהכרח שני קבועים 0<c1<c2<∞0<c_{1}<c_{2}<\infty0<c1​<c2​<∞ כך שמתקיים:

∀v‾∈Fn:    c1∥v‾∥A≤∥v‾∥B≤c2∥v‾∥A\forall \underline{v}\in \mathbb{F}^n:\;\; c_{1}\left\lVert \underline{v} \right\rVert _{A}\leq \left\lVert \underline{v} \right\rVert _{B}\leq c_{2}\left\lVert \underline{v} \right\rVert _{A}∀v​∈Fn:c1​∥v​∥A​≤∥v​∥B​≤c2​∥v​∥A​
מסקנה

∥v‾k∥A→    k→∞    0‾  ⟺  ∥v‾k∥B→    k→∞    0‾\left\lVert \underline{v}_{k} \right\rVert _{A} \rarrowlim{k\to \infty} \underline{0} \iff \left\lVert \underline{v}_{k} \right\rVert _{B} \rarrowlim{k\to \infty} \underline{0}∥v​k​∥A​k→∞​0​⟺∥v​k​∥B​k→∞​0​
הגדרה 3 (נורמה אופרטיבית(מושרית))

בהינתן הנורמה הוקטורית ∥⋅∥A\lVert \cdot\rVert_{A}∥⋅∥A​ לוקטורים ממימד nnn.
נגדיר את הנורמה האופרטיבית של המטריצה TTT בגודל n×nn\times nn×n ע"י

∥   ⁣ ⁣∣T∣   ⁣ ⁣∥A=max⁡v‾:  ∥v‾∥A=1∥Tv‾∥A=max⁡v‾≠0∥Tv‾∥A∥v‾∥A\lVvert T \rVvert _{A}=\underset{\underline{v}:\;\left\lVert \underline{v} \right\rVert_{A}=1 }{\max}\left\lVert T\underline{v} \right\rVert _{A}=\underset{\underline{v}\neq 0}{\max} \frac{\left\lVert T\underline{v} \right\rVert _{A}}{\left\lVert \underline{v} \right\rVert_{A} }∥∣T∣∥A​=v​:∥v​∥A​=1max​∥Tv​∥A​=v​=0max​∥v​∥A​∥Tv​∥A​​

הנורמה הזו קובעת את "אורך" המטריצה TTT ע"י מציאת שיעור ה"ניפוח" המירבי שלה.

הוכחה: (שזה נורמה)

  1. חיוביות:
    ∀v‾,  ∥Tv‾∥A≥0:     ∥   ⁣ ⁣∣T∣   ⁣ ⁣∥A=max⁡v‾:  ∥v‾∥A=1∥Tv‾∥A≥0\forall \underline{v},\; \left\lVert T\underline{v} \right\rVert _{A}\geq 0:\;\;\ \lVvert T \rVvert _{A}=\underset{\underline{v}:\;\left\lVert \underline{v} \right\rVert_{A}=1 }{\max} \left\lVert T\underline{v} \right\rVert _{A}\geq 0∀v​,∥Tv​∥A​≥0: ∥∣T∣∥A​=v​:∥v​∥A​=1max​∥Tv​∥A​≥0
    אם נניח כי ∥   ⁣ ⁣∣T∣   ⁣ ⁣∥A=0\lVvert T \rVvert_{A}=0∥∣T∣∥A​=0 אזי מתקיים כי:
    ∀v‾≠0,  ∥Tv‾∥A=0:    Tv‾=0‾\forall \underline{v} \neq 0,\; \left\lVert T\underline{v} \right\rVert _{A}=0:\;\; T\underline{v}=\underline{0}∀v​=0,∥Tv​∥A​=0:Tv​=0​
    זה מתקיים רק עבור T=0T=0T=0.

  2. הומוגניות:
    ∥   ⁣ ⁣∣αT∣   ⁣ ⁣∥A=max⁡v‾:  ∥v‾∥A=1∥αTv‾∥A=↓הומוגניותmax⁡v‾:  ∥v‾∥A=1∣α∣∥Tv‾∥A=∣α∣max⁡v‾:  ∥v‾∥A=1∥Tv‾∥A=∣α∣∥   ⁣ ⁣∣T∣   ⁣ ⁣∥A\lVvert \alpha T \rVvert _{A}=\underset{\underline{v}:\; \left\lVert \underline{v} \right\rVert_{A}=1 }{\max}\left\lVert \alpha T\underline{v} \right\rVert _{A} \underset{\begin{matrix} \downarrow \\ \R{\text{הומוגניות}} \end{matrix}}{=}\underset{\underline{v}:\;\left\lVert \underline{v} \right\rVert_{A}=1 }{\max}|\alpha|\left\lVert T\underline{v} \right\rVert _{A}=|\alpha|\underset{\underline{v}:\;\left\lVert \underline{v} \right\rVert_{A}=1 }{\max}\left\lVert T\underline{v} \right\rVert _{A}=|\alpha|\lVvert T \rVvert _{A}∥∣αT∣∥A​=v​:∥v​∥A​=1max​∥αTv​∥A​↓הומוגניות​=​v​:∥v​∥A​=1max​∣α∣∥Tv​∥A​=∣α∣v​:∥v​∥A​=1max​∥Tv​∥A​=∣α∣∥∣T∣∥A​

  3. אי שוויון המשולש:
    \begin{align*} \lVvert T_{1}+T_{2} \rVvert _{A}&=\underset{\underline{v}:\;\left\lVert \underline{v} \right\rVert_{A} }{\max}\left\lVert (T_{1}+T_{2})\underline{v} \right\rVert _{A}\leq \underset{\underline{v}:\; \left\lVert \underline{v} \right\rVert_{A}=1 }{\max}(\left\lVert T_{1}\underline{v} \right\rVert_{A}+\left\lVert T_{2}\underline{v} \right\rVert_{A} ) \\ &\leq \underset{\underline{v}:\; \left\lVert \underline{v} \right\rVert_{A}=1 }{\max}\left\lVert T_{1}\underline{v} \right\rVert _{A}+\underset{\underline{v}:\; \left\lVert \underline{v} \right\rVert_{A}=1 }{\max}\left\lVert T_{2}\underline{v} \right\rVert _{A}=\lVvert T_{1} \rVvert _{A}+\lVvert T_{2} \rVvert _{A} \end{align*}

    ולכן: ∥   ⁣ ⁣∣T1+T2∣   ⁣ ⁣∥A≤∥   ⁣ ⁣∣T1∣   ⁣ ⁣∥A+∥   ⁣ ⁣∣T2∣   ⁣ ⁣∥A\lVvert T_{1}+T_{2} \rVvert_{A}\leq \lVvert T_{1} \rVvert_{A}+\lVvert T_{2} \rVvert_{A}∥∣T1​+T2​∣∥A​≤∥∣T1​∣∥A​+∥∣T2​∣∥A​.
    ∎

משפט (תכונות הנורמה האופרטיבית)

תהי ∥⋅∥A\lVert \cdot \rVert_{A}∥⋅∥A​ נורמה ותהי ∥   ⁣ ⁣∣⋅∣   ⁣ ⁣∥A\lVvert \cdot \rVvert_{A}∥∣⋅∣∥A​ הנורמה האופרטיבית המושרת ממנה. אזי:

  1. ∀v‾∈Rn∧T∈Rn×n:    ∥Tv‾∥A≤∥   ⁣ ⁣∣T∣   ⁣ ⁣∥A∥v‾∥A\forall \underline{v}\in \mathbb{R}^n \land T \in \mathbb{R}^{n\times n}:\;\; \left\lVert T\underline{v} \right\rVert_{A}\leq \lVvert T \rVvert_{A}\left\lVert \underline{v} \right\rVert_{A}∀v​∈Rn∧T∈Rn×n:∥Tv​∥A​≤∥∣T∣∥A​∥v​∥A​
  2. ∀T1,T2∈Rn×n:    ∥   ⁣ ⁣∣T1T2∣   ⁣ ⁣∥A≤∥   ⁣ ⁣∣T1∣   ⁣ ⁣∥A∥   ⁣ ⁣∣T2∣   ⁣ ⁣∥A\forall T_{1},T_{2} \in \mathbb{R}^{n\times n}:\;\; \lVvert T_{1}T_{2} \rVvert_{A}\leq \lVvert T_{1} \rVvert_{A}\lVvert T_{2} \rVvert_{A}∀T1​,T2​∈Rn×n:∥∣T1​T2​∣∥A​≤∥∣T1​∣∥A​∥∣T2​∣∥A​
  3. ∀T∈Rn×n:    ∥   ⁣ ⁣∣Tk∣   ⁣ ⁣∥A≤∥   ⁣ ⁣∣T∣   ⁣ ⁣∥Ak\forall T \in \mathbb{R}^{n\times n}:\;\; \lVvert T^k \rVvert_{A}\leq \lVvert T \rVvert_{A}^k∀T∈Rn×n:∥∣Tk∣∥A​≤∥∣T∣∥Ak​
  4. ∀x‾1 עם הו"ע λ1 לכסינה בעלת ע"ע הגדול ביותר T∈Rn×n:    ρ{T}≤∥   ⁣ ⁣∣T∣   ⁣ ⁣∥A\forall \underline{x}_{1}\R{\text{ עם הו"ע }}\lambda_{1}\R{\text{ לכסינה בעלת ע"ע הגדול ביותר }}T \in \mathbb{R}^{n\times n}:\;\; \rho \left\{ T \right\}\leq \lVvert T \rVvert_{A}∀x​1​ עם הו"ע λ1​ לכסינה בעלת ע"ע הגדול ביותר T∈Rn×n:ρ{T}≤∥∣T∣∥A​

הוכחה:
סעיף 1:

∥Tv‾∥A=∥Tv‾∥A∥v‾∥A≤[max⁡v‾≠0∥Tv‾∥A∥v‾∥A‘]⋅∥v‾∥A=∥   ⁣ ⁣∣T∣   ⁣ ⁣∥A∥v‾∥A\left\lVert T\underline{v} \right\rVert _{A}=\frac{\left\lVert T\underline{v} \right\rVert_{A}}{\left\lVert \underline{v} \right\rVert_{A} }\leq \left[ \underset{\underline{v}\neq0}{\max} \frac{\left\lVert T\underline{v} \right\rVert_{A}}{\left\lVert \underline{v} \right\rVert_{A`} } \right]\cdot \left\lVert \underline{v} \right\rVert _{A}=\lVvert T \rVvert_{A}\left\lVert \underline{v} \right\rVert _{A}∥Tv​∥A​=∥v​∥A​∥Tv​∥A​​≤[v​=0max​∥v​∥A‘​∥Tv​∥A​​]⋅∥v​∥A​=∥∣T∣∥A​∥v​∥A​

סעיף 2:

∥   ⁣ ⁣∣T1T2∣   ⁣ ⁣∥A=max⁡v‾≠0∥T1T2v‾∥A∥v‾∥A≤↓(1)max⁡v‾≠0∥   ⁣ ⁣∣T1∣   ⁣ ⁣∥A∥T2v‾∥A∥v‾∥A=∥   ⁣ ⁣∣T1∣   ⁣ ⁣∥A∥   ⁣ ⁣∣T2∣   ⁣ ⁣∥A\lVvert T_{1}T_{2} \rVvert_{A}=\underset{\underline{v}\neq 0}{\max} \frac{\left\lVert T_{1}T_{2}\underline{v} \right\rVert_{A}}{\left\lVert \underline{v} \right\rVert_{A} }\underset{\begin{matrix} \downarrow \\ (1) \end{matrix}}{\leq} \underset{\underline{v}\neq 0}{\max} \frac{\lVvert T_{1} \rVvert_{A} \left\lVert T_{2}\underline{v} \right\rVert_{A}}{\left\lVert \underline{v} \right\rVert_{A} }=\lVvert T_{1} \rVvert_{A}\lVvert T_{2} \rVvert _{A}∥∣T1​T2​∣∥A​=v​=0max​∥v​∥A​∥T1​T2​v​∥A​​↓(1)​≤​v​=0max​∥v​∥A​∥∣T1​∣∥A​∥T2​v​∥A​​=∥∣T1​∣∥A​∥∣T2​∣∥A​

סעיף 3: מיידי מסעיף 2.
סעיף 4:

∥   ⁣ ⁣∣T∣   ⁣ ⁣∥A=max⁡v‾≠0∥Tv‾∥A∥v‾∥A≥∥Tx‾1∥A∥x‾1∥A=∥λx‾1∥A∥x‾1∥A=∣λ1∣=ρ(T)\lVvert T \rVvert_{A}=\underset{\underline{v}\neq 0}{\max} \frac{\left\lVert T\underline{v} \right\rVert_{A}}{\left\lVert \underline{v} \right\rVert_{A} }\geq \frac{\left\lVert T\underline{x}_{1} \right\rVert_{A}}{\left\lVert \underline{x}_{1} \right\rVert_{A} }= \frac{\left\lVert \lambda \underline{x}_{1} \right\rVert_{A}}{\left\lVert \underline{x}_{1} \right\rVert_{A} }=|\lambda_{1}|=\rho(T)∥∣T∣∥A​=v​=0max​∥v​∥A​∥Tv​∥A​​≥∥x​1​∥A​∥Tx​1​∥A​​=∥x​1​∥A​∥λx​1​∥A​​=∣λ1​∣=ρ(T)

∎

מסקנה (מסעיף 4)

אם ∥   ⁣ ⁣∣T∣   ⁣ ⁣∥A<1\lVvert T \rVvert_{A}<1∥∣T∣∥A​<1 אזי גם ρ{T}<1\rho \left\{ T \right\}<1ρ{T}<1.

נשים לב כי עבור המערכת הדינמית u‾k=Tku‾0\underline{u}_{k}=T^k\underline{u}_{0}u​k​=Tku​0​.

∥u‾k∥A=∥Tku‾0∥A≤∥   ⁣ ⁣∣Tk∣   ⁣ ⁣∥A∥u‾0∥A≤∥   ⁣ ⁣∣T∣   ⁣ ⁣∥Ak∥u‾0∥A\left\lVert \underline{u}_{k} \right\rVert_{A}=\left\lVert T^k\underline{u}_{0} \right\rVert_{A}\leq \lVvert T^k \rVvert_{A}\left\lVert \underline{u}_{0} \right\rVert_{A}\leq \lVvert T \rVvert_{A}^k \left\lVert \underline{u}_{0} \right\rVert _{A}∥u​k​∥A​=​Tku​0​​A​≤∥∣Tk∣∥A​∥u​0​∥A​≤∥∣T∣∥Ak​∥u​0​∥A​

עבור TTT המקיימת ∥   ⁣ ⁣∣T∣   ⁣ ⁣∥A<1\lVvert T \rVvert_{A}<1∥∣T∣∥A​<1 מתקיים:

∥u‾k∥A≤∥   ⁣ ⁣∣T∣   ⁣ ⁣∥k∥u‾0∥A→    k→∞    0\left\lVert \underline{u}_{k} \right\rVert_{A}\leq \lVvert T \rVvert ^k\left\lVert \underline{u}_{0} \right\rVert _{A} \rarrowlim{k\to \infty}0∥u​k​∥A​≤∥∣T∣∥k∥u​0​∥A​k→∞​0
משפט (מסקנה מסעיף 3)

עבור המערכת הדינמית u‾k=Tku‾0\underline{u}_{k}=T^k\underline{u}_{0}u​k​=Tku​0​ אם מתקיים כי ∥   ⁣ ⁣∣T∣   ⁣ ⁣∥A<1\lVvert T \rVvert_{A}<1∥∣T∣∥A​<1 עבור איזושהי נורמה ∥⋅∥A\lVert \cdot \rVert_{A}∥⋅∥A​ אזי המערכת מובטחת להתכנס אסימפטוטית.

הוכחה: ראו הנ"ל.

הערה

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

מציאת נורמה מושרית של מטריצה

אנו נתחיל עם נורמת ה-∞\infty∞ כדוגמה. (כאשר ∥v‾∥∞=max⁡1≤k≤n∣vk∣\left\lVert \underline{v} \right\rVert_{\infty}=\underset{1\leq k\leq n}{\max}|v_{k}|∥v​∥∞​=1≤k≤nmax​∣vk​∣)
נתייחס לוקטור Tv‾T\underline{v}Tv​:

∥Tv‾∥∞ ⁣ ⁣= ⁣max⁡k ⁣{∣∑j=1ntkjvj∣} ⁣≤ ⁣max⁡k ⁣{∑j=1n∣tkj∣⋅∣vj∣} ⁣ ⁣≤ ⁣max⁡k ⁣{∑j=1n∣tjk∣max⁡ℓ∣vj∣} ⁣ ⁣= ⁣max⁡k ⁣{∑j=1n∣tkj∣} ⁣∥v‾∥∞\left\lVert T\underline{v} \right\rVert_{\infty}\!\!=\!\underset{k}{\max}\!\left\{ \left| \sum_{j=1}^n t_{kj}v_{j} \right| \right\}\!\leq \!\underset{k}{\max}\!\left\{ \sum_{j=1}^n |t_{kj}|\cdot|v_{j}| \right\}\!\!\leq\! \underset{k}{\max}\!\left\{ \sum_{j=1}^n |t_{jk}|\underset{\ell}{\max}|v_{j}| \right\}\!\!=\!\underset{k}{\max}\!\left\{ \sum_{j=1}^n |t_{kj}| \right\}\!\left\lVert \underline{v} \right\rVert _{\infty}∥Tv​∥∞​=kmax​{​j=1∑n​tkj​vj​​}≤kmax​{j=1∑n​∣tkj​∣⋅∣vj​∣}≤kmax​{j=1∑n​∣tjk​∣ℓmax​∣vj​∣}=kmax​{j=1∑n​∣tkj​∣}∥v​∥∞​   ⟹  ∥Tv‾∥∞∥v‾∥∞≤max⁡k{∑j=1n∣tkj∣}\implies \frac{\left\lVert T\underline{v} \right\rVert_{\infty}}{\left\lVert \underline{v} \right\rVert_{\infty} }\leq \underset{k}{\max}\left\{ \sum_{j=1}^n |t_{kj}| \right\}⟹∥v​∥∞​∥Tv​∥∞​​≤kmax​{j=1∑n​∣tkj​∣}   ⟹  ∥   ⁣ ⁣∣T∣   ⁣ ⁣∥∞≤max⁡k{∑j=1n∣tkj∣}\implies \lVvert T \rVvert _{\infty}\leq \underset{k}{\max}\left\{ \sum_{j=1}^n |t_{kj}| \right\}⟹∥∣T∣∥∞​≤kmax​{j=1∑n​∣tkj​∣}

קיבלנו פה חסם עליון לנורמה. מתי זה יהיה שווה?
אם לכל TTT שייבחר, נוכל למצוא וקטור v‾∗\underline{v}^*v​∗ שיגרום לשוויון, בהכרח ביטוי זה הוא הנורמה: ∥Tv‾∗∥∞∥v‾∗∥∞=max⁡k{∑j=1n∣tkj∣}\displaystyle \frac{\left\lVert T\underline{v}^* \right\rVert_{\infty}}{\left\lVert \underline{v}^* \right\rVert_{\infty}}=\underset{k}{\max}\left\{ \sum_{j=1}^n |t_{kj}| \right\}∥v​∗∥∞​∥Tv​∗∥∞​​=kmax​{j=1∑n​∣tkj​∣}.
בואו נשתכנע(כי הוכחה זה מעל רמת הקורס הזה) שקיים וקטור שכזה:

  • נניח כי ביטוי משיג את שיאו עבור השורה הראשונה k=1k=1k=1, אזי נמצא וקטור v‾∗\underline{v}^*v​∗ מנורמל שאיברים הם ±1\pm 1±1 כשהסימנים תואמים את סימני איברי השורה. אזי נקבל:
    Tv‾=(t11t12t13⋯t1n⋮⋮⋮⋮tn1tn2tn3⋯tnm)(±1⋮±1)=(∑j=1n∣t1j∣⋮)T\underline{v}=\begin{pmatrix} t_{11} & t_{12} & t_{13} & \cdots & t_{1n} \\ \vdots & \vdots & \vdots & & \vdots \\ t_{n1} & t_{n2} & t_{n3} & \cdots & t_{nm} \end{pmatrix}\begin{pmatrix} \pm 1 \\ \vdots \\ \pm 1 \end{pmatrix}=\begin{pmatrix} \displaystyle\sum_{j=1}^n |t_{1j}| \\ \vdots \end{pmatrix}Tv​=​t11​⋮tn1​​t12​⋮tn2​​t13​⋮tn3​​⋯⋯​t1n​⋮tnm​​​​±1⋮±1​​=​j=1∑n​∣t1j​∣⋮​​
    ולכן:
מסקנה

∥   ⁣ ⁣∣T∣   ⁣ ⁣∥∞=max⁡k{∑j=1n∣tkj∣}\lVvert T \rVvert_{\infty}=\underset{k}{\max}\left\{ \sum_{j=1}^n |t_{kj}| \right\}∥∣T∣∥∞​=kmax​{j=1∑n​∣tkj​∣}

חישוב הנורמה ∥   ⁣ ⁣∣T∣   ⁣ ⁣∥1\lVvert T \rVvert_{1}∥∣T∣∥1​ נעשה בדרך כמעט אחד לאחד כמו נורמת ה-∞\infty∞ ולכן נדלג על הדוגמה.
נראה כעת מה קורה עם ∥   ⁣ ⁣∣T∣   ⁣ ⁣∥2\lVvert T \rVvert_{2}∥∣T∣∥2​:

∥   ⁣ ⁣∣T∣   ⁣ ⁣∥2=max⁡x≠0∥Tx‾∥2∥x‾∥2=max⁡x‾≠0∥UΣVtx‾∥2∥x‾∥2=↓תכונות מטריצה אורתונורמליתmax⁡x‾≠0∥ΣVtx‾∥2∥x‾∥2\lVvert T \rVvert_{2}=\underset{x\neq 0}{\max} \frac{\left\lVert T\underline{x} \right\rVert_{2}}{\left\lVert \underline{x} \right\rVert_{2} }=\underset{\underline{x}\neq 0}{\max} \frac{\left\lVert U\Sigma V^t\underline{x} \right\rVert_{2}}{\left\lVert \underline{x} \right\rVert_{2} } \underset{\begin{matrix} \downarrow \\ \R{\text{תכונות מטריצה אורתונורמלית}} \end{matrix}}{=}\underset{\underline{x}\neq 0}{\max} \frac{\left\lVert \Sigma V^t\underline{x} \right\rVert_{2}}{\left\lVert \underline{x} \right\rVert_{2} }∥∣T∣∥2​=x=0max​∥x​∥2​∥Tx​∥2​​=x​=0max​∥x​∥2​∥UΣVtx​∥2​​↓תכונות מטריצה אורתונורמלית​=​x​=0max​∥x​∥2​∥ΣVtx​∥2​​

נגדיר z‾=Vtx‾\underline{z}=V^t\underline{x}z​=Vtx​ ונקבל:

∥   ⁣ ⁣∣T∣   ⁣ ⁣∥2=max⁡z≠0∥Σz‾∥2∥Vz‾∥2=↓תכונות מטריצה אורתונורמליתmax⁡z≠0∥Σz‾∥2∥z‾∥2=max⁡z≠0∑k=1nσk2zk2∑k=1nzk2=σ1\lVvert T \rVvert_{2}=\underset{z\neq 0}{\max} \frac{\left\lVert \Sigma \underline{z} \right\rVert _{2}}{\left\lVert V\underline{z} \right\rVert_{2} } \underset{\begin{matrix} \downarrow \\ \R{\text{תכונות מטריצה אורתונורמלית}} \end{matrix}}{=}\underset{z\neq 0}{\max} \frac{\left\lVert \Sigma \underline{z} \right\rVert _{2}}{\left\lVert \underline{z} \right\rVert_{2} }=\underset{z\neq 0}{\max} \sqrt{ \frac{\displaystyle \sum_{k=1}^n \sigma_{k}^2z_{k}^2}{\displaystyle \sum_{k=1}^n z_{k}^2} }=\sigma_{1}∥∣T∣∥2​=z=0max​∥Vz​∥2​∥Σz​∥2​​↓תכונות מטריצה אורתונורמלית​=​z=0max​∥z​∥2​∥Σz​∥2​​=z=0max​k=1∑n​zk2​k=1∑n​σk2​zk2​​​=σ1​

גילינו כי נורמת השתיים המושרית של מטריצה הוא לא הע"ע אלא הערך הסינגולרי הכי גדול שלה.
לפי תכונות נורמה מושרית מתקיים כי ∣λ1∣≤σ1|\lambda_{1}|\leq \sigma_{1}∣λ1​∣≤σ1​.

הקשר בין נורמת פורביניוס לנורמה שראינו עכשיו

∥T∥F2=Tr{T2T}=Tr{VΣtUtUΣVt}=Tr{VΣtΣVt} ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣=↓Tr{AB}=Tr{BA} ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣Tr{VtVΣtΣ}=Tr{ΣtΣ}=∑k=1nσk2\left\lVert T \right\rVert_{F}^2=\mathrm{Tr}\left\{ T^2T \right\}=\mathrm{Tr}\left\{ V\Sigma^tU^tU\Sigma V^t \right\}=\mathrm{Tr}\left\{ V\Sigma^t\Sigma V^t \right\} \!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\underset{\begin{matrix} \downarrow \\ \mathrm{Tr}\left\{ AB \right\}=\mathrm{Tr}\left\{ BA \right\} \end{matrix}}{=}\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\mathrm{Tr}\left\{ V^tV\Sigma^t\Sigma \right\}=\mathrm{Tr}\left\{ \Sigma^t\Sigma \right\}=\sum_{k=1}^n \sigma_{k}^2∥T∥F2​=Tr{T2T}=Tr{VΣtUtUΣVt}=Tr{VΣtΣVt}↓Tr{AB}=Tr{BA}​=​Tr{VtVΣtΣ}=Tr{ΣtΣ}=k=1∑n​σk2​

לכן מתקיים כי:

∥T∥F≥σ1=∥   ⁣ ⁣∣T∣   ⁣ ⁣∥2\left\lVert T \right\rVert _{F}\geq \sigma_{1}=\lVvert T \rVvert _{2}∥T∥F​≥σ1​=∥∣T∣∥2​

משפט הדיסקאות של גרשגורן

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

משפט (גרשגורן)

למטריצה TTT ריבועית כלשהי בגודל n×nn\times nn×n נגדיר nnn דסקאות כך:

Dk={z∈C∣z−tkk∣≤∑j≠k∣tjk∣}D_{k}=\left\{ \begin{array}{c|c} z \in \mathbb{C} & \displaystyle |z-t_{kk}|\leq \sum_{j\neq k}^{\begin{matrix} \\ \end{matrix}}|t_{jk}| \end{array} \right\}Dk​=⎩⎨⎧​z∈C​∣z−tkk​∣≤j=k∑​​∣tjk​∣​⎭⎬⎫​

אזי, כל הע"ע של TTT מוכלים באיחוד של הדיסקאות הללו.

הערה

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

90%90\%90% מהוכחה:
נניח כי λ\lambdaλ הוא ע"ע של TTT עם ו"ע x‾\underline{x}x​ ולכן Tx‾=λx‾T\underline{x}=\lambda \underline{x}Tx​=λx​.
נניח כי האיבר הדומיננטי(הגדול בערכו המוחלט) ב-x‾\underline{x}x​ הוא x1x_{1}x1​.
נארגן מחדש את המשוואה הראשונה במערכת Tx‾=λx‾T\underline{x}=\lambda \underline{x}Tx​=λx​:

t11x1+∑j=2nt1jxj=λx1  ⟹  ∑j=2nt1jxj=(λ−t11)x1  ⟹  ∑j=2nt1jxjx1=(λ−t11)t_{11}x_{1}+\sum_{j=2}^n t_{1j}x_{j}=\lambda x_{1}\implies \sum_{j=2}^n t_{1j}x_{j}=(\lambda-t_{11})x_{1}\implies \sum_{j=2}^{n} t_{1j} \frac{x_{j}}{x_{1}}=(\lambda-t_{11})t11​x1​+j=2∑n​t1j​xj​=λx1​⟹j=2∑n​t1j​xj​=(λ−t11​)x1​⟹j=2∑n​t1j​x1​xj​​=(λ−t11​)

לכן נקבל:

∣λ−t11∣=∣∑j=2nt1jxjx1∣≤∑j=2n∣t1j∣⋅∣xjx1∣≤∑j=2n∣t1j∣|\lambda-t_{11}|=\left| \sum_{j=2}^n t_{1j} \frac{x_{j}}{x_{1}} \right|\leq \sum_{j=2}^n |t_{1j}|\cdot \left| \frac{x_{j}}{x_{1}} \right| \leq \sum_{j=2}^n |t_{1j}|∣λ−t11​∣=​j=2∑n​t1j​x1​xj​​​≤j=2∑n​∣t1j​∣⋅​x1​xj​​​≤j=2∑n​∣t1j​∣

מכיוון שאיננו יודעים באיזה אלמנט של x‾\underline{x}x​ מתקבל האיבר הדומיננטי, אנו "סורקים" על פני כל השורות.
∎

דוגמה

עבור המטריצה T=(40.40.210.920.3−0.7−0.20.110.511−0.43)T=\begin{pmatrix}4 & 0.4 & 0.2 & 1\\0.9 & 2 & 0.3 & -0.7\\-0.2 & 0.1 & 1 & 0.5 \\ 1 & 1 & -0.4 & 3\end{pmatrix}T=​40.9−0.21​0.420.11​0.20.31−0.4​1−0.70.53​​ נמצא את הטבעות:

D1={z∈C∣∣z−4∣≤1.6}D2={z∈C∣∣z−2∣≤1.9}D_{1}=\left\{ z \in \mathbb{C}| |z-4|\leq1.6 \right\} \quad D_{2}=\left\{ z \in \mathbb{C}| |z-2|\leq 1.9 \right\} D1​={z∈C∣∣z−4∣≤1.6}D2​={z∈C∣∣z−2∣≤1.9} D3={z∈C∣∣z−1∣≤0.8}D4={z∈C∣∣z−3∣≤2.4}D_{3}=\left\{ z \in \mathbb{C}| |z-1|\leq 0.8 \right\} \quad D_{4}=\left\{ z \in \mathbb{C}| |z-3|\leq 2.4 \right\}D3​={z∈C∣∣z−1∣≤0.8}D4​={z∈C∣∣z−3∣≤2.4}

הע"ע של TTT הינם: λ1=4.74,λ2=1.18,λ3=2.04+0.79i,λ4=2.04−0.79i\lambda_{1}=4.74,\lambda_{2}=1.18,\lambda_{3}=2.04+0.79i,\lambda_{4}=2.04-0.79iλ1​=4.74,λ2​=1.18,λ3​=2.04+0.79i,λ4​=2.04−0.79i.
נשים לב כי הם באמת בתוך הלולאות.

דוגמה

עבור המטריצה מהדוגמה הקודמת, מה צריך להיות aaa על מנת להבטיח את יציבותה של המטריצה aTaTaT?

a<1∣λ1∣=14.74a< \frac{1}{|\lambda_{1}|}=\frac{1}{4.74}a<∣λ1​∣1​=4.741​

ע"פ משפט גרשגורן, ניכר כי הנקודה הרחוקה ביותר מהראשית היא 5.65.65.6 ולכן, אם אנו לא יודעים את הע"ע נוכל לדרוש משהו חלש יותר: a<15.6a< \frac{1}{5.6}a<5.61​

הגדרה 4 (מטריצה דומיננטית באלכסון)

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

∀1≤k≤n:    ∣tkk∣>∑j≠k∣tkj∣\forall 1\leq k\leq n:\;\; |t_{kk}|> \sum_{j\neq k}\left|t_{kj}\right|∀1≤k≤n:∣tkk​∣>j=k∑​∣tkj​∣
מסקנה

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

מסקנה (מהמסקנה)

מטריצה דומיננטית באלכסון בהכרח הפיכה כי אפס לא יכול להיות ע"ע שלה.

פתרון בעיות באמצעות אלגוריתמים איטרטיביים

פתרון מערכת משוואות Ax=bAx=bAx=b

נקח AAA ריבועית והפיכה ונרצה לפתור את מערכת המשוואות Ax‾=b‾A\underline{x}=\underline{b}Ax​=b​.
הבעיה שלנו היא ש-AAA ענקית. כלומר, n≫1000n\gg 1000n≫1000 ולכן LU,QRLU,QRLU,QR או SVDSVDSVD לא יעבדו שכן לוקח להם יותר מידי זמן.
בנוסף, שיטות הפתרון הנ"ל מובילות לפתרון מדוייק ואנו סבבה עם להתפשר על פתרון "מספיק קרוב" שיושג עם מעט חישובים.

Proposition

  • בחר פתרון אתחול מסויים x‾0\underline{x}_{0}x​0​ (למשל 0‾\underline{0}0​)
  • עדכן פתרון זה באופן איטרטיבי ע"י הנוסחה x‾k+1=Tx‾k+c‾\underline{x}_{k+1}=T\underline{x}_{k}+\underline{c}x​k+1​=Tx​k​+c​.

כעת נגלה מהן T,cT,cT,c ולמה זה בכלל יעבוד?

מחד, בהנחה שחלה התכנסות, עבור k→∞k\to \inftyk→∞ נגיע לפתרון x‾∗\underline{x}^*x​∗ המקיים x‾∗=Tx‾∗+c‾\underline{x}^*=T\underline{x}^*+\underline{c}x​∗=Tx​∗+c​, מאידך, אנו רוצים שפתרון זה יהיה x‾∗=A−1b‾\underline{x}^*=A^{-1}\underline{b}x​∗=A−1b​.
לכן נקבל את הקשר:

(I−T)A−1b‾=c‾(I-T)A^{-1}\underline{b}=\underline{c}(I−T)A−1b​=c​
דוגמה

נבחר c‾=b‾\underline{c}=\underline{b}c​=b​ וכמו כן T=I−AT=I-AT=I−A.
ברור שהבחירה מקיימת את המשוואה ולכן x‾k+1=Tx‾k+c‾=(I−A)x‾k+b‾\underline{x}_{k+1}=T\underline{x}_{k}+\underline{c}=(I-A)\underline{x}_{k}+\underline{b}x​k+1​=Tx​k​+c​=(I−A)x​k​+b​.
אם אלגוריתם זה יתכנס, הוא ישאף לפתרון הנכון.

Proposition (לבחירה שיטתית)

נעביר את Ax‾A\underline{x}Ax​ אגף לקבלת 0‾=−Ax‾+b‾\underline{0}=-A\underline{x}+\underline{b}0​=−Ax​+b​. נוסיף x‾\underline{x}x​ לשני האגפים כעת: x‾=(I−A)x‾+b‾\underline{x}=(I-A)\underline{x}+\underline{b}x​=(I−A)x​+b​. נקבל אם כן:

x‾k+1=(I−A)x‾k+b‾\underline{x}_{k+1}=(I-A)\underline{x}_{k}+\underline{b}x​k+1​=(I−A)x​k​+b​

כעת אם האלגוריתם יתכנס הוא יגיע לפתרון הנכון.

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

כעת נרצה לדעת מה צריך לדרוש כדי שהמשוואה תתכנס:

  • אם התהליך יתכנס נקבל x‾∗=Tx‾∗+c‾\underline{x}^*=T\underline{x}^*+\underline{c}x​∗=Tx​∗+c​
  • נחסר את משוואה זו ונקבל: (x‾k+1−x‾∗)=T(x‾k−x‾∗)(\underline{x}_{k+1}-\underline{x}^*)=T(\underline{x}_{k}-\underline{x}^*)(x​k+1​−x​∗)=T(x​k​−x​∗)
  • נסמן e‾k=x‾k−x‾∗\underline{e}_{k}=\underline{x}_{k}-\underline{x}^*e​k​=x​k​−x​∗ ואז e‾k+1=Te‾k\underline{e}_{k+1}=T\underline{e}_{k}e​k+1​=Te​k​.
מסקנה

אם TTT יציבה, אזי התהליך יתכנס.

אלגוריתם ג'קובי

תהי AAA מטריצה.
את AAA ניתן תמיד לפצל לסכום מהתצורה A=L+D+UA=L+D+UA=L+D+U כאשר:

  • LLL - משולשת תחתונה ממש
  • UUU - משולשת עליונה ממש
  • DDD - אלכסונית
Ax‾=b‾  ⟹  (L+U+D)x‾=b‾  ⟹  Dx‾=b‾−(L+U)x‾  ⟹  x‾=D−1(b‾−(L+U)x‾)A\underline{x}=\underline{b}\implies (L+U+D)\underline{x}=\underline{b} \implies D\underline{x}=\underline{b}-(L+U)\underline{x}\implies \underline{x}=D^{-1}(\underline{b}-(L+U)\underline{x})Ax​=b​⟹(L+U+D)x​=b​⟹Dx​=b​−(L+U)x​⟹x​=D−1(b​−(L+U)x​)

נקבל אם כן כי:

x‾k+1=D−1(b‾−(L+U)x‾k)=D−1(b‾−(A−D)x‾k)=x‾k+D−1(b‾−Ax‾k)\underline{x}_{k+1}=D^{-1}(\underline{b}-(L+U)\underline{x}_{k})=D^{-1}(\underline{b}-(A-D)\underline{x}_{k})=\underline{x}_{k}+D^{-1}(\underline{b}-A\underline{x}_{k})x​k+1​=D−1(b​−(L+U)x​k​)=D−1(b​−(A−D)x​k​)=x​k​+D−1(b​−Ax​k​)

נשים לב כי זה ממש אלגנטי, אם b‾−Ax‾k=0\underline{b}-A\underline{x}_{k}=0b​−Ax​k​=0 המערכת בעצם אומרת לנו שהגענו לפתרון כי מנקודה זו מתקיים x‾k+1=x‾k\underline{x}_{k+1}=\underline{x}_{k}x​k+1​=x​k​.

הערה

אם יש אפסים באלכסון של DDD לא נוכל להרשות לעצמנו לבצע את האלגוריתם הזה.

מיהם {T,c‾}\left\{ T,\underline{c} \right\}{T,c​} בסיפור הזה והאם TTT יציבה?

x‾k+1=−D−1(L+U)⏟Tx‾k+D−1b‾⏟c‾\underline{x}_{k+1}=\underbrace{-D^{-1}(L+U)}_{T}\underline{x}_{k}+\underbrace{D^{-1}\underline{b}}_{\underline{c}}x​k+1​=T−D−1(L+U)​​x​k​+c​D−1b​​​
הערה

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

משפט (אלגוריתם JacobiJacobiJacobi)

x‾k+1=D−1(b‾−(L+U)x‾k)\underline{x}_{k+1}=D^{-1}(\underline{b}-(L+U)\underline{x}_{k})x​k+1​=D−1(b​−(L+U)x​k​)

מתכנס אסיפטוטית לפתרון מערכת המשוואות Ax‾=b‾A\underline{x}=\underline{b}Ax​=b​ אם AAA מטריצה דומיננטית באלכסון.

הוכחה:
עלינו להראות כי T=−D−1(L+U)T=-D^{-1}(L+U)T=−D−1(L+U) יציבה אם AAA דומיננטית באלכסון.
נסתכל על שורה kkk במטריצה TTT:

(−ak1akk−ak2akk⋯−ak(k−1)akk0−ak(k+1)akk⋯−ak(n−1)akk−aknakk)\begin{pmatrix} -\frac{a_{k1}}{a_{kk}} & -\frac{a_{k2}}{a_{kk}} & \cdots & -\frac{a_{k(k-1)}}{a_{kk}} & 0 & -\frac{a_{k(k+1)}}{a_{kk}} & \cdots & -\frac{a_{k(n-1)}}{a_{kk}} & -\frac{a_{kn}}{a_{kk}} \end{pmatrix}(−akk​ak1​​​−akk​ak2​​​⋯​−akk​ak(k−1)​​​0​−akk​ak(k+1)​​​⋯​−akk​ak(n−1)​​​−akk​akn​​​)

סכום הערכים המוחלטים של איברי שורה זו הואL

∣ak1∣+∣ak2∣+⋯+∣ak(k−1)∣+∣ak(k+1)∣+⋯+∣ak(n−1)∣+∣akn∣∣akk∣\frac{|a_{k1}|+|a_{k2}|+\dots+|a_{k(k-1)}|+|a_{k(k+1)}|+\dots+|a_{k(n-1)}|+|a_{kn}|}{|a_{kk}|}∣akk​∣∣ak1​∣+∣ak2​∣+⋯+∣ak(k−1)​∣+∣ak(k+1)​∣+⋯+∣ak(n−1)​∣+∣akn​∣​

בשל היות AAA דומיננטית באלכסון, מנה זו בהכרח קטנה מ-111 ולכן, מפאת העובדה שזה מתקיים לכל שורה, ∥   ⁣ ⁣∣T∣   ⁣ ⁣∥∞<1\lVvert T \rVvert_{\infty}<1∥∣T∣∥∞​<1 ולכן TTT יציבה.
∎

הסתכלות אחרת על האלגוריתם

נבצע מעבר אלגברי על המשוואה ונקבל:

Dx‾k+1+(L+U)x‾k=b‾D\underline{x}_{k+1}+(L+U)\underline{x}_{k}=\underline{b}Dx​k+1​+(L+U)x​k​=b​

בהינתן x‾k\underline{x}_{k}x​k​ באיטרציה ה-kkk המשוואה פועלת כך:

  • הקפא את כל איברי הפתרון למעט ה-jjj ועדכן אותו על מנת לקיים את המשוואה.
  • כל משוואה מעדכנת איבר אחד בפתרון.
  • צירוף מקבילי של כל אלה נותן את x‾k+1\underline{x}_{k+1}x​k+1​.

פה נשים לב למשהו מוזר, אם עדכנו כבר את jjj האיברים הראשונים, למה לא לנצל את ערכם העדכני בעדכון האיבר ה-j+1j+1j+1? את זה נפתור באמצעות האלגוריתם הבא:

אלגוריתם גאוס-איידל

נבנה משוואה איטרטיבית חדשה תוך שאנו מנצלים את הפירוק A=L+D+UA=L+D+UA=L+D+U בנוסף לאסטרטגיית נקודת השבת.

Ax‾=b‾  ⟹  (L+D+U)x‾=b‾  ⟹  (D+L)x‾=b‾−Ux‾  ⟹  x‾=(L+D)−1(b‾−Ux‾)A\underline{x}=\underline{b}\implies (L+D+U)\underline{x}=\underline{b}\implies (D+L)\underline{x}=\underline{b}-U\underline{x}\implies \underline{x}=(L+D)^{-1}(\underline{b}-U\underline{x})Ax​=b​⟹(L+D+U)x​=b​⟹(D+L)x​=b​−Ux​⟹x​=(L+D)−1(b​−Ux​) x‾k+1=(L+D)−1(b‾−Ux‾k+1)\underline{x}_{k+1}=(L+D)^{-1}(\underline{b}-U\underline{x}_{k+1})x​k+1​=(L+D)−1(b​−Ux​k+1​)

זהו אלגוריתם גאוס-איידל (באנגלית כותבים את השמות שלהם: Gauss−SeidelGauss-SeidelGauss−Seidel)

לכאורה עלינו להפוך כאן מטריצה, אך זה לא הסיפור - אנו בעצם יכולים לפתור את מערכת המשוואות (L+D)x‾k+1=b‾−Ux‾k(L+D)\underline{x}_{k+1}=\underline{b}-U\underline{x}_{k}(L+D)x​k+1​=b​−Ux​k​ מה שיעשה באמצעות החלפה קדמית, כאשר אנו מעדכנים את וקטור הפתרון איבר-איבר בצורה סדרתית.

נשים לב להבדל משמעותי מהאלגוריתם הקודם שכן פה, בהינתן x‾k\underline{x}_{k}x​k​ באיטרציה ה-kkk, המשוואה פועלת הפעם כך:

  • הקפא את כל איברי הפתרון למעט ה-jjj ועדכן אותו.

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

משפט (אלגוריתם Gauss−SeidelGauss-SeidelGauss−Seidel)

x‾k+1=(L+D)−1(b‾−Ux‾k)\underline{x}_{k+1}=(L+D)^{-1}(\underline{b}-U\underline{x}_{k})x​k+1​=(L+D)−1(b​−Ux​k​)

מתכנס לפתרון מערכת משוואות Ax‾=b‾A\underline{x}=\underline{b}Ax​=b​ אם AAA מטריצה סימטרית וחיובית מוגדרת, או דומיננטית באלכסון.

ההוכחה מורכבת מעט ולכן לא בקורס הזה.

הערה

ישנו אלגוריתם נוסף הנקרא SORSORSOR והוא

x‾k+1=(L+αD)−1(b‾−((1−α)D+U)x‾k)\underline{x}_{k+1}=(L+\alpha D)^{-1}(\underline{b}-((1-\alpha)D+U)\underline{x}_{k})x​k+1​=(L+αD)−1(b​−((1−α)D+U)x​k​)

עבור α=1\alpha=1α=1 אלגוריתם זה מתלכד עם גאוס-איידל.
בדרך כלל נבחר את α\alphaα עם ערך גדול מ-111 על מנת לסחוט התכנסות מהירה יותר.

שימוש באלגוריתם למטריצות כלליות

אם היינו רוצים לפתור מערכת משוואות עם מטריצה כללית AAA, אז על מנת להפוך אותה לחיובית מוגדרת נכפיל ב-AtA^tAt ונקבל:

AtAx‾=Atb‾A^tA\underline{x}=A^t\underline{b}AtAx​=Atb​

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

פתרון בעיות ריבועים פחותים

נסתכל על בעית ריבועים פחותים כללית כאשר אנו מניחים שלה יש פתרון יחיד:

min⁡x‾12∥Ax‾−b‾∥22=min⁡x‾12x‾tKx‾−x‾tf‾+c\underset{\underline{x}}{\min} \frac{1}{2}\left\lVert A\underline{x}-\underline{b} \right\rVert _{2}^2=\underset{\underline{x}}{\min} \frac{1}{2}\underline{x}^tK\underline{x}-\underline{x}^t\underline{f}+cx​min​21​∥Ax​−b​∥22​=x​min​21​x​tKx​−x​tf​+c

אנו יודעים כי הפתרון לבעיה זו עד כה היה:

AtAx‾=Atb‾∨Kx‾=f‾A^tA\underline{x}=A^t\underline{b} \qquad \lor \qquad K\underline{x}=\underline{f}AtAx​=Atb​∨Kx​=f​

אנו טכנית יכולים לחשב את המטריצה K=AtAK=A^tAK=AtA ואז לבצע את גאוס איידל אך זה לא פתרון טוב שכן הכפלת מטריצות בגדלים העצומים הללו היא פעולה שלוקחת מלאאאאאא זמן.

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

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

שיטה 1

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

AtAx‾=Atb‾  ⟹  μ≠00‾=μ(Atb‾−AtAx‾)  ⟹  x‾=x‾+μAt(b‾−Ax‾)A^tA\underline{x}=A^t\underline{b} \underset{\mu\neq 0}{\implies} \underline{0}=\mu(A^t\underline{b}-A^tA\underline{x}) \implies \underline{x}=\underline{x}+\mu A^t(\underline{b}-A\underline{x})AtAx​=Atb​μ=0⟹​0​=μ(Atb​−AtAx​)⟹x​=x​+μAt(b​−Ax​) ⇓\Downarrow⇓ x‾k+1=x‾k+μAt(b‾−Ax‾k)=(I−μAtA⏟T)x‾k+μAtb‾\underline{x}_{k+1}=\underline{x}_{k}+\mu A^t(\underline{b}-A\underline{x}_{k})=(\underbrace{I-\mu A^tA}_{T})\underline{x}_{k}+\mu A^t\underline{b}x​k+1​=x​k​+μAt(b​−Ax​k​)=(TI−μAtA​​)x​k​+μAtb​

נשים לב כי נדרש כי TTT שלנו תהיה יציבה, כלומר, ש-I−μAtAI-\mu A^tAI−μAtA תהיה יציבה על מנת שהאלגוריתם יתכנס.
נשים לב בנוסף כי במטריצה הזו יש לנו פרמטר μ\muμ שנוכל לשחק איתו ובכך אולי להשיג מטריצות יציבות.

שיטה 2

נזכר כי גרדיאנט של פונקציה מצביע בכיוון העליה המירבית, כלומר, השיפוע הגדול ביותר, לכן, אם נלך בכיוון ההפוך נגיע לירידה המירבית, שהיא מה שאנו רוצים לבעיית min⁡\minmin.
ראינו בפרק על ריבועים פחותים מהיא הנגזרת של הבעיה:

f(x‾)=12∥Ax‾−b‾∥22  ⟹  ∇f(x‾)=At(Ax‾−b‾)f(\underline{x})=\frac{1}{2}\left\lVert A\underline{x}-\underline{b} \right\rVert _{2}^2\implies \nabla f(\underline{x})=A^t(A\underline{x}-\underline{b})f(x​)=21​∥Ax​−b​∥22​⟹∇f(x​)=At(Ax​−b​)

בכל איטרציה, כשאנו בנקודה x‾k\underline{x}_{k}x​k​, נחשב את הגרדיאנט של f(x)f(x)f(x) בנקודה זו, ונלך בכיוון ההפוך לכיוונו כך:

x‾k+1=x‾k−μAt(Ax‾k−b‾)\underline{x}_{k+1}=\underline{x}_{k}-\mu A^t(A\underline{x}_{k}-\underline{b})x​k+1​=x​k​−μAt(Ax​k​−b​)

המקדם μ\muμ נחוץ כי אנו צריכים לקבוע איזו כברת דרך לעשות בכיוון הנבחר.

מוצאים את המקדם

בשתי השיטות הגענו בסוף לאותה המשוואה בעלת המקדם μ\muμ. נרצה למצוא אותו כך שהמטריצה T=I−μAtAT=I-\mu A^tAT=I−μAtA תהיה יציבה.
נשים לב כי AtAA^tAAtA חיובית מוגדרת ולכן יש לה nnn ע"ע ממשיים וחיוביים.
נקח λ\lambdaλ שהינו ע"ע של AtAA^tAAtA עם ו"ע התואם לו v‾\underline{v}v​ ונקבל:

AtAv‾=λv‾  ⟹  −μAtAv‾=−μλv‾  ⟹  Iv‾−μAtAv‾=v‾−μλv‾  ⟹  (I−μATA)v‾=(1−μλ)v‾A^tA\underline{v}=\lambda \underline{v}\implies -\mu A^tA\underline{v}=-\mu\lambda \underline{v}\implies I\underline{v}-\mu A^tA\underline{v}=\underline{v}-\mu\lambda \underline{v}\implies (I-\mu A^TA)\underline{v}=(1-\mu\lambda)\underline{v}AtAv​=λv​⟹−μAtAv​=−μλv​⟹Iv​−μAtAv​=v​−μλv​⟹(I−μATA)v​=(1−μλ)v​

קיבלנו אם כן כי 1−μλ1-\mu\lambda1−μλ הוא ע"ע של TTT עם אותו ו"ע.

מסקנה

עבור הע"ע של AtAA^tAAtA המסומנים λ1≥λ2≥⋯≥λn−1≥λn>0\lambda_{1}\geq\lambda_{2}\geq\dots\geq\lambda_{n-1}\geq\lambda_{n}>0λ1​≥λ2​≥⋯≥λn−1​≥λn​>0 נקבל כי לכל 1≤k≤n1\leq k\leq n1≤k≤n הערך (1−μλk)(1-\mu\lambda_{k})(1−μλk​) הוא ע"ע של T=I−μAtAT=I-\mu A^tAT=I−μAtA.

מסקנה (מהמסקנה)

כדי ש-TTT תהיה יציבה, עלינו לדרוש:

g(μ)=max⁡1≤k≤n∣1−μλk∣<1g(\mu)=\underset{1\leq k\leq n}{\max} |1-\mu\lambda_{k}|< 1g(μ)=1≤k≤nmax​∣1−μλk​∣<1

מה שראינו פה זה פונקציה, לכן, נוכל לחקור אותה ולהגיע לפתרון. נסתכל על גרף הפונקציה:
​5 - שיטות איטרטיביות 2026-07-02 10.20.03.excalidraw.svg

כעת, נוכל לקחת את המקסימום של כל חלק וזו תהיה g(μ)g(\mu)g(μ) שלנו:
​5 - שיטות איטרטיביות 2026-07-02 10.24.47.excalidraw.svg
כעת, ברור כי על מנת להבטיח התכנסות אנו חייבים לדרוש כי:

0<μ<2λ10<\mu< \frac{2}{\lambda_{1}}0<μ<λ1​2​

כעת, לאחר שהגדרנו גבולות ברורים למקדם, אנו נרצה למצוא את המקדם האופטימלי, זה שיביא לנו את ההתכנסות הכי מהירה ⟸ הוא נקודת המינימום של g(μ)g(\mu)g(μ) שראינו בגרף הנ"ל.
על מנת למצוא את הנקודה הזו, נמצא את נקודת החיתוך בין הגרפים הירוק והצהוב:

1−μλn=μλ1−11-\mu\lambda_{n}=\mu\lambda_{1}-11−μλn​=μλ1​−1 2=μ(λ1+λn)2=\mu(\lambda_{1}+\lambda_{n})2=μ(λ1​+λn​)

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

g(2λ1+λn)=λ1−λnλ1+λn=κ{AtA}−1κ{AtA}+1=p{T}g\left( \frac{2}{\lambda_{1}+\lambda_{n}} \right)=\frac{\lambda_{1}-\lambda_{n}}{\lambda_{1}+\lambda_{n}}=\frac{\kappa \left\{ A^tA \right\}-1}{\kappa \left\{ A^tA \right\}+1}=p\left\{ T \right\}g(λ1​+λn​2​)=λ1​+λn​λ1​−λn​​=κ{AtA}+1κ{AtA}−1​=p{T}

אנו רואים כי אשר מפר המצב של AtAA^tAAtA גבוה, ההתכנסות תהיה איטית.

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

עד כה הנחנו כי עלינו לבחור μ\muμ קבוע לכל אורכו של התהליך. מה אם נשנה אותו מאיטרציה לאיטרציה?
נבצע איזשהו אלגוריתם לו נקרא חיפוש על ישר אשר יביא לנו בכל איטרציה את הערך האופטימלי עבור μ\muμ שיסחט את המירב מהאיטרציה במובן של הורדת גובהה של הפונקציה באופן מירבי.

נסתכל על השיטה:

  • נניח כי עתה סיימנו את האיטרציה ה-kkk ובידינו הפתרון הזמני x‾k\underline{x}_{k}x​k​.
  • באיטרציה הבאה אנו נפעל לפי העדכון הבא:
    x‾k+1=x‾k−μAt(Ax‾k−b‾)=x‾k−μe‾k\underline{x}_{k+1}=\underline{x}_{k}-\mu A^t(A\underline{x}_{k}-\underline{b})=\underline{x}_{k}-\mu \underline{e}_{k}x​k+1​=x​k​−μAt(Ax​k​−b​)=x​k​−μe​k​
  • נבחר את הערך של μ\muμ כך שגובה הפונקציה יהיה המינימלי האפשרי כך:
    f(x‾k+1)=12∥Ax‾k+1−b‾∥22=12∥Ax‾k−μAe‾k−b‾∥22=f(μ)f(\underline{x}_{k+1})=\frac{1}{2}\left\lVert A\underline{x}_{k+1}-\underline{b} \right\rVert _{2}^2=\frac{1}{2}\left\lVert A\underline{x}_{k}-\mu A\underline{e}_{k}-\underline{b} \right\rVert _{2}^2=f(\mu)f(x​k+1​)=21​​Ax​k+1​−b​​22​=21​∥Ax​k​−μAe​k​−b​∥22​=f(μ)
    נשים לב כי הנעלם היחיד בפונקציה הזו הוא μ\muμ ובנוסף, זוהי רק פרבולה חד מימדית ("חזרתם לכיתה ט'" - מיקי אלעד)
    נגזור את הביטוי שקיבלנו באמצעות גזירה מטריצית וקטורית ונקבל:
    df(μ)dμ=−e‾ktAt(Ax‾k−μAe‾k−b‾)=0\frac{df(\mu)}{d\mu}=-\underline{e}_{k}^tA^t(A\underline{x}_{k}-\mu A\underline{e}_{k}-\underline{b})=0dμdf(μ)​=−e​kt​At(Ax​k​−μAe​k​−b​)=0
    נשים לב כי מתקיים:
    μe‾ktAtAe‾k=e‾ktAt(Ax‾k−b‾)=e‾kte‾k\mu \underline{e}_{k}^tA^tA\underline{e}_{k}=\underline{e}_{k}^tA^t(A\underline{x}_{k}-\underline{b})=\underline{e}_{k}^t\underline{e}_{k}μe​kt​AtAe​k​=e​kt​At(Ax​k​−b​)=e​kt​e​k​
    ולכן נקבל כי:
    μ=e‾kte‾ke‾ktAtAe‾k=∥e‾k∥22∥Ae‾k∥22\mu=\frac{\underline{e}_{k}^t\underline{e}_{k}}{\underline{e}_{k}^tA^tA\underline{e}_{k}}=\frac{\left\lVert \underline{e}_{k} \right\rVert _{2}^2}{\left\lVert A\underline{e}_{k} \right\rVert_{2}^2 }μ=e​kt​AtAe​k​e​kt​e​k​​=∥Ae​k​∥22​∥e​k​∥22​​

וזה האלגוריתם המלא:

Algorithm 3 Normalized Steepest Descent (NSD)

Require: Matrix AAA, Target vector bbb, Initial guess vector x0x_0x0​

Ensure: Approximate solution vector xxx

1: // Initialization

2:k←0k \gets 0k←0

3:xk←x0x_k \gets x_0xk​←x0​

4:while convergence criteria not met do

5: // Calculate the error vector

6:ek←AT(Axk−b)e_k \gets A^T(A x_k - b)ek​←AT(Axk​−b)

7: // Calculate the transformed vector

8:fk←Aekf_k \gets A e_kfk​←Aek​

9: // Calculate the optimal step size

10:μk←ekTekfkTfk\mu_k \gets \frac{e_k^T e_k}{f_k^T f_k}μk​←fkT​fk​ekT​ek​​

11: // Update the solution

12:xk+1←xk−μkekx_{k+1} \gets x_k - \mu_k e_kxk+1​←xk​−μk​ek​

13: // Increment the iteration counter

14:k←k+1k \gets k + 1k←k+1

15:end while

16:return xkx_kxk​

לאלגוריתם יש בעיה

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

x‾k+1=x‾k−μke‾k=x‾k−μkAt(Ax‾k−b‾)\underline{x}_{k+1}=\underline{x}_{k}-\mu_{k}\underline{e}_{k}=\underline{x}_{k}-\mu_{k}A^t(A\underline{x}_{k}-\underline{b})x​k+1​=x​k​−μk​e​k​=x​k​−μk​At(Ax​k​−b​) e‾k+1=At(Ax‾k+1−b‾)=At(A(x‾k−μke‾k)−b‾)=At(Ax‾k−b‾)−μkAtAe‾k=(I−μkAtA)e‾k\underline{e}_{k+1}=A^t(A\underline{x}_{k+1}-\underline{b})=A^t(A(\underline{x}_{k}-\mu_{k}\underline{e}_{k})-\underline{b})=A^t(A\underline{x}_{k}-\underline{b})-\mu_{k}A^tA\underline{e}_{k}=(I-\mu_{k}A^tA)\underline{e}_{k}e​k+1​=At(Ax​k+1​−b​)=At(A(x​k​−μk​e​k​)−b​)=At(Ax​k​−b​)−μk​AtAe​k​=(I−μk​AtA)e​k​

זה לא מפתיע שכן e‾k\underline{e}_{k}e​k​ הוא וקטור השגיאה של פתרון המשוואה הנורמלית, וראינו כבר כי השגיאה צפויה להתנהג לפי e‾k+1=Te‾k\underline{e}_{k+1}=T\underline{e}_{k}e​k+1​=Te​k​.
נכפיל משוואה זו משמאל ב-e‾kt\underline{e}_{k}^te​kt​ ונקבל:

e‾kte‾k+1=e‾kt(I−μkAtA)e‾k=e‾kte‾k−μke‾ktAtAe‾k=↓μk=e‾kte‾ke‾ktAtAe‾k0\underline{e}_{k}^t\underline{e}_{k+1}=\underline{e}_{k}^t(I-\mu_{k}A^tA)\underline{e}_{k}=\underline{e}_{k}^t\underline{e}_{k}-\mu_{k}\underline{e}_{k}^tA^tA\underline{e}_{k}\underset{\begin{matrix} \downarrow \\ \mu_{k}=\frac{\underline{e}_{k}^t\underline{e}_{k}}{\underline{e}_{k}^tA^tA\underline{e}_{k}} \end{matrix}}{=}0e​kt​e​k+1​=e​kt​(I−μk​AtA)e​k​=e​kt​e​k​−μk​e​kt​AtAe​k​↓μk​=e​kt​AtAe​k​e​kt​e​k​​​=​0

מה שקורה פה בעצם הוא שהזווית בין כל שגיאה של כל איטריצה שואפת להיות 90°90\degree90° - האלגוריתם הזה מזגזג בצורה מטורפת.
זה לא הכי טוב, אבל זה האלגוריתם ויש דרכים להתמודד עם זה.

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

x‾k+1=x‾k−μke‾k+θkx‾k−1\underline{x}_{k+1}=\underline{x}_{k}-\mu_{k}\underline{e}_{k}+\theta_{k}\underline{x}_{k-1}x​k+1​=x​k​−μk​e​k​+θk​x​k−1​

פתרון בעיות ערכים עצמיים ווקטורים עצמיים

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

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

u‾k=VAkx‾0=∑j=1nx0(j)⋅λjkv‾j\underline{u}_{k}=VA^k\underline{x}_{0}=\sum_{j=1}^n x_{0}(j)\cdot \lambda_{j}^k\underline{v}_{j}u​k​=VAkx​0​=j=1∑n​x0​(j)⋅λjk​v​j​

נניח כי הע"ע מסודרים בסדר יורד לפי ערכם המוחלט ובנוסף נניח כי ∣λ1∣>∣λ2∣≥∣λ3∣≥⋯≥∣λn−1∣≥∣λn∣|\lambda_{1}|>|\lambda_{2}|\geq |\lambda_{3}|\geq \dots\geq |\lambda _{n-1}|\geq |\lambda_{n}|∣λ1​∣>∣λ2​∣≥∣λ3​∣≥⋯≥∣λn−1​∣≥∣λn​∣. כלומר, שני הע"ע אשר בערך מוחלט הם הגדולים ביותר, אינם שווים.
כךף נוכל להגיד את הדבר הבא כאשר kkk גדול דיו:

u‾k=∑j=1nx0(j)⋅λjkv‾j≅x0(1)⋅λ1kv‾1\underline{u}_{k}=\sum_{j=1}^n x_{0}(j)\cdot \lambda_{j}^k\underline{v}_{j} \cong x_{0}(1)\cdot\lambda_{1}^k\underline{v}_{1}u​k​=j=1∑n​x0​(j)⋅λjk​v​j​≅x0​(1)⋅λ1k​v​1​ u‾k=Tu‾k−1≅Const⋅λ1kv‾1\underline{u}_{k}=T\underline{u}_{k-1} \cong Const\cdot\lambda_{1}^k\underline{v}_{1}u​k​=Tu​k−1​≅Const⋅λ1k​v​1​

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

u‾ktu‾k+1u‾ktu‾k=u‾ktTu‾ku‾ktu‾k=u‾kt(λ1u‾k)u‾ktu‾k≅λ1\frac{\underline{u}_{k}^t\underline{u}_{k+1}}{\underline{u}_{k}^t\underline{u}_{k}}=\frac{\underline{u}_{k}^tT\underline{u}_{k}}{\underline{u}_{k}^t\underline{u}_{k}}=\frac{\underline{u}_{k}^t(\lambda_{1}\underline{u}_{k})}{\underline{u}_{k}^t\underline{u}_{k}}\cong \lambda_{1}u​kt​u​k​u​kt​u​k+1​​=u​kt​u​k​u​kt​Tu​k​​=u​kt​u​k​u​kt​(λ1​u​k​)​≅λ1​

יש אלגוריתם, אז הכל אחלה - וייייייייייייייייייייייי
אלא, שיש בעיה אחת, הוא לא עובד!!! זאת מפאת העובדה שהמקדם λ1k\lambda_{1}^kλ1k​ או צולל לאפס או תופח ל-∞\infty∞ ומגיעים מהר מאוד לבעיות נומריות קשות.

הפתרון לבעיה זו היא לנרמל לאחר כל איטריצה והאלגוריתם החדש והמשופר נראה כך:

Algorithm 4 Power Method

Require: Matrix TTT, Initial normalized guess vector u0u_0u0​

Ensure: Approximate dominant eigenvector uku_kuk​

1: // Initialization

2:u0←initial normalized vectoru_0 \gets \text{initial normalized vector}u0​←initial normalized vector

3:k←1k \gets 1k←1

4:while convergence criteria not met do

5: // Update the output of the dynamic system

6:uk←Tuk−1u_k \gets T u_{k-1}uk​←Tuk−1​

7: // Normalize the solution vector

8:uk←uk∥uk∥2u_k \gets \frac{u_k}{\|u_k\|_2}uk​←∥uk​∥2​uk​​

9: // Increment the iteration counter

10:k←k+1k \gets k + 1k←k+1

11:end while

12:return uku_kuk​

משפט

שיטת החזקה מובטחת להגיע לוקטור העצמי המתייחס לע"ע הגדול ביותר אם מתקימים שני התנאים הבאים:

  1. ע"ע זה מבודד, כלומר, ∣λ1∣>∣λ2∣|\lambda_{1}|>|\lambda_{2}|∣λ1​∣>∣λ2​∣.
  2. וקטור האיתחול אינו מנוון את הו"ע המבוקש:
u‾k=VAkx‾0=∑j=1nx0(j)⋅λjkv‾j  ⟹  x0(1)≠0 \underline{u}_{k}=VA^k\underline{x}_{0}=\sum_{j=1}^n x_{0}(j)\cdot \lambda_{j}^k\underline{v}_{j}\implies x_{0}(1)\neq 0u​k​=VAkx​0​=j=1∑n​x0​(j)⋅λjk​v​j​⟹x0​(1)=0

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

מסקנה

קרבה גדולה מידי בין הע"ע העליונים תביא להתכנסות איטית.

גרסאות לאלגוריתם

גרסת ההיפוך

אם נרצה לכוון לע"ע הקטנים ביותר נרצה להפוך את ההתכנסות ולכן:

u‾k=T−1u‾k−1\underline{u}_{k}=T^{-1}\underline{u}_{k-1}u​k​=T−1u​k−1​

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

גרסת ההזזה

אם משוואת העדכון תשתנה כך:

u‾k=(T−αI)u‾k−1\underline{u}_{k}=(T-\alpha I)\underline{u}_{k-1}u​k​=(T−αI)u​k−1​

אזי האלגוריתם יתמקד בע"ע של T−αIT-\alpha IT−αI הרחוק ביותר מהראשית.

מציאת כל הע"ע והו"ע

אם נרצה למצוא מספר ע"ע וו"ע לא נוכל להריץ את התהליך מספר פעמים, שכן כל התוצאות יהיו הוקטור הראשון.
נניח מעתה כי המטריצה TTT סימטרית ולכן ידוע כי וקטוריה העצמיים אמורים להיות אורתוגונליים.
לכן, נוכל להריץ את התהליך במקביל ולבצע אורתוגונליזציה בין הוקטורים אחרי כל איטרציה, כצעד שמחליף את הנרמול הנפרד לוקטורים.
גישה זו עובדת יפה אך רק למטריצות סימטריות. גרסה למטריצות שאינן סימטריות אנו נראה בתרגול :)

Algorithm 5 Iterative Solution for Eigenvalue Problems (Subspace Iteration)

Require: Symmetric matrix TTT of size n×nn \times nn×n, Number of desired eigenvectors JJJ

Ensure: Matrix Uk∈Rn×JU_k \in \mathbb{R}^{n \times J}Uk​∈Rn×J containing approximate dominant eigenvectors

1: // Initialization

2: // Set initial eigenvectors to form an orthonormal set

3:U0←initial orthonormal matrix ∈Rn×JU_0 \gets \text{initial orthonormal matrix } \in \mathbb{R}^{n \times J}U0​←initial orthonormal matrix ∈Rn×J

4:k←1k \gets 1k←1

5:while convergence criteria not met do

6: // Update the output of the dynamic system

7:Uk←TUk−1U_k \gets T U_{k-1}Uk​←TUk−1​

8: // Apply Gram-Schmidt (QR) process on UkU_kUk​

9:Uk←Orthonormalize(Uk)U_k \gets \text{Orthonormalize}(U_k)Uk​←Orthonormalize(Uk​)

10: // Increment the iteration counter

11:k←k+1k \gets k + 1k←k+1

12:end while

13:return UkU_kUk​