בלב הסיפור שלנו עומד עוד פעם פירוק. הפירוק הפעם הוא אחד מהחשובים ביותר באלגברה ליניארית והוא פירוק ה-SVD.
A=UΣVt
זה לא לכסון אך זה כן דומה ללכסון.
כדי להבין מה זה הפירוק הזה אנו נדרש ללמוד יסודות נוספים של אלגברה ליניארית. נעבור שוב על ערכים עצמיים ווקטוריים עצמיים ונלמד גם דברים חדשים. כל זה כדי לספק תשתית לפירוק החשוב.
ערכים עצמיים
פה אין לנו אמירה על מטריצה שאינה ריבועית וזה חבל. בהמשך נראה איך מרחיבים את ההגדות והמשפטים שלנו למטריצות לא ריבועיות.
הגדרה 1 (ערך עצמי ווקטור עצמי)
בהינתן מטריצה ריבועית וממשית בגודל n×n, הסקלר λ נקרא ערך עצמי אם קיים ווקטור v=0 אשר יקרא וקטור עצמי המקיים:
Av=λv
נשים לב שאם נמצא וקטור עצמי שאינו טריוויאלי v אזי הכפלתו בסקלר מותירה אותו פתרון ראוי למערכת Av=λv.
לכן מקובל לדרוש שהו"ע יהיו מנורמלים ∥v∥2=1.
כדי למצוא את הע"ע נעשה דבר מאוד פשוט:
Av=λv⟹Av=λIv⟹(A−λI)v=0
לכן, על הע"ע להיות כאלה שיגרמו למטריצה A−λI להיות לא הפיכה. כלומר, עלינו לדרוש:
∣A−λI∣=∣λI−A∣=0
ביטוי זה מוביל לפולינום ב-λ מדרגה n. זהו הפולינום האופייני.
משפט
λ=a+ib ע"ע של Aאם ורק אםλ=a−ib הינו גם ע"ע של A.
הגדרה 2 (ריבוי אלגברי)
כשערך עצמי מופיע k פעמים כשורש של הפולינום האופייני נאמר כי לערך עצמי זה ריבוי אלגבריra=k.
הגדרה 3 (ריבוי גיאומטרי)
לערך עצמי בריבוי אלגברי ra=k יש ת"מ של ו"ע ממימד 1≤rg≤ra=k הקרוי ריבוי גיאומטרי.
בהינתן מטריצה A עם שני ע"ע בר"א=ר"ג=1 ושונים זה מזה λ1=λ2 הו"ע המיוחסים לע"ע הללו v1,v2 הינם בהכרח בת"ל.
הוכחה: גם כן באלגברה אמ'.
משפט
בהינתן מטריצה A עם ע"ע שונים זה מזה, הו"ע התואמים להם הינם בהכרח בת"ל ולכן מהווים בסיס למרחב ה-n מימדי.
הגדרה 4 (מטריצה לכסינה)
מטריצה ריבועית A נקראת לכסינה אם קיימת מטריצה הפיכה S ומטריצה אלכסונית D כך שמתקיים:
S−1AS=D
משפט
בהנתן מטריצה ריבועית A כלשהי ומטריצה הפיכה G באותו גודל, המטריצה G−1AG תהיה בעלת אותם ע"ע כשל A.
הוכחה:
נניח כי λ ע"ע של A. אזי, קיים ו"ע v כך ש-Av=λv.
נכפול מערכת זו משמאל ב-G−1 ונקבל: G−1Av=λG−1v.
נגדיר z=G−1v ונקבל כי Gz=v ולכן G−1AGz=λz.
לכן, λ ע"ע של G−1AG עם ו"ע אשר לא מובטח להיות זהה. ∎
פירוק שור(Schur)
משפט
בהינתן מטריצה ריבועית A לכסינה, ניתן למצוא מטריצה אורתונורמליתQ ומטריצה משולשת עליונה T ממשיות כך שיתקיים:
QtAQ=T
המחיר למעבר מהעתקת דמיון רגילה להעתקת דמיון אורתונורמלית היא שהתוצאה אינה מטריצה אלכסונית אלא משולשת עליונה אבל פירוק זה מגלה את הע"ע, שכן איברי האלכסון הראשי של T הם הע"ע של A (שנובע מהמשפט על דטרמיננטה של מטריצה משולשת)
הוכחה:
כיוון שהמטריצה לכסינה, קיימים S ו-D עבורם S−1AS.
נקח את המטריצה S ונפעיל עליה פירוק QR. נקבל S=QR. בשל היות S הפיכה R הפיכה גם כן.
נציב את הפירוק למשוואת הלכסון ונקבל:
S−1AS=(QR)−1A(QR)=R−1QtAQR=D
נעביר את ההכפלות של R והיפוכו לאגף השני ונקבל
QtAQ=RDR−1=T
נשים לב כי T אכן משולשת עליונה כי היא מכפלה של מטריצות משולשות עליונות. ∎
מה זה דורש על D? נדרש שכל איברי אלכסון D יהיו חיוביים.
כלומר, כל הע"ע חיוביים.
משפט
אם K סימטרית וחיובית מוגדרת, כל הע"ע שלה חיוביים.
אם היא חיובית חצי מוגדרת, כל ערכיה העצמיים אי-שליליים.
תכונת רילי-ריץ: ע"ע כפתרון לבעיית אופטימיזציה
ראינו ב2 - ריבועים פחותים כיצד אנו לוקחים בעיית שוויון Ax=b והופכים אותה לבעיית אופטימיזציה xmin∥Ax−b∥22.
בפרק זה נראה שגם את המשוואה Av=λv ניתן לקחת ולהפוך לבעיית אופטימיזציה. לזה קוראים תכונת ריילי-ריץ ואותה נראה כעת.
נניח כי בידינו מטריצה אלכסונית D עם ערכים ממשיים ואי שליליים באלכסון הראשי. ברור כי אלו גם הע"ע של מטריצה זו.
D=d10⋮00d2⋮0……⋱…00⋮dnd1≥d2≥d3≥⋯≥dn≥0
נניח כי ברצוננו להביא למקסימום את התבנית הבאה:
zmaxq(z)=zmaxztDz=zmaxk=1∑ndkzk2
נשים לב כי הביטוי הזה אינו חסום.
נרצה לקבל משהו חסום ולשם כך נוכל לקבוע אילוץ על הוקטור z להימצא על כדור היחידה. כלומר, ztz=1.
הבעיה שנקבל חסומה שכן d1 הוא הגדול באיברי האלכסון של D ואז הפונקציה מקבלת את החסם מלמעלה הבא:
k=1∑ndkzk2≤k=1∑nd1zk2=d1k=1∑nzk2=d1
הפונקציה חסומה ובנוסף, ניתן למצוא את הוקטור z שיביא אותנו לסופרמום ובכך הוא יהיה מקסימום:
zt=(1000…0)
נשים לב כי זהו הו"ע שמתייחס לע"ע d1 במטריצה D.
כעת, אם נחליף את בעיית המקסימיזציה שלנו לבעיית מנימיזציה כאשר במקום d1 נקח את dn כך:
∀ztz=1:zminztDz≤dn
האם דבר זה נכון גם למטריצות חיוביות מוגדרות שהן לאו דווקא אלכסוניות?
תהי A מטריצה סימטרית וחיובית חצי מוגדרת. אזי קיים לה פירוק ספקטרלי A=QDQt.
נתבונן בבעיה arg∥x∥2=1maxxtAx. נוכל לפרק זאת עם הפירוק:
ראינו עד כה כלי למציאת הע"ע הקיצוניים - הגדול ביותר והקטן ביותר. נרצה כעת למצוא את שאר הע"ע.
נניח כי מצאנו את k הע"ע הגדולים ביותר ואת הו"ע שלהם ורצוננו בע"ע הבא ובו"ע שלו.
נאסוף את k הו"ע הללו כעמודותיה של המטריצה U ונגדיר בעיה חדשה:
x=0,Utx=0argminxtxxtAx
כיוון שהו"ע למטריצות חיוביות חצי מוגדרות מהווים בסיס אורתונורמלי, האילוץ יכווץ את הבעיה לו"ע הבא המתייחס ל-λk+1.
ערכים ע"ע מוכללים
כעת, נכליל את בעיית האופטימיזציה ע"י שינוי הביטוי במכנה כך:
x∗=x=0argmaxxtBxxtAx
כאשר B חיובית מוגדרת על מנת להבטיח שהמכנה לא מתאפס.
זוהי בעיית ערכים עצמיים מוכללת או בעיית עפרון.
הבעיה מציגה לנו מצב בו הפעלה של A על x זהה להפעלה של B על x ואז כפולה בסקלר.
השוני העיקרי בבעיה זו ממה שראינו הוא שהאילוץ שלנו על x שונה. מקודם xtx נבע מעובדה שדרשנו ⟨x,x⟩=1 אך כעת, האילוץ יהיה xtBx=1 שזוהי סוג של מכפלה פנימית אחרת המוגדרת על Rn. הפיתוח של זה יראה זהה לפיתוח שראינו ממקודם רק עם xtBx במקום ∥x∥2.
האילוץ הזה יוצר סוג של אליפסואיד של ע"ע מתאימים.
הערה
מכיוון ש-B חיובית מוגדרת, אזי, לפי משפט, היא הפיכה ולכן נוכל להמיר את הבעיה הזו לבעיית ע"ע רגילה:
Ax=λBx⟹B−1Ax=λx
פירוק SVD
עד כה, יכולנו להגיד דברים מעניינים רק על מטריצות סימטריות וחיוביות מוגדרת. זה מגביל מאוד. אנחנו נקח את מה שראינו ונראה איך נכליל אותו לכלל המטריצות בעולם :)
ערכים סינגולריים
תהי m×nA. נניח כי m≥n ודרגת המטריצה מלאה.
נבנה את מטריצת הגרםAtA שגודלה n×n והיא חיובית מוגדרת.
למטריצה זו קיימים ע"ע וו"ע המקיימים:
AtAvk=λkvk
קבוצת כל הו"ע של AtA מהווים בסיס אורתונורמלי למרחב ה-n מימדי. כמו כן, גם לכל ע"ע λ מתקיים בהכרח λ>0.
נתסכל על תמונה של אחד הו"ע של AtA כאשר אנו מפעילים עליו רק את A. אזי מתקבל וקטור ארוך יותר כך:
כעת, נקח שני וקטורים שונים ונבצע עליהם את הנ"ל ונמצא את המכפלה הפנימית שלהם:
ראינו ממקודם כי הע"ע של AtA הינם אורתונורמליים ולכן:
⟨Avj,Avk⟩={λk0k=jk=j
תוצאה זו בעצם מגלה לנו כי אנו יוצרים קבוצה של וקטורים אורתוגונליים במימד m.
נרצה כעת כמובן לנרמל אותם כדי לקבל וקטורים אורתונורמליים. את הערך הדורש לנרמול נסמן ב-σk2 ונקרא לא ערך סינגורלי.
הגדרה 5 (ערך סינגולרי)
תהי מטריצה A∈Rm×n.
יהי λi ע"ע של המטריצה AtA. אזי, הערך הסינגולריσi מוגדר להיות השורש הריבועי החיובי של λi.
σi=λi
הערה
נשים לב כי AtA חיובית מוגדרת ולכן, לפי משפט, הע"ע שלה חיוביים ולכן, לא תהיה לנו בעיה עם השורש.
באמצעות הערכים הסינגולריים נוכל להגדיר גרסה מנורמלת של הוקטור שראינו כך:
uk=∥Avk∥2Avk=σkAvk
נסתכל על זה ויזואלית כדי להבין יותר טוב:
∀1≤k≤n:Avk=σkuk
הקשר שקיבלנו פה הוא דומה מאוד לקשר בין ע"ע למטריצה(Av=λv) אך יש הבדלים מהותיים ביניהם:
המטריצה A יכולה להיות בכל צורה
ערך סינגולרי הוא תמיד אי שלילי
הוקטורים בשני האגפים מהווים בסיס אורתונורמלי אך למרחבים שונים
U היא מטריצה גבוהה מאוד בגודל m×n אשר עמודותיה אורתונורמלית(אך היא לא מטריצה אורתונורמלית שכן היא לא ריבועית)
Σ היא מטריצה אלכסונית בגודל n×n.
מה קיבלנו?
עבור מטריצה A בגודל m×n כאשר m≥n מדרגה מלאה מתקבל:
AV=UΣ⟹A=UΣVt
(הטרנספוז הוא כי V אורתונורמלית)
אנחנו לא אוהבים מטריצות שהם לא אורתונורמליות ולכן, נבצע השלמה למטריצה אורתונורמלית עם המשך רנדומלי לתהליך גרם שמידט.
זהו פירוק ה-SVD והדבר היחיד שבגללו נבוא אליו בטענות הוא שהוא מוגבל.
מיד אנו נראה כי הוא תקף לכל מטריצה שהיא.
סיכום בניית ה-SVD
חישוב המטריצה AtA
ביצוע פירוק ספקטרלי וקבלת {λk,vk}k=1n
איסוף כל הו"ע הנ"ל כשורותיה של מטריצה וזוהי Vt
הוצאת שורש לע"ע ואלה יאכלסו את אלכסונה של Σ
חישוב uk=Avk ונירמולם עבור k=1,…,n ואלה יהיו עמודותיה של U.
השלמת U עם וקטורים אורתונורמליים נוספים מתאימים על פי האלגוריתם שלמדנו לפירוק QR.
עבור מטריצות ללא דרגה מלאה
עד כה הנחנו כי המטריצה A בעלת דרגה מלאה, אך זה לא עוד המצב. כעת נגיד כי r(A)=r<n.
במקרה זה יתקים כי בפירוק הספקטרלי של AtA נקבל AtAvk=λkvk אבל λr+1=⋯=λn=0 שכן יש לנו n וקטורים ב-nullA.
נזכר כי uk=λkAvk אך פה אנו מחלקים ב-0 - זוהי בעיה רצינית. כדי לתקן אותה נחלק את הקבוצה שלנו ל-2:
עבור הקבוצה העליונה נטפל כרגיל ועבור הקבוצה התחתונה נקבעσk=0. (לכל k∈[r+1,n])
זה נותן לנו להשלים את uk במה שאנחנו רוצים כי הם בכל מקרה מוכפלים ל-0 ולכן, נבצע את אותו המשך לגרם-שמידט כמו ממקודם.
עכשיו גם מטריצות רחבות
כעת יש לנו A בגודל m×n כאשר m<n.
אם נשחלף את המטריצה נוכל לקבל את אותו הפירוק. הפעם נקרא למטריצות בשמות הפוכים:
At=VΣtUt
ואז:
A=UΣVt
כאשר המטריצות כעת מעט שונות:
המטריצות שקיבלנו פה בעצם הפוכות בסדר שלהם עם טרנספוז בנוסף, אך עדיין נקרא להם בשמות שיתאימו לנו עבור הפירוק.
הפירוק באופן כללי
משפט
תהי A∈Rm×n כאשר m,n∈R.
אזי, A ניתנת לפירוק SVD מהצורה:
A=UΣVt
כאשר:
U מטריצה אורתונורמלית בגודל m×m
V מטריצה אורתונורמלית בגודל n×n
Σ מטריצה אלכסונית בגודל m על n כאשר איברי אלכסונה אי-שליליים ובמגמת ירידה הנקראים ערכים סינגולריים.
מסקנה
כל מטריצה A מדרגה r תהיה בעלת r ערכים סינגולריים שונים מאפס בדיוק.
כך נוכל למצוא את דרגת המטריצה באמצעות הפירוק.
ניתן לפרק מכפלה של וקטור במטריצה A באמצעות הפירוק Ax=UΣVtx כך:
תחילה אנו מבצעים סיבוב של הוקטור ע"י Vt
לאחר מכן, אנו מותחים אותו בכל ציר ואף יכולים לשנות את מימדו ע"י ההכפלה ב-Σ
לבסוף, אנו מסובבים אותו שוב פעם, הפעם במימד אחר ע"י U.
מסקנה
כל מטריצה A מדרגה r ניתנת לכתיבה כסכום משוקלל של מטריצות מדרגה אחת לפי:
A=UΣVt=k=1∑rσkukvkt
הערה
אנו לא נתעסק בשיטה הנומרית לבניית הפירוק. (כלומר, באיך באמת עושים את זה במחשב)
בנוסף, גם לא נתעסק בסיבוכיות התהליך שהינה n3 מכפלות.
פירוק SVD אל מול פירוק ספקטרלי
נניח כי נתונה לנו מטריצה A ריבועית, סימטרית וחיובית חצי מוגדרת. נוכל לחשב עבורה פירוק ספקטרלי או פירוק SVD.
QDQt=A=UΣVt
נרצה למצוא מהו הקשר בין השניים.
נוכל לגרום להתלכדות בין שני הפירוקים אם מתקיים U=V=Q,Σ=D. ⟸ במקרה זה הערכים הסינגולריים זהים לע"ע של A וגם הו"ע מתלכדים.
אם נתונה לנו מטריצה ריבועית וסימטרית שאינה חיובית חצי מוגדרת. נוכל לחשב עבורה פירוק ספקטרלי ופירוק SVD.
לא נוכל כעת להגיד כי Σ=D כי יכול להיות שב-D ערכים שליליים.
נניח ונקח λ∈R ע"ע ממשי שקיים בהכרח מכיוון שהמטריצה סימטרית, אזי:
Ax=λx⟹AtAx=λAtx=λAx=λ2x
נשים לב כי הע"ע של AtA הינם הע"ע בריבוע ⟸ הערכים הסינגולריים יהיו σ=λ2=∣λ∣ ולכן הם יהיו הע"ע בערך מוחלט.
על מנת להשוות בין שני הפירוקים במצב זה, נקח שתי מטריצות יחידה, ובכל שורה בה במטריצה D הע"ע קטן מאפס, נהפוך את ה-1 ל-−1.
נקבל את המטריצות הבאות:
A=QDI∗I∗Qt↓Q=UDI∗=ΣI∗Qt=Vt=UΣVt
כך הגענו מהפירוק הספקטרלי ל-SVD.
שימושי הפירוק
פתרון מערכת משווואות
תהי מערכת משוואות Ax=b. נוכל להשתמש בפירוק SVD על מנת לפתור אותה. נסתכל על שלושה מקרים:
A ריבועית והפיכה
A מלבנית עם יותר שורות מעמודות
A מלבנית עם יותר עמודות משורות
נניח כי בכל אחד מהמקרים קיים פתרון וננסה לנסח אותו במונחים של SVD.
מטריצה ריבועית והפיכה
נתחיל בפירוק SVD ל-A כך:
Ax=b=UΣVtx
המטריצות U ו-V אורתונורמליות ולכן נוכל להכפיל ב-Ut ו-Vt בהתאמה. בנוסף, המטריצה Σ היא אלכסונית אז להפוך אותה זו לא בעיה ולכן:
x=VΣ−1Utb
נשים לב כי הפירוק שקיבלנו כעת VΣ−1Ut הוא הפירוק עבור A−1. כלומר, גם ל-A−1 יש פירוק SVD.
ישנו פגם אחד בפירוק הזה הוא שב-Σ−1 הע"ע אינם בסדר יורד כפי שאנו רוצים.
(מיקי אלעד: "בתי הכלא מלאים באנשים שהפכו מטריצות. קיבלנו מערכת משוואות הפכו מטריצות. הם אנשים רשעים והם משלמים מחיר")
יותר שורות מעמודות
פה המטריצה גבוהה ולכן, יש יותר משוואות מאשר פתרונות. נבצע פירוק SVD גם כן:
Ax=b=UΣVtx
נכפיל את b ב-Ut ונקבל וקטור b^ שמקיים:
b^=Utb=ΣVtx
בחלק התחתון של Σ יש אפסים כפי שראינו ממקודם ולכן בהכרח השורות התחתונות של b^ חייבות להיות אפסים על מנת שיהיה פתרון.
נניח כרגע כי יש אפסים בחלק התחתון של b^. ממקודם הכפלנו ב-Σ−1 אבל פה לא נוכל לעשות זאת שכן הגודל לא מתאים. נתקן את Σ−1 ע"י הוספת עמודות אפסים אליה. נקרא למטריצה החדשה "Σ−1" ואז:
x=V"Σ−1"Utb
[להוסיף ציור אם יש לי זמן]
יותר עמודות משורות
במצב זה בהכרח יש לנו ∞ פתרונות שכן יש דרגות חופש.
b=Ax=UΣVtx
נגדיר z=Vtx ואז:
Utb=b^=Σz
פה פשוא אפשר למצוא את b^ ואז למצוא את z ובכך למצוא את x.
מכל האפשרויות לבחירת z נרצה להסתכל על z הקצר ביותר ב-L2. כלומר, זה שתחתיתו אפסים.
נשים לב כי הפתרון הקצר ביותר עבור z מוביל לפתרון x הקצר ביותר כי הקשר בין שניהם הוא x=Vz כאשר V אותרתונורמלית.
נרצה למצוא נוסחה קומפקטית ל-z הקטן ביותר:
נתחיל בלהכפיל את b ב-Ut ואז להכפיל ב-Σ−1 עם הוספת שורות אפסים ללמטה של Σ−1 ואז: x=V"Σ−1"Utb
נשים לב כי אנו הגענו בדיוק לאותה נוסחה כל פעם, למעט שינויים קטנים ל-Σ−1.
מקסנה
נזכר כי הסיבוכיות של פתרון מערכת משוואות בעזרת פירוק LU הוא 6n3 ולכן, לפתרון מערכת משוואות הוא עדיף על ה-SVD.
אך במה הפירוק החדש כן עדיף? תכף נראה בריבועים פחותים איך נוכל להשתמש בו ביעילות.
נתונה לנו xmin∥Ax−b∥22 ונניח כי היא בעלת פתרון יחיד.
אזי, הפתרון למשוואה נתון ע"י המשוואה הנורמלית: x=A†b=(AtA)−1Atb.
כעת, נבנה את ההפיכוך המוכלל של A באמצעות פירוק ה-SVD כך:
A†=(AtA)−1At=(VΣtUtUΣVt)−1VΣtUt=(VΣtΣVt)−1VΣtUt
המטריצות V,Vt ו-ΣtΣ הינן ריבועיות והפיכות ולכן:
A†=V(Σ−1Σ)−1VtVΣtUt=V(ΣtΣ)−1ΣtUt
נשים לב כי נוצר לנו ביטוי באמצע שהוא מעניין (ΣtΣ)−1Σt. נשים לב כי בעצם Σ†=(ΣtΣ)−1Σt ולכן:
A†=VΣ†Ut
קיבלנו בעצם כי:
x=A†b=VΣ†Utb
מסקנה
היפוך מוכלל של A אינו אלא היפוך הערכים הסינגולריים ושינוי סדר המכפלה וקל מאוד לקבלו מפירוק ה-SVD של A.
כעת, בבעית הריבועים הפחותים שלנו יש ∞ פתרונות (כלומר, A בעלת דרגה r<n)
כל הפתרונות נדרשים לקיים את המשוואה הנורמלית: AtAx=Atb. נשתמש בפירוק ונראה לאן אנו מגיעים:
VΣtUtUΣVtx=VΣtUtbVΣtΣVtx=VΣtUtb
נכפיל ב-Vt משני הצדדים ונזכור שהיא אורתונורמלית ואז:
האם ניתן לומר מהו z1? נוכל לקבל אותו לפי משוואה פשוטה z1=σ1b^1. משוואה זו מתקיימת עבור r הרכיבים הראשונים:
σ2zr=σrb^r⟹zr=σrb^r
עבור zr+1,…,zn הם נפגשים עם אפסים ולכן הם יכולים להיות מה שאנחנו רוצים. לכן, נבחר 0 כדי שיהיה לנו את הוקטור הקצר ביותר.
הערה
למה ברור כי למערכת AtAx=Atb יש פתרון?
ל-r המשוואות הראשונות תמיד יהיה פתרון שכן לא יכול להיות מצב בו σk=0 לפי הגדרת הערכים הסינגולריים.
שאר המשוואות הן פשוט פסוקי אמת 0=0 ולכן הן לא משנות לנו דבר
בואו נרכיב את הפתרון במונחים של SVD:
x=Vσ1−1⋱σr−10⋱00Utb
פה נראה שיש לנו יצור מעניין וכדי לתת לו שם נגדיר הכללה להיפוך המוכלל
הגדרה 6 (הרחבה להיפוך מוכלל למטריצות אלכסוניות)
ההיפוך המוכלל של מטריצה אלכסונית ע"י שחלוף והיפוך איברי האלכסון הראשי שאינם אפס.
ואז נקבל:
x=A†b=VΣ†Utb
והיא תהיה המשוואה המתאימה לכל המצבים.
הערה
ראינו בעבר את בעיית הרגולריזציה וראינו שהיא נותנת את הפתרון הקצר ביותר אך הוא לאו דווקא בתוך אוסף הפתרונות של המשוואה הנורמלית המקורית.
עם פירוק ה-SVD אנו מקבלים תמיד את הוקטור הקצר ביותר אשר פותר את המשוואה הנורמלית המקורית ופה נמצא הייתרון של פירוק זה על פני המשוואה הנורמלית המקורית או ה-QR שראינו ממקודם.
קירוב מטריצות עם אילוץ דרגה
נזכר כי כל מטריצה ניתנת לפירוק לקבוצה של מטריצות מדרגה אחת:
A=UΣVt=k=1∑rσkukvkt
אנו נרצה למצוא מטריצה B באותו גודל של A כך שתהיה הקרובה ביותר ל-A כאשר דרגתה מוגבלת להיות k0<r.
כלומר, אנו מבקשים פתרון לבעיה: Bmindist(A,B)s.t.rank(B)=k0≤r.
הדבר הראשון שאנו צריכים לעשות זה להגדיר מרחק בין מטריצות והוא:
הגדרה 7 (נורמת פורביניוס)
תהי מטריצה A.
∥A∥F2=k=1∑mj=1∑nakj2=trace(AtA)=trace(AAt)
הגדרה 8 (מרחק בין מטריצות)
יהיו מטריצות A,B. אזי:
dist(A,B)=∥A−B∥F2=k=1∑mj=1∑n(akj−bkj)2
נוכל עכשיו למצוא פתרון לבעיה.
משפט
עבור מטריצה A בעל פירוק SVD מהצורה A=UΣVt=k=1∑rσkukvkt עם ערכים סינגולריים בסדר יורד σ1≥σ2≥σ3≥⋯≥σr>0.
פתרון הבעיה Bmindist(A,B)s.t.rank(B)=k0≤r הינו:
נזכר כי לאור u-ים אורתונורמליים מתקיים כי ujtuj=1 וכנ"ל עם vkvkt לאור העובדה ש-Tr(EtE)=Tr(EEt) ולכן:
∥A−B∥F2=k=k0+1∑rσk2
הגדרה 9 (מספר מצב)
תהי A מטריצה ריבועית בגודל n×n. אזי, מספר המצב שלה הינו:
κ{A}=σnσ1
הערה
המושג הזה הומצא ע"י אלן טיורינג.
מספר המצב מספר כמה המטריצה נוטה להיות לא הפיכה.
⟸ נשים לב כי זה מספר גדול או שווה ל-1. כשהוא 1 מדובר במטריצה אורתונורמלית עד כדי קבוע וכשהוא נוטה ל-∞ מדובר במטריצה לא הפיכה.