חיבור של שתי מטריצות טופליץ היא גם מטריצת טופוליץ.
כפל בסקלר של מטריצת טופוליץ היא גם מטריצת טופוליץ
הגדרה 2 (מטריצה צרה)
מטריצה T נקראת צרה אם ערכיה השונים מאפס מרוכזים ברצועה צרה סביב האלכסון הראשי.
מה קורה אם אנו מקבלים תרגיל לפתור מערכת משוואות Ax=b כאשר A טופוליץ? האם נוכל לנצל את זה ⟸ כן! אבל בקורס זה לא נדבר על זה.
מה אם נרצה ללכסן מטריצה בעלת מבנה זה ולמצוא את הע"ע שלה? בקורס זה אנו לא נתעסק ישירות עם זה אבל נסתכל על משהו דומה אשר יוביל אותנו להתמרת פורייה.
המקור המרכזי לעיסוק במטריצות האלו היא פעולה בשם קונבולוציה!
הגדרה 3 (קונבולוציה)
יהיו שני וקטורים h∈Rn,x∈Rm.
פעולת הקונבולוציה ביניהם תסומן z=x⊗h ופועלת בצורה הבאה:
zk=j=−∞∑∞xk−jhj=j=0∑n−1xk−jhj
הערה
אם אנו יוצאים מגבולות x או z אזי פשוט נקבל בסכימה אפסים באיברים הללו.
באיזה אורך z? זהו בתכלס וקטור באורך אינסופי אבל אין לנו עניין בערכי k שיביאו לאפסים ב-z ולכן 0≤k≤m+n−2 כאשר אורך z הוא k.
מה אם כעת נקח את הוקטור x ונסדר אותו במטריצה בתצורה של מטריצת טופוליץ כך:
נרצה כעת למצוא את הו"ע של המטריצות הסיבוביות מסיבות שנראה בהמשך.
משפט
יהיו A,B מטריצות לכסינות במשותף.
אזי, מכפלתן קומוטטיבית
הוכחה:
אם הן לכסינות במשותף אז קיימת S הפיכה כך שמתקיים:
A=SΛAS−1∧B=SΛBS−1
לכן:
AB=SΛAS−1⋅SΛBS−1=SΛAΛBS−1
לפי משפט, הכפלה של מטריצות אלכסוניות קומוטטיבית ולכן:
AB=SΛBΛAS−1=SΛBS−1SΛAS−1=BA
∎
משפט
כל המטריצות הסיבוביות בגודל n×n הינן לכסינות אורתונורמלית ובמשותף.
כלומר, כל המטריצות הסיבוביות חולקות את אותם ו"ע, אשר מהווים בסיס אורתונורמלי.
מסקנה
מכפלת מטריצות סיבוביות היא קומוטטיבית.
בקונבולוציה סיבובית נשים לב כי מתקיים:
F(Xh)=X(Fh)=X(Hf)=⋯
בואו נוכיח את המשפט הנ"ל בדרך ארוכה ומסובכת ולא פורמלית בעליל:
כעת, נגש ללכסון מטריצות סיבוביות. המשימה שלנו פה היא מציאת הו"ע והע"ע שיקיימו את המשוואה הבאה Cv=λv.
על מנת למצוא את הו"ע הללו, נתחיל עם מקרה פשוט של מטריצה סיבובית מאוד בסיסית שתקרא C1 אשר נראית כך:
אז מספיק שנקבע v0=1 (זוהי קביעה שרירותית) אזי נקבל כי:
v1=α,v2=α2,v3=α3,…,vn−1=αn−1,v0=αn=1
קיבלנו פה אילוץ עבור α וכל α∈R שיפתור משוואה זו יהיה כביל :)
נסתכל על המשוואה שקיבלנו שהיא αn=1 ונשים לב שזהו פולינום אשר לו n שורשים. נשתמש במעגל היחידה ובנוסחת אויילר אשר אומרת:
αℓ=exp{−n2πiℓ}=e−n2πiℓ0≤ℓ≤n−1
הערה
ניתן להגדיר זאת גם בדרך אחרת כאשר נאמר כי:
∀0≤ℓ≤n−1:αℓ=wn−ℓ,wn=en2πi
נשים לב כי קיבלנו n ע"ע אפשריים למטריצה C1 וקיבלנו את n הו"ע המתייחסים אליהם:
vℓ=1αℓαℓ2αℓ3⋮αℓn−1
המקרה הכללי
ראינו עד כה מקרה מאוד מאוד פרטי של חישוב ע"ע וו"ע עבור מטריצה סיבובית. כעת, נוכל להשתמש בזה כדי למצוא את הע"ע והו"ע של כל מטריצה סיבובית.
נמשיך ונסתכל על המטריצה C1 רק שכעת בריבוע:
זהו פולינום מדרגה n−1 הפועל על המטריצה C1 ומקדמיו הם איברי השורה הראשונה במטריצה C.
נזכר במשפט מאלגברה אמ:
משפט
נניח כי λ∈C הוא ע"ע של המטריצה A עם ו"ע תואם v המקיימים Av=λv.
יהי פולינום כללי pn(x)∈Fn[x].
אזי pn(λ) הינו ע"ע של המטריצה pn(A) עם אותו ו"ע v.
Av=λv⟹pn(A)v=pn(λ)v
לפי משפט זה נוכל להגיד כי עבור מטריצה סיבובית כללית C הו"ע שלה הינם זהים לו"ע של C1 והע"ע הינם pn(λ) לכל λ ע"ע של C1.
מסקנה
תהי C מטריצה סיבובית כללית. אזי, קיימים סקלרים c0,…,cn−1∈F כך ש:
C=k=0∑n−1ckC1k
ומתקיים כי הו"ע של C זהים לו"ע של C1 עם הע"ע:
λℓ=k=0∑n−1ckαℓk=k=0∑n−1ckwn−kℓ∀0≤ℓ≤n−1
כעת, על מנת לסיים להוכיח את המשפט מלמעלה, נרצה רק להראות כי הו"ע מהווים סט אורתונורמלי.
הערה
בפרק זה, נשנה קצת את ההגדרה של הנורמה על מנת לתמוך במספרים מרוכבים:
כלומר, אותה מטריצה ששימשה ללכסון היא גם זו שאיתה נוכל לחשב את הע"ע מתוך השורה הראשונה של C.
למטריצה W זו יש שימוש מאוד מעניין ונראה אותו עכשיו:
התמרת הפורייה הדיסקרטית
הגדרה 6 (מטריצת פורייה)
המטריצה W שראינו נקראת מטריצת פורייה והכפלתה בווקטור c נקראת התמרת הפורייה הדיסקרטית המניבה ווקטור תוצאה d בעל אותו אורך n.
מסקנה
פעולת ה-DFT נתונה ע"ע d=Wc או בצורה מפורשת יותר:
{dℓ=n1k=0∑n−1ckwn−ℓk}ℓ=0n−1
משמעות הדבר היא שחישוב ע"ע של מטריצה סיבובית C (עד כדי קבוע) אינו אלא חישוב התמרת הפורייה הדיסקרטית על איברי שורתה הראשונה.
להתמרת הפורייה הדיסקרטית מגוון תכונות מעניינות. אנחנו נראה שתיים מתוכן שיותר רלוונטיות לנו.
משפט (תכונה I)
בהינתן שני וקטורים a,b∈Fn מתקיים כי:
DFT{a}⋅DFT{b}=DFT{ac⊗b}
מסקנה
ac⊗b=DFT−1{DFT{a}⋅DFT{b}}
מה שראינו כעת הוא תחליף לחישוב קונבולוציה סיבובית בין שני וקטורים אלה. בעצם, ניתן לבצע שתי התמרות פורייה דיסקרטיות, אחת לכל וקטור, להכפיל את התוצאות איבר איבר ואז לבצע התמרת פורייה דיסקרטית הפוכה וכך לקבל את תוצאת הקונבולוציה הסיבובית.
הוכחה של המשפט:
קונבולוציה סיבובית בין a ל-b ניתנת גם לכתיבה בעזרת בניית המטריצה הסיבובית B מהוקטור b והכפלתה ב-a:
ac⊗b=Bta
נבצע את התמרת פורייה הדיסקרטית על שני החלקים של המשוואה:
DFT{ac⊗b}=WBta=WBtIWHWa=WBtWH⋅DFT{a}
שכן Wa=DFT{a}.
(WBtWH)t=(WH)tBWt↓W=Wt(WH)t=WH=WHBW
מכיוון שהביטוי שהתקבל שווה לפעולת הכלסון שהינה מטריצה אלכסונית, מתקיים השוויון WBtWH=WHBW ולכן:
DFT{ac⊗b}=diag(DFT{b})⋅DFT{a}
∎
נשים לב כי כעת, ביצוע של התמרת פורייה דיסקרטית דורשת Θ(n2) פעולות. זה לא טוב ולכן נרצה לייעל זאת. פה מגיע המשפט הבא:
טענה
ניתן להכפיל במטריצה W ביעילות Θ(nlogn) ע"י אלגוריתם בשם התמרת פורייה מהירה(FFT).
הוכחה:
נניח כי n הוא חזקה של 2 ונפצל את הסכימה בהגדרת התמרת הפורייה הדיסקרטית לזוגיים ואי זוגיים.
קיבלנו כי את ה-DFT ה-n מימדי ניתן לקבל ע"י שתי פעולות DFT במימד 2n ובינהם אוסף של n פעולות "מיזוג".
ניתן לנצל קשר זה ולהמשיך רקורסיבית בפיצול כל וקטור לשני חלקים באופן דומה. ∎
הערה
כשנציב 2n≤ℓ≤n בשתי הסכימות הללו, נקבל פשוט מחזוריות. כלומר, איברי הסדרות שיתקבלו ישמשו פעמיים.
בואו נחשב את סיבוכיות האלגוריתם הרקורסיבי T(n) של DFT ב-n מימדים.