Uploaded by Elliot Ander

Ch-3-Slides-Orthogonality

advertisement
‫אלגוריתמים נומריים‬
‫(‪)234125‬‬
‫‪Numerical Algorithms‬‬
‫אורתוגונליות ופירוק ‪QR‬‬
‫מאת‪ :‬מיקי אלעד‬
‫המטרה של הרצאה זו‬
‫אנו נעסוק במטריצות אורתונורמליות ונבין את חשיבותן‬
‫נציג את פירוק ‪ QR‬למטריצות ואת השימוש בו לפתרון בעיות ‪LS‬‬
‫=‬
‫‪A = QR‬‬
‫❑ נבין מהן מטריצות אורתוגונליות‬
‫❑ נראה שפירוק זה אפשרי וכיצד ניתן לקבלו‬
‫❑ נראה שימושים של פירוק זה‬
‫‪2‬‬
‫תוכן העניינים‬
‫❑ אורתוגונליות ופירוק ‪QR‬‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.3‬‬
‫‪.4‬‬
‫‪.5‬‬
‫‪.6‬‬
‫‪.7‬‬
‫‪3‬‬
‫בסיסים אורתונורמליים וחשיבותם‬
‫מטריצות אורתונורמליות‬
‫תהליך ‪ Gram-Schmidt‬ווריאציות עליו‬
‫רגישות נומרית של תהליך ‪GS‬‬
‫פירוק ‪QR‬‬
‫שימוש בפירוק ‪ QR‬לפתרון מערכות משוואות‬
‫שימוש בפירוק ‪ QR‬לפתרון ‪LS‬‬
‫אורתוגונליות ופירוק ‪QR‬‬
‫=‬
‫‪A = QR‬‬
‫‪ .1‬בסיסים אורתונורמליים וחשיבותם‬
‫‪b‬‬
‫❑ נניח שנתונה לנו המטריצה ‪( A‬בגודל‬
‫‪ n×m‬כאשר ‪ )n>m‬מדרגה מלאה‪ ,‬ויחד‬
‫עמה נתון גם וקטור שרירותי ‪b‬‬
‫‪A‬‬
‫❑ המשימה שלפנינו‪ :‬פתרון בעיית הריבועים‬
‫הפחותים המוגדרת מהצמד ‪ A‬ו‪ b -‬ומציאת‬
‫גובהה המינימלי של הפונקציה הריבועית‬
‫‪2‬‬
‫‪2‬‬
‫‪n‬‬
‫‪min A x − b‬‬
‫‪x‬‬
‫‪m‬‬
‫❑ לכן‪ ,‬יהיה עלינו לבצע את החישוב ה‪"-‬מייגע" הבא‪:‬‬
‫‪x* = ( A A ) A T b‬‬
‫‪−1‬‬
‫) * ‪A x * − b 2 = b b − ( x *) ( A T A ) ( x‬‬
‫‪T‬‬
‫‪5‬‬
‫‪T‬‬
‫‪T‬‬
‫‪2‬‬
‫‪ .1‬בסיסים אורתונורמליים וחשיבותם‬
‫❑ נסמן את עמודות ‪ A‬באופן הבא‪:‬‬
‫❑ כעת נתמקד בשאלה הבאה‪ :‬מה אם ידוע‬
‫כי עמודות אלה אורתונורמליות?‬
‫‪j=k‬‬
‫‪j k‬‬
‫‪2‬‬
‫‪2‬‬
‫‪6‬‬
‫‪= 1 = ak‬‬
‫‪1‬‬
‫‪a ak = ‬‬
‫‪0‬‬
‫‪T‬‬
‫‪j‬‬
‫‪=0‬‬
‫‪‬‬
‫‪‬‬
‫|‪‬‬
‫‪‬‬
‫|‬
‫|‬
‫‪‬‬
‫‪‬‬
‫‪A = a1 a 2 ... a m ‬‬
‫‪‬‬
‫‪‬‬
‫|‬
‫|‬
‫|‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫ בסיסים אורתונורמליים וחשיבותם‬.1
‫❑ המטריצה שעלינו להפוך הינה‬
AT A



=


− a1 −
T
− a2 −
T
− am −
T
 a1T a1 a1T a 2
 T
T
 a 2 a1 a 2 a 2
=  a 3T a1 a 3T a 2

 T
a m a1 a Tm a 2







|
|

 a1 a 2

|
|

T
a1 a 3
T
a 2 a3
T
a3 a3
T
a m a3

| 
am 

| 

1
a1 a m 

0
T
a2 am 


T
a 3 a m  = 0




T
0
a m a m 
T
0 0
1 0
0 1
0 0
0
0 
0 = I m


1 
7
‫‪ .1‬בסיסים אורתונורמליים וחשיבותם‬
‫❑ לכן‪ ,‬פתרון ה‪ LS -‬המיוחל מתקבל בקלות ע"י‬
‫‪‬‬
‫‪ a1T b ‬‬
‫‪‬‬
‫‪ T ‬‬
‫‪‬‬
‫‪a2 b‬‬
‫‪b‬‬
‫=‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪a Tm b ‬‬
‫‪− a1 −‬‬
‫‪T‬‬
‫‪− a2 −‬‬
‫‪T‬‬
‫‪− am −‬‬
‫‪T‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫= ‪x* = ( A T A ) A T b = A T b‬‬
‫‪−1‬‬
‫❑ להזכירכם‪ ,‬ביקשנו גם לדעת את גובה הביטוי של ה‪:LS -‬‬
‫‪2‬‬
‫‪2‬‬
‫‪p ( x *) = b b − ( x *) ( A A ) ( x *) = b 2 − A b‬‬
‫‪T‬‬
‫‪2‬‬
‫‪T‬‬
‫‪T‬‬
‫‪T‬‬
‫‪=I‬‬
‫❑ המסקנה (לעת עתה)‪ :‬אם התמזל מזלנו ועמודות ‪ A‬אורתונורמליות‪,‬‬
‫אז חישובי פתרון ה‪ LS-‬וגובה הפונקציה במינימום נעשים קלים יותר‬
‫לאין ערוך‪.‬‬
‫‪8‬‬
‫‪ .2‬מטריצות אורתונורמליות‬
‫הגדרה‪ :‬מטריצה ‪ Q‬נקראית אורתונורמלית אם היא‬
‫ריבועית ועמודותיה מהוות בסיס אורתונורמלי‬
‫‪n‬‬
‫למלוא המרחב‬
‫‪j=k‬‬
‫‪j k‬‬
‫‪1‬‬
‫‪v vk = ‬‬
‫‪0‬‬
‫‪T‬‬
‫‪j‬‬
‫‪‬‬
‫‪‬‬
‫‪| ‬‬
‫‪vn ‬‬
‫‪‬‬
‫‪| ‬‬
‫‪‬‬
‫‪‬‬
‫|‪‬‬
‫|‬
‫‪‬‬
‫‪Q =  v1 v 2‬‬
‫‪‬‬
‫|‬
‫|‪‬‬
‫‪‬‬
‫❑ לעתים נשתמש במושג מטריצה יוניטרית כשם נרדף למטריצה‬
‫אורתונורמלית‬
‫‪9‬‬
‫ מטריצות אורתונורמליות‬.2



QT Q = 



 | |

  v1 v2
 | |
 
− v1 −
T
− v2 −
T
− vn −
 v1T v1
 T
 v 2 v1
=  v3T v1


 T
 v n v1
T
T
v1 v3
T
v 2 v3
T
v3 v3
T
v n v3
v1 v 2
v2 v2
v3 v 2
vn v2
T
T
T
T

| 
vn 

| 

v1 v n  1
 
T
v 2 v n  0

T
v3 v n  = 0




T
v n v n  0
T
0 0
1 0
0 1
0 0
‫❑ ברור שמתקיים‬
0
0 
0 = I n


1 
10
‫‪ .2‬מטריצות אורתונורמליות‬
‫❑ אבל הפעם יש לתוצאה זו משמעות רחבה יותר‪ ,‬כי ‪ Q‬מטריצה‬
‫ריבועית‪ ,‬ולכן‬
‫‪QTQ = I‬‬
‫‪Q−1 = QT‬‬
‫❑ תכונה ‪ :0‬למשפחה זו של מטריצות יש תכונה ייחודית – היפוכן‬
‫מתקבל בקלות וללא חישוב כלל‪ ,‬ע"י פעולת השיחלוף‬
‫❑ תכונה ‪ :1‬מהנ"ל נובע שמתקבל כי ‪ , QQT = I‬ומזאת נובע שאם‬
‫בידינו סידרת ‪ n‬וקטורים אורתונורמליים ואנו בונים מהם את‬
‫עמודותיה של מטריצה ריבועית ואורתונורמלית‪ ,‬הרי שגם שורותיה‬
‫תהיינה אנכייות זו לזו‬
‫❑ תכונה ‪det Q = 1 :2‬‬
‫‪11‬‬
‫‪ = det Q‬‬
‫‪2‬‬
‫‪T‬‬
‫‪det I = 1 = det QQ‬‬
‫‪ .2‬מטריצות אורתונורמליות‬
‫❑ תכונה ‪ :3‬מכפלתן של מטריצות כאלה אף היא אורתונורמלית‪ ,‬כיוון ש‪-‬‬
‫‪( Q1Q2 ) ( Q1Q2 ) = QT2 Q1TQ1 Q2 = QT2 Q2 = I‬‬
‫‪T‬‬
‫‪=I‬‬
‫❑ תכונה ‪ :4‬הכפלת וקטור במטריצה אורתונורמלית לא משנה את אורכו‬
‫ב‪L2 -‬‬
‫‪2‬‬
‫‪2‬‬
‫‪T T‬‬
‫‪T‬‬
‫‪2‬‬
‫‪Qx 2 = x Q Qx = x x = x‬‬
‫❑ שתי התכונות האחרונות ברורות גם מהבנת המשמעות הגיאומטרית‬
‫של מטריצות אורתונורמליות – אלה הן מטריצות המסובבות וקטורים‬
‫ביחס לראשית‪ ,‬ולכן המרחק מהראשית נותר ללא שינוי‪ ,‬והרכבת‬
‫סיבובים היא סיבוב‬
‫‪12‬‬
‫‪ .2‬מטריצות אורתונורמליות‬
‫❑ ניתן מספר דוגמאות למטריצות אורתונורמליות‬
‫▪ זוכרים את מטריצת הפרמוטציה מפירוק ‪ ?LU‬זו מטריצה ממשפחה זו!‬
‫▪ ניכר שעמודותיה של מטריצה זו מנורמלים ואנכיים זה לזה‬
‫‪0‬‬
‫‪0 ‬‬
‫‪0‬‬
‫‪‬‬
‫‪0‬‬
‫‪1 ‬‬
‫‪13‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0 0‬‬
‫‪0 1‬‬
‫‪0 ‬‬
‫‪‬‬
‫‪−1‬‬
‫‪T‬‬
‫‪0   Q = Q = 0 0‬‬
‫‪‬‬
‫‪‬‬
‫‪0‬‬
‫‪1 0‬‬
‫‪0 0‬‬
‫‪1 ‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪‬‬
‫‪Q = 1‬‬
‫‪‬‬
‫‪0‬‬
‫‪0‬‬
‫ מטריצות אורתונורמליות‬.2
‫❑ ניתן מספר דוגמאות למטריצות אורתונורמליות‬
: 2D -‫▪ מטריצת סיבוב ב‬
  0, 2
 − sin (  ) 


 cos (  ) 
cos (  ) 


 sin (  ) 

cos (  ) − sin (  ) 
Q=

 sin (  ) cos (  ) 
 


 


 


 


)
0
− sin(  )
 Q  = 

Q 10 = cos(
sin(  ) 
1 
 cos(  ) 
: 2D -‫▪ מטריצת שיקוף של הצירים ב‬
1 0 
 −1 0
Q=
; Q=


0
−
1
0
1




14
‫‪ .2‬מטריצות אורתונורמליות‬
‫❑ ניתן מספר דוגמאות למטריצות אורתונורמליות‬
‫▪ מטריצת ‪ Givens‬מציעה סיבוב בין שני צירים בוקטור במימד גבוה‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪1‬‬
‫‪15‬‬
‫) ‪cos ( ‬‬
‫) ‪− sin ( ‬‬
‫‪1‬‬
‫) ‪cos ( ‬‬
‫) ‪sin ( ‬‬
‫‪1‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪G=‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪ .2‬מטריצות אורתונורמליות‬
‫❑ ניתן מספר דוגמאות למטריצות אורתונורמליות‬
‫▪ מטריצת השיקוף של ‪ – Householder‬נניח כי נתון וקטור ‪ v‬באורך יחידה‪,‬‬
‫‪ .vTv=1‬המטריצה המוצעת הינה‬
‫‪T‬‬
‫‪H = I − 2vv‬‬
‫נוכיח כי היא אורתונורמלית (אגב‪ ,‬ניכר שהיא סימטרית!)‬
‫‪= I − 4vv + 4v v v v = I‬‬
‫‪T‬‬
‫‪T‬‬
‫‪=1‬‬
‫‪T‬‬
‫)‬
‫‪T‬‬
‫‪I − 2vv‬‬
‫()‬
‫‪T‬‬
‫כשמכפילים מטריצה זו ב‪ v -‬מקבלים שיקוף‪) v = −v :‬‬
‫ובכל כיוון אחר ‪ w‬אנכי לוקטור זה (‪ )vTw=0‬נקבל‪:‬‬
‫‪16‬‬
‫(‬
‫‪HH T = I − 2vv‬‬
‫‪T‬‬
‫(‬
‫‪H v = I − 2vv‬‬
‫‪)w = w‬‬
‫‪T‬‬
‫(‬
‫‪H w = I − 2vv‬‬
‫‪ .3‬תהליך ‪ Gram-Schmidt‬ווריאציות עליו‬
‫❑ ראינו כמה נוח לעבוד עם בסיסים אורתונורמליים‪ ,‬אם חלקיים ואם‬
‫מלאים‪.‬‬
‫❑ השאלה בה נעסוק כעת היא – בהינתן בסיס שאינו כזה‪ ,‬או אף סט‬
‫וקטורים כלשהו שעבור ה‪ span-‬שלו אנו מעוניינים בבסיס אורתונורמלי‪,‬‬
‫כיצד נמצא כזה?‬
‫❑ תהליך ‪ )GS( Gram*-Schmidt‬מציע לנו תהליך מסודר להשגת יעד זה‪.‬‬
‫❑ כפי שנראה‪ ,‬יש כמה דרכים לבנות תהליך זה‪ ,‬ועל אף היותן תיאורטית‬
‫דרכים זהות‪ ,‬מבחינה נומרית התנהגותן יכולה להיות שונה בתכלית‬
‫❑ אנו נציג תהליך חישובי ולאחר מכן ניתן לו פרשנות של פירוק מטריצה‪,‬‬
‫ממש בדומה לתהליך שלקח אותנו מאלימינציית גאוס לפירוק ‪LU‬‬
‫‪17‬‬
‫* מדובר באותו ‪( Gram‬יורגן גראם מדנמרק)‬
‫שעל שמו קראנו את מטריצות גראם‪ .‬השיטה‬
‫המוצעת פותחה לפני כמאה וחמישים שנה‬
‫‪ .3‬תהליך ‪ Gram-Schmidt‬ווריאציות עליו‬
‫❑ נתון סט של וקטורי כניסה כלשהם‬
‫‪ w1, w2, … ,wL‬מהמרחב ה‪-n-‬מימדי‬
‫❑ תהליך ‪ GS‬יבנה מוקטורים אלה סידרת‬
‫וקטורים אורתונורמלית עם ‪ L‬או פחות‬
‫וקטורים‪u1, u2, … ,uL ,‬‬
‫‪n‬‬
‫‪w k k =1 ‬‬
‫‪L‬‬
‫תהליך‬
‫‪Gram-Schmidt‬‬
‫❑ התהליך סידרתי ומקיים את התכונה‬
‫הבאה בכל איטרציה ‪:k‬‬
‫‪span w1 , w 2 , ... , w k  = span u1 , u 2 , ... , u k ‬‬
‫‪n‬‬
‫‪18‬‬
‫‪u k k =1 ‬‬
‫‪L‬‬
‫‪ .3‬תהליך ‪ Gram-Schmidt‬ווריאציות עליו‬
‫אלגוריתם ‪Gram-Schmidt‬‬
‫❑ צעד ראשון – מתקבל ‪ w1‬וברצוננו לייצר את ‪u1‬‬
‫❑ השיטה‪ :‬נירמול וקטור הכניסה*‬
‫‪1‬‬
‫= ‪u1‬‬
‫‪w1‬‬
‫‪w1 2‬‬
‫❑ ברור שמתקיים כי ‪span w1 = span u1‬‬
‫*‬
‫‪19‬‬
‫הערה‪ :‬אנו נניח כי בסידרת וקטורי הכניסה לא נמצאים וקטורי אפס‪ .‬אם יש‬
‫כאלה‪ ,‬יש להשמיטם בטרם התהליך כי אין להם השפעה עליו‬
‫‪ .3‬תהליך ‪ Gram-Schmidt‬ווריאציות עליו‬
‫אלגוריתם ‪Gram-Schmidt‬‬
‫❑ צעד שני – מתקבל ‪ w2‬וברצוננו לייצר את ‪u2‬‬
‫❑ אנו רוצים שהוקטור ‪ u2‬יקיים שלוש תכונות‪:‬‬
‫▪ הנורמה שלו צריכה להיות ‪1‬‬
‫▪ וקטור זה צריך להיות אנכי ל‪u1 -‬‬
‫▪ יש לקיים את הדרישה ‪span w1 , w 2  = span u1 , u 2 ‬‬
‫* אם הוקטור לפני‬
‫נירמול מאופס‪ ,‬פירוש‬
‫הדבר שהוא נפרס‬
‫מקודמו‪ .‬במקרה כזה‬
‫לא נבצע נירמול‪,‬‬
‫ונשכח מקיומו של ‪w2‬‬
‫– הוא לא תורם דבר‬
‫לוקטורי המוצא‬
‫נירמול *‬
‫❑ השיטה‪ :‬קילוף ‪ u1‬מהוקטור ‪ w2‬להשגת אנכיות‪ ,‬ואז‬
‫‪‬‬
‫‪‬‬
‫‪T‬‬
‫‪T‬‬
‫‪T‬‬
‫‪T‬‬
‫‪1. u 2 = w 2 − cu1‬‬
‫‪0 = u1 u 2 = u1 w 2 − c u1 u1  c = u1 w 2 ‬‬
‫‪‬‬
‫‪‬‬
‫‪=1‬‬
‫‪1‬‬
‫= ‪2. u 2‬‬
‫‪u2‬‬
‫❑ באשר לתכונה השלישית‪ ,‬היא מתקיימת כיוון‬
‫‪u2 2‬‬
‫ש‪ u2-‬ו‪ u1-‬נבנו מצירופים ליניארים של ‪ w1‬ו‪,w2-‬‬
‫ולכן ‪ . span w1 , w 2   span u1 , u 2 ‬כיוון שהמימד של תת‪-‬המרחב‬
‫‪ 20‬המתקבל הוא ‪ ,2‬ישנו שוויון‬
‫‪ .3‬תהליך ‪ Gram-Schmidt‬ווריאציות עליו‬
‫אלגוריתם ‪Gram-Schmidt‬‬
‫❑ צעד שלישי – מתקבל ‪ w3‬וברצוננו לייצר את ‪u3‬‬
‫❑ אנו רוצים שהוקטור ‪ u3‬יקיים שלוש תכונות כמקודם‪ :‬הנורמה שלו‬
‫צריכה להיות ‪ ,1‬וקטור זה צריך להיות אנכי ל‪ u1 -‬ו‪ ,u2-‬וכמו כן‪ ,‬יש‬
‫לקיים את הדרישה ‪span w1 , w 2 , w 3  = span u1 , u 2 , u 3 ‬‬
‫❑ השיטה‪ :‬קילוף להשגת אנכיות‪ ,‬ואז נירמול‬
‫‪ 0 = u1T u 3 = u1T w 3 − c1  c1 = u1T w 3 ‬‬
‫‪‬‬
‫‪‬‬
‫‪T‬‬
‫‪T‬‬
‫‪T‬‬
‫‪0 = u 2 u 3 = u 2 w 3 − c2  c2 = u 2 w 3 ‬‬
‫‪21‬‬
‫‪1. u 3 = w 3 − c1 u1 − c2 u 2‬‬
‫‪1‬‬
‫= ‪2. u 3‬‬
‫‪u3‬‬
‫‪u3 2‬‬
‫‪ .3‬תהליך ‪ Gram-Schmidt‬ווריאציות עליו‬
‫אלגוריתם ‪Gram-Schmidt‬‬
‫❑ צעד ‪ – k‬מתקבל ‪ wk‬וברצוננו לייצר את ‪uk‬‬
‫❑ השיטה‪ :‬כמקודם – יש לייצר וקטור באורך יחידה‪ ,‬אנכי לקודמיו‪ ,‬וכזה‬
‫שפורס את אותו תת‪-‬מרחב‬
‫❑ השיטה‪ :‬קילוף להשגת אנכיות‪ ,‬ואז נירמול‬
‫‪ 0 = u1T u k = u1T w k − c1  c1 = u1T w k ‬‬
‫‪‬‬
‫‪‬‬
‫‪T‬‬
‫‪T‬‬
‫‪T‬‬
‫‪ c2 = u 2 w k ‬‬
‫‪0 = u 2 u k = u 2 w k − c 2‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪0 = u T u = u T w − c  c = u T w ‬‬
‫‪k −1 k‬‬
‫‪k −1‬‬
‫‪k‬‬
‫‪k −1‬‬
‫‪k‬‬
‫‪‬‬
‫‪k −1‬‬
‫‪k −1‬‬
‫‪22‬‬
‫‪k −1‬‬
‫‪1. u k = w k −  c j u j‬‬
‫‪j=1‬‬
‫‪1‬‬
‫= ‪2. u k‬‬
‫‪uk‬‬
‫‪uk 2‬‬
‫‪ .3‬תהליך ‪ Gram-Schmidt‬ווריאציות עליו‬
‫אלגוריתם ‪Gram-Schmidt‬‬
‫‪n‬‬
‫איתחול‪:‬‬
‫ קבע ‪k=1‬‬‫ הבא את הוקטור ‪w1‬‬‫איטרציה‪:‬‬
‫‪T‬‬
‫‪ -‬קילוף‪u j w k u j :‬‬
‫)‬
‫‪ -‬נירמול‪:‬‬
‫‪2‬‬
‫(‬
‫‪k −1‬‬
‫‪uk = wk − ‬‬
‫‪j=1‬‬
‫‪w k k =1 ‬‬
‫‪L‬‬
‫תהליך‬
‫‪Gram-Schmidt‬‬
‫‪uk = uk / uk‬‬
‫ קבע ‪k=k+1‬‬‫ הבא את הוקטור ‪wk‬‬‫‪23‬‬
‫‪n‬‬
‫‪u k k =1 ‬‬
‫‪L‬‬
‫‪ .3‬תהליך ‪ Gram-Schmidt‬ווריאציות עליו‬
‫משפט‪ :‬בהינתן סט וקטורים כלשהו בת"ל‪,‬‬
‫‪n‬‬
‫‪w k k =1 ‬‬
‫‪L‬‬
‫המגדיר תת‪-‬מרחב‪ ,‬קיים בסיס אורתונורמלי‬
‫תחליפי‬
‫‪L‬‬
‫‪n‬‬
‫‪u k k =1 ‬‬
‫אשר יפרוס את אותו תת‪-‬מרחב‪,‬‬
‫‪span w1 , w 2 , ... , w L  = span u1 , u 2 , ... , u L ‬‬
‫❑ הוכחה‪ :‬בבניה‪ ,‬עפ"י תהליך ‪ ,GS‬הראינו זאת!‬
‫❑ האם מתקיימת יחידות? (סדר הוקטורים‪ ,‬סימני הוקטורים הנוצרים)‬
‫‪24‬‬
‫‪ .3‬תהליך ‪ Gram-Schmidt‬ווריאציות עליו‬
‫אלגוריתם ‪Modified Gram-Schmidt‬‬
‫❑ אנו עוברים לתיאור של וריאציה אחרת של אלגוריתם ‪GS‬‬
‫❑ שיטה זו שקולה לחלוטין לאלגוריתם שתואר קודם‪ ,‬אם כי היא נראית‬
‫אחרת‬
‫❑ תכליתה של שיטה זו יובהר בהמשך‪,‬‬
‫כשנדון בכלי הקרוי פירוק ‪QR‬‬
‫❑ יסוד השיטה‪ :‬הישענות על המשוואות‬
‫הבאות שקושרות בין וקטורי‬
‫הכניסה לאלו שאנו יוצרים‬
‫‪+ rLL u L‬‬
‫‪25‬‬
‫‪w1 = r11 u 1‬‬
‫‪w 2 = r21 u 1 + r22 u 2‬‬
‫‪w 3 = r31 u 1 + r32 u 2 + r33 u 3‬‬
‫‪w L = rL1 u 1 + rL2 u 2 + rL3 u 3 +‬‬
‫‪w1 = r11 u 1‬‬
‫‪w 2 = r21 u 1 + r22 u 2‬‬
‫‪w 3 = r31 u 1 + r32 u 2 + r33 u 3‬‬
‫‪ .3‬תהליך ‪ GS‬ווריאציות עליו‬
‫‪+ rLL u L‬‬
‫‪w L = rL1 u 1 + rL2 u 2 + rL3 u 3 +‬‬
‫אלגוריתם ‪Modified Gram-Schmidt‬‬
‫❑ נתייחס למשוואה הראשונה‪:‬‬
‫‪w1 = r11 u 1‬‬
‫❑ ברור שאת המקדם ‪ r11‬נקבע על מנת לקבל נירמול של הוקטור ‪ u1‬ולכן‬
‫‪w1 2 = r u 1 2 = r112‬‬
‫‪2‬‬
‫‪2‬‬
‫‪11‬‬
‫‪2‬‬
‫❑ שימו לב – יש לנו חופש בבחירת סימנו של מקדם זה‪.‬‬
‫❑ שורה תחתונה‪ :‬המשוואה הראשונה הינה ‪w1 =  w1 2 u 1‬‬
‫‪26‬‬
‫‪w1 = r11 u 1‬‬
‫‪w 2 = r21 u 1 + r22 u 2‬‬
‫‪w 3 = r31 u 1 + r32 u 2 + r33 u 3‬‬
‫‪ .3‬תהליך ‪ GS‬ווריאציות עליו‬
‫‪+ rLL u L‬‬
‫‪w L = rL1 u 1 + rL2 u 2 + rL3 u 3 +‬‬
‫אלגוריתם ‪Modified Gram-Schmidt‬‬
‫❑ נתייחס למשוואה השניה‪w 2 = r21 u 1 + r22 u 2 :‬‬
‫❑ בשל האנכיות של ‪ u1‬ל‪ u2 -‬נקבל כי ‪ r21‬ידוע‬
‫‪1‬‬
‫) ‪u 2 = ( w 2 − r21 u 1‬‬
‫‪r22‬‬
‫‪u w 2 = r u u 1 + r22 u u 2 = r21‬‬
‫‪T‬‬
‫‪1‬‬
‫‪T‬‬
‫‪1‬‬
‫‪T‬‬
‫‪21 1‬‬
‫❑ את המקדם ‪ r22‬נקבע על מנת לקבל נירמול של הוקטור ‪ u2‬ולכן‬
‫‪w 2 2 = r21 u 1 + r22 u 2 2 = r + r  r22 =  w 2 2 − r212‬‬
‫‪2‬‬
‫‪2‬‬
‫‪22‬‬
‫‪2‬‬
‫‪21‬‬
‫❑ באופן זה שני המקדמים‪ r21 ,‬ו‪ ,r22 -‬ידועים‬
‫‪27‬‬
‫‪2‬‬
‫‪2‬‬
w1 = r11 u 1
w 2 = r21 u 1 + r22 u 2
w 3 = r31 u 1 + r32 u 2 + r33 u 3
‫ ווריאציות עליו‬GS ‫ תהליך‬.3
w L = rL1 u 1 + rL2 u 2 + rL3 u 3 +
+ rLL u L
Modified Gram-Schmidt ‫אלגוריתם‬
w k = rk1 u 1 + rk 2 u 2 +
+ rk,k −1 u k −1 + rkk u k :k-‫❑ נתייחס למשוואה ה‬
‫ המקדמים‬k-1 ‫) נקבל כי‬j=1,2, … ,k-1( uj -‫ ל‬uk ‫❑ בשל האנכיות של‬
‫הראשונים ידועים‬
u w k = rk1 u u 1 + rk 2 u u 2 +
T
j
T
j
+ rkj u u j +
T
j
+ rkk u u k = rkj
T
j
T
j
‫ ולכן‬uk ‫ נקבע על מנת לקבל נירמול של הוקטור‬rkk ‫❑ את המקדם‬
wk
2
2
= rk1 u 1 + rk 2 u 2 +
 rkk = 
+ rkk u k
k −1
w k 2 −  rkj2
2
2
2
k
=  rkj2
j=1
‫כיצד מחושבים‬
u ‫הוקטורים‬
? ‫בתהליך זה‬
j=1
28
‫‪ .3‬תהליך ‪ Gram-Schmidt‬ווריאציות עליו‬
‫אלגוריתם ‪Stable Gram-Schmidt‬‬
‫❑ אנו עוברים לתיאור של וריאציה שלישית של אלגוריתם ‪GS‬‬
‫❑ שיטה זו שקולה לחלוטין לשני האלגוריתמים שתוארו קודם‪ ,‬אם כי‬
‫היא נראית אחרת‬
‫❑ תכליתה של שיטה זו‪ ,‬כשמה‪ ,‬הוא לספק תהליך ‪ GS‬יציב מבחינה‬
‫נומרית‪ ,‬ואכן‪ ,‬גירסה זו יציבה הרבה יותר משתי קודמותיה‬
‫❑ יסוד השיטה‪ :‬שינוי סדר הפעולות שבאלגוריתם ‪ ,GS‬ובשל כך‪,‬‬
‫השגת יציבות טובה יותר‬
‫‪29‬‬
‫‪ .3‬תהליך ‪ Gram-Schmidt‬ווריאציות עליו‬
‫אלגוריתם ‪Stable Gram-Schmidt‬‬
‫❑ אנו עוברים לתיאור של וריאציה שלישית של אלגוריתם ‪GS‬‬
‫❑ שיטה זו שקולה לחלוטין לשני האלגוריתמים שתוארו קודם‪ ,‬אם כי‬
‫היא נראית אחרת‬
‫❑ תכליתה של שיטה זו‪ ,‬כשמה‪ ,‬הוא לספק תהליך ‪ GS‬יציב מבחינה‬
‫נומרית‪ ,‬ואכן‪ ,‬גירסה זו יציבה הרבה יותר משתי קודמותיה‬
‫❑ יסוד השיטה‪ :‬שינוי סדר הפעולות שבאלגוריתם ‪ ,GS‬ובשל כך‪,‬‬
‫השגת יציבות טובה יותר‬
‫‪30‬‬
‫‪ .3‬תהליך ‪ Gram-Schmidt‬ווריאציות עליו‬
‫אלגוריתם ‪Stable Gram-Schmidt‬‬
‫❑ צעד ראשון – מתקבל ‪ w1‬וברצוננו לייצר את ‪u1‬‬
‫‪1‬‬
‫= ‪u1‬‬
‫❑ השיטה‪ :‬נירמול וקטור הכניסה ‪w1‬‬
‫‪w1 2‬‬
‫❑ עד כאן הטיפול זהה לשיטת ‪ ,GS‬וכעת בא ההבדל ‪...‬‬
‫❑ לפני שנעבור לוקטור הבא‪" ,‬ננקה" את כל וקטורי הנתונים ע"י קילוף‬
‫‪ u1‬מתוכם‪ .‬ניקוי זה פירושו שאחריו הוקטורים אנכיים ל‪ .u1 -‬זאת‬
‫נעשה ע"י‬
‫‪T‬‬
‫‪j = 2,3,‬‬
‫‪,L w j  w j − u1 w j u1‬‬
‫)‬
‫(‬
‫❑ להזכירכם‪ ,‬ניקוי זה הופעל גם בשיטת ‪ GS‬אם כי בשלב אחר‬
‫‪31‬‬
‫‪ .3‬תהליך ‪ Gram-Schmidt‬ווריאציות עליו‬
‫אלגוריתם ‪Stable Gram-Schmidt‬‬
‫❑ צעד שני – מתקבל ‪ w2‬וברצוננו לייצר את ‪u2‬‬
‫❑ קודם נדרשנו לנקות מוקטור זה את המרכיב של ‪ u1‬ורק אז לנרמל‪.‬‬
‫כעת ניקוי זה כבר מאחורינו ולכן כל שנדרש לעשות הוא‬
‫‪1‬‬
‫= ‪u2‬‬
‫‪w2‬‬
‫‪w2 2‬‬
‫❑ כעת עלינו לנקות את כל הוקטורים הנותרים על מנת להופכם אנכיים‬
‫ל‪ ,u2 -‬וזאת ע"י‬
‫)‬
‫(‬
‫‪,L w j  w j − u 2 w j u 2‬‬
‫‪32‬‬
‫‪T‬‬
‫‪j = 3,4,‬‬
‫‪ .3‬תהליך ‪ Gram-Schmidt‬ווריאציות עליו‬
‫אלגוריתם ‪Stable Gram-Schmidt‬‬
‫❑ צעד ‪ – k‬מתקבל ‪ wk‬וברצוננו לייצר את ‪uk‬‬
‫❑ קודם נדרשנו לנקות מוקטור זה את המרכיבים של כל הוקטורים‬
‫הקודמים ורק אז לנרמל‪ .‬כעת ניקוי זה כבר מאחורינו ולכן כל שנדרש‬
‫לעשות הוא‬
‫‪1‬‬
‫= ‪uk‬‬
‫‪wk‬‬
‫‪wk 2‬‬
‫❑ כעת עלינו לנקות את כל הוקטורים הנותרים על מנת להופכם אנכיים‬
‫ל‪ ,uk -‬וזאת ע"י‬
‫‪T‬‬
‫‪j = k + 1,‬‬
‫‪,L w j  w j − u k w j u k‬‬
‫)‬
‫‪33‬‬
‫(‬
‫ ווריאציות עליו‬Gram-Schmidt ‫ תהליך‬.3
L
n
Stable Gram-Schmidt ‫אלגוריתם‬
w k k =1 
:‫איתחול‬
k=1 ‫ קבע‬wk ‫ הבא את הוקטור‬-
‫תהליך‬
Gram-Schmidt
uk = wk / wk
(
2
:‫איטרציה‬
:‫ נירמול‬-
)
w j  w j − u k w j u k for k  j  L ‫ קילוף‬-
u k k =1 
L
T
k=k+1 ‫ קבע‬n
wk ‫ הבא את הוקטור‬34
‫‪ .3‬תהליך ‪ Gram-Schmidt‬ווריאציות עליו‬
‫הדגם נושא זה ע"י הרצת ‪Demo-GS.m‬‬
‫מה קרה כאן?‬
‫אלגוריתם ה‪ SGS -‬מתנהל טוב יותר עם שגיאות מצטברות‪ ,‬בשל העובדה שכל‬
‫קילוף פועל על וקטורים שכבר "זוככו" קודם‪ ,‬ולכן אינו צובר את שגיאתם – עוד על‬
‫כך בהמשך‬
‫‪35‬‬
‫‪ .3‬תהליך ‪ Gram-Schmidt‬ווריאציות עליו‬
‫❑ מהי הסיבוכיות החישובית של תהליך ‪ ?GS‬נניח כי אנו‬
‫פועלים על ‪ L<n‬וקטורים בת"ל במימד ‪n‬‬
‫❑ ננתח את אלגוריתם ה‪:SGS -‬‬
‫‪W‬‬
‫▪ כל פעולת נירמול דורשת ‪ 2n‬פעולות‬
‫‪2‬‬
‫‪uk = wk / wk‬‬
‫‪L‬‬
‫▪ כל פעולת קילוף דורשת ‪ 2n‬פעולות‬
‫‪T‬‬
‫‪w j  w j − uk w j uk‬‬
‫)‬
‫(‬
‫❑ כמות הפעולות הכוללת הינה ‪,L2/2‬‬
‫וזאת יש להכפיל ב‪ 2n -‬ולכן‬
‫תהליך זה דורש ‪ nL2‬פעולות‬
‫❑ כאשר פועלים על ‪ n‬וקטורים‬
‫(כלומר מטריצה ריבועית בגודל ‪,)nn‬‬
‫‪ 36‬הסיבוכיות תהיה ‪n3‬‬
‫‪n‬‬
‫צעד‬
‫מספר‬
‫פעולות‬
‫נירמול‬
‫מספר‬
‫פעולות‬
‫קילוף‬
‫‪1‬‬
‫‪1‬‬
‫‪L-1‬‬
‫‪2‬‬
‫‪1‬‬
‫‪L-2‬‬
‫‪‬‬
‫‪L‬‬
‫‪1‬‬
‫‪0‬‬
‫סיכום‪:‬‬
‫‪ L‬פעולות‬
‫‪L(L-1)/2‬‬
‫פעולות‬
‫‪ .4‬רגישות נומרית של תהליך ‪GS‬‬
‫❑ הצגנו שלוש שיטות לבניית סידרת וקטורים אורתונורמלית מתוך סט‬
‫נתון של וקטורים‪:‬‬
‫▪ ‪Gram Schmidt‬‬
‫▪ ‪ ,Modified Gram Schmidt‬ו‪-‬‬
‫▪ ‪Stable Gram Schmidt‬‬
‫❑ כאמור‪ ,‬שלושת השיטות שהוצגו שקולות לחלוטין מבחינה תיאורטית‬
‫❑ בטיפול נומרי‪ ,‬שתי השיטות הראשונות חלשות מאוד ורגישות‬
‫לשגיאות העגלה‪ ,‬בשעה ששיטת ה‪ Stable Gram-Schmidt -‬חזקה‬
‫יותר‬
‫❑ נראה זאת דרך דוגמה שתמחיש את שבריריות תהליך ‪ GS‬אם אינו‬
‫נעשה בזהירות‬
‫‪37‬‬
‫‪ .4‬רגישות נומרית של תהליך ‪GS‬‬
‫‪1‬‬
‫‪0‬‬
‫❑ נניח כי בידינו אוסף הוקטורים הבא‪:‬‬
‫‪0‬‬
‫‪‬‬
‫‪e‬‬
‫‪1‬‬
‫‪0‬‬
‫‪e‬‬
‫‪0‬‬
‫‪1‬‬
‫‪e‬‬
‫‪W=‬‬
‫‪0‬‬
‫‪‬‬
‫‪0‬‬
‫❑ אנו מניחים שהפרמטר ‪ e‬הינו ערך קטן מאוד – כזה בו המחשב‬
‫נותן בשל דיוק סופי‬
‫‪1+ e = 1‬‬
‫❑ המשימה שלפנינו‪ :‬ביצוע תהליך אורתוגונליזציה על וקטורים אלו‬
‫אנו נבחן את שיטות ה‪ GS -‬וה‪SGS -‬‬
‫‪38‬‬
1
e
W=
0

0
1
0
e
0
1
0

0

e
GS ‫ רגישות נומרית של תהליך‬.4
GS -‫שיטת ה‬
:‫❑ בניית הוקטור הראשון‬
1 
e 
w1 =  
0
 
0
1  1 
   
1 e  e
u1 =
=
2 0
0
1+ e
   
0 0
39
1
e
W=
0

0
1
e
U=
0

0
1
0
e
0
1
0

0

e
GS ‫ רגישות נומרית של תהליך‬.4






:‫❑ בניית הוקטור השני‬
1 
0
w2 =  
e 
 
0
v2
u2 =
v2 2
GS -‫שיטת ה‬
1 
1   0 
0
 e   −e 
T
v 2 = w 2 − u1 w 2 u 1 =   − 1    =  
e 
0  e 
 
   
0
 
0  0 
 0 
 −1/ 2 

=
 1/ 2 


0


(
)
40
1
e
W=
0

0
1
e
U=
0

0
1
0
e
0
1
0

0

e
0
−1
−1
0
2
2
GS ‫ רגישות נומרית של תהליך‬.4
GS -‫שיטת ה‬






1 
0 
w3 =  
0 
 
e 
u3 =
v3
v3 2
 0 
 −1/ 2 

=
 0 


 1/ 2 
:‫❑ בניית הוקטור השלישי‬
(
)
(
)
v 3 = w 3 − u1 w 3 u 1 − u 2 w 3 u 2
T
T
1 
1 
 0  0
0
e 
 −1/ 2   −e 
= 
=   − 1   − 0  
0
0
 1/ 2   0 
 
 

  
e
0
0
 
 

 e
1
e
U=
0

0
0
−1
2
−1
2
0
0 

−1 2

0 

1 2 
41
1
e
W=
0

0
1
0
e
0
1
0

0

e
GS ‫ רגישות נומרית של תהליך‬.4
GS -‫שיטת ה‬
‫❑ נשים לב ששלושת הוקטורים שהתקבלו אינם מהוים סט אורתונורמלי‬
1 
 0 
 0 
e 
 −1/ 2 
 −1/ 2 
 , u3 = 

u1 =   , u 2 = 
0
 1/ 2 
 0 
 




0
0
1/
2
 




 u1T u1 u1T u 2
 T
T
G =  u 2 u1 u 2 u 2
 T
T
u
u
u
3 u2
 3 1
u1 u 3   1
−0.707e −0.707e  1 0
0

T
u 2 u 3  =  −0.707e
1
0.5  = 0 1 0.5

T
0.5
1  0 0.5 1 
u 3 u 3   −0.707e
T
42
1
e
W=
0

0
1
0
e
0
1
0

0

e
GS ‫ רגישות נומרית של תהליך‬.4
SGS -‫שיטת ה‬
1 
e 
w1 =  
0
 
0
1  1 
   
1 e  e
u1 =
=
2 0
0
1+ e
   
0 0
(
)
1 
 
0
 
e 
0
)
1 
 
0
 
0
 e 
w 2 = w 2 − u1 w 2 u1 =
(
T
w 3 = w 3 − u1 w 3 u1 =
T
− 1
1 
 
e 
 
0
0
− 1
1 
 
e 
 
0
0
=
0
 
− e
 
e
 0 
=
0
 
− e
 
0
 e 
,‫❑ בניית הוקטור הראשון‬
:‫ממש כמקודם‬
‫❑ וכעת עלינו לנקות‬
w3 -‫ ו‬w2 ‫את‬
43
GS ‫ רגישות נומרית של תהליך‬.4
(
T
1
(
T
1
)
1 
 
0
 
e 
0
)
1 
 
0
 
0
 e 
w 2 = w 2 − u w 2 u1 =
w 3 = w 3 − u w 3 u1 =
− 1
1 
 
e 
 
0
0
− 1
1 
 
e 
 
0
0
=
0
 
− e
 
e
 0 
=
0
 
− e
 
0
 e 
0
 −e 
w2 =  
e
 
0
0  0 
 −e   −1/ 2 
1
 = 

u2 =
e2 + e2  e   1/ 2 
  

0
0
  

0
 0  0
 −e 
 −1/ 2   − e/2 
e
T
= 
w3 = w3 − u2 w3 u2 =   −

0
2  1/ 2   − e/2 
 

  
e
0
 

 e
(
)
SGS -‫שיטת ה‬
‫❑ בניית הוקטור השני‬
:)‫(פשוט נרמול‬
‫❑ וכעת עלינו לנקות‬
w3 ‫את‬
44
0
 − e/2 
w3 =  
 − e/2 
 
e 
GS ‫ רגישות נומרית של תהליך‬.4
SGS -‫שיטת ה‬
‫❑ בניית הוקטור השלישי‬
:)‫(שוב נרמול‬
 0 
 −e / 2 

w3 = 
 −e / 2 


e


 0   0 

 

1  −e / 2  −1/ 6 
u3 =
=
2  −e / 2 
 −1/ 6 
1.5e

 

e
2/
6

 

45
1
e
W=
0

0
1
0
e
0
1
0

0

e
GS ‫ רגישות נומרית של תהליך‬.4
SGS -‫שיטת ה‬
... ‫❑ שלושת הוקטורים שהתקבלו הרבה יותר טובים‬
1 
 0 
 0 
e
 −1/ 2 
 −1/ 6 
 , u3 = 

u1 =   , u 2 = 
0 
 1/ 2 
 −1/ 6 
 




0
0
2/
6
 




 u1T u1 u1T u 2
 T
T
G =  u 2 u1 u 2 u 2
 T
T
u
u
u
3 u2
 3 1
u1 u 3   1
−0.707e −e / 6  1 0 0 
 
 
T
u 2 u 3  =  −0.707e
1
0   0 1 0 

T
u 3 u 3   −e / 6
0
1  0 0 1 
T
46
‫‪ .4‬רגישות נומרית של תהליך ‪GS‬‬
‫❑ מה קרה כאן ?‬
‫❑ כל ההבדל הוא בטיפול בוקטור השלישי‪:‬‬
‫▪ באלגוריתם המקורי החישוב היה לפי‬
‫)‬
‫(‬
‫)‬
‫(‬
‫‪v3 = w 3 − u1 w 3 u1 − u 2 w 3 u 2‬‬
‫‪T‬‬
‫‪T‬‬
‫▪ באלגוריתם היציב החישוב היה לפי‬
‫‪2‬‬
‫‪47‬‬
‫‪)u‬‬
‫(‬
‫‪v3 = w 3 − u 2 w 3‬‬
‫‪new‬‬
‫‪T‬‬
‫‪new‬‬
‫)‬
‫(‬
‫‪= w 3 − u1 w 3 u1‬‬
‫‪T‬‬
‫‪new‬‬
‫‪w3‬‬
new
w3
GS ‫ רגישות נומרית של תהליך‬.4
= w − (u w ) u
v = w − (u w ) u
T
1
3
3
1
new
3
3
T
2
new
3
2
‫נציב זאת בביטוי‬
( ) (
( ) )
− ( u w ) u − ( u w ) u + ( u w )( u u ) u
T
T
T
v3 = w 3 − u1 w 3 u1 − u 2  w 3 − u1 w 3 u1  u 2


= w3
(
T
1
3
T
2
1
‫ התקבל‬GS ‫נזכור – בשיטת‬
)
(
)
v3 = w 3 − u w 3 u1 − u w 3 u 2 =
T
1
T
2
3
0
 
0
− e
 
 e 
T
1
2
(
T
2
3
)(
1
)
2
u1 w 3 u 2 u1 u 2 =
T
T
 0 


 − e/2
 e/2 


 e 
‫ניכר שהשינוי אינו זניח כלל‬
48
‫‪ .5‬פירוק ‪QR‬‬
‫❑ נצא לדרך מתהליך ‪ Gram-Schmidt‬בגרסתו השניה‪ ,‬ה‪-‬‬
‫‪ ,Modified Gram-Schmidt‬וננסה להבין מה בעצם הוצע כאן‬
‫‪w1 = r11 u 1‬‬
‫❑ אוסף המשוואות שהתהליך בונה הן‬
‫‪w 2 = r21 u 1 + r22 u 2‬‬
‫‪w 3 = r31 u 1 + r32 u 2 + r33 u 3‬‬
‫‪+ rLL u L‬‬
‫‪w L = rL1 u 1 + rL2 u 2 + rL3 u 3 +‬‬
‫❑ נארגן משוואות אלו מחדש בצורה מטריצית‬
‫‪49‬‬
‫‪ .5‬פירוק ‪QR‬‬
‫❑ נאסוף את כל הוקטורים שהזינו את התהליך כעמודותיה של‬
‫מטריצה שתיקרא ‪A‬‬
‫❑ נאסוף באופן דומה את כל הוקטורים שנוצרו מהתהליך (ונניח לשם‬
‫פשטות שלא היו התבטלויות במהלך התהליך)‬
‫‪‬‬
‫‪| ‬‬
‫‪‬‬
‫‪wL ‬‬
‫‪‬‬
‫‪| ‬‬
‫‪‬‬
‫|‬
‫‪w3‬‬
‫|‬
‫‪‬‬
‫| ‪‬‬
‫|‬
‫‪‬‬
‫‪A =  w1 w 2‬‬
‫‪‬‬
‫|‬
‫| ‪‬‬
‫‪‬‬
‫❑ כיצד השתיים קשורות?‬
‫‪50‬‬
‫‪‬‬
‫‪| ‬‬
‫‪‬‬
‫‪uL ‬‬
‫‪‬‬
‫‪| ‬‬
‫‪‬‬
‫|‬
‫‪u3‬‬
‫|‬
‫‪‬‬
‫|‪‬‬
‫|‬
‫‪‬‬
‫‪Q =  u1 u 2‬‬
‫‪‬‬
‫|‬
‫|‪‬‬
‫‪‬‬
w1 = r11 u 1
w 2 = r21 u 1 + r22 u 2
w 3 = r31 u 1 + r32 u 2 + r33 u 3
w L = rL1 u 1 + rL2 u 2 + rL3 u 3 +
QR ‫ פירוק‬.5
+ rLL u L

 |
|
|

A =  w1 w 2 w 3

|
|
 |


|
|
|

=  u1 u 2 u 3

|
|
|


| 
wL 

| 

 r11
0

| 
0
uL  

|   0

:‫❑ התשובה‬
:‫❑ מרכיבי המשוואה הזו‬
)Ln( L ‫ על‬n ‫ – בגודל‬A ▪
‫ – מטריצה עם עמודות‬Q ▪
L ‫ על‬n ‫אורתונורמליות בגודל‬
L ‫ על‬L ‫ – משולשת עליונה בגודל‬R ▪
r21
r22
0
r31
r32
r33
0
0
rL1 
rL2 
rL3  = QR


rLL 
51
w1 = r11 u 1
w 2 = r21 u 1 + r22 u 2
w 3 = r31 u 1 + r32 u 2 + r33 u 3
w L = rL1 u 1 + rL2 u 2 + rL3 u 3 +
QR ‫ פירוק‬.5
+ rLn u L
‫ על מנת ל"עקור" את העמודה‬.‫❑ בואו נסביר למה קשר זה נכון‬
:e1 ‫הראשונה משני האגפים עלינו לכפול בוקטור הקאנוני‬

 |
|

w1 =  w1 w 2

|
 |

|
w3
|
 1  
|  0  |
|
w L   0  =  u1 u 2
  
|    |
|
 0 
‫ זוהי המשוואה‬,‫ואכן‬
-‫הראשונה בתיאור ה‬
MGS

|
|

=  u1 u 2

|
|

|
u3
|
|
u3
|
  r11 r21
|   0 r22
uL   0 0

| 
  0 0
r31
r32
r33
0
rL1  1
rL2  0 
rL3  0 
 
 
rLL  0
  r11 
|   0 
u L   0  = r11 u1
 
|  
  0 
52
w1 = r11 u 1
w 2 = r21 u 1 + r22 u 2
w 3 = r31 u 1 + r32 u 2 + r33 u 3
w L = rL1 u 1 + rL2 u 2 + rL3 u 3 +
QR ‫ פירוק‬.5
+ rLn u L
‫ על מנת ל"עקור" את העמודה השניה משני האגפים‬,‫❑ באופן דומה‬
:e2 ‫עלינו לכפול בוקטור הקאנוני‬

 |
|

w 2 =  w1 w 2

|
 |

|
w3
|
 0 
|  1   |
|
w L   0  =  u1 u 2
  
|    |
|
 0 
‫ זוהי המשוואה‬,‫ואכן‬
MGS -‫השניה בתיאור ה‬

|
|

=  u1 u 2

|
|

|
u3
|
|
u3
|
  r11 r21
|   0 r22
uL   0 0

| 
  0 0
r31
r32
r33
0
rL1  0
rL2  1 
rL3  0 
 
 
rLL  0
  r21 
|   r22 
u L   0  = r21 u1 + r22 u 2
 
|  
  0 
53
‫‪ .5‬פירוק ‪QR‬‬
‫❑ ואם המטריצה ‪ A‬ריבועית והפיכה‪:‬‬
‫❑ הפעם מרכיבי המשוואה הזו יהיו‪:‬‬
‫▪ ‪ – A‬בגודל ‪ n‬על ‪n‬‬
‫▪ ‪ – Q‬מטריצה אורתונורמלית בגודל ‪ n‬על ‪n‬‬
‫▪ ‪ – R‬משולשת עליונה בגודל ‪ n‬על ‪n‬‬
‫‪rn1 ‬‬
‫‪rn 2 ‬‬
‫‪rn3  = QR‬‬
‫‪‬‬
‫‪‬‬
‫‪rnn ‬‬
‫‪54‬‬
‫‪r31‬‬
‫‪r32‬‬
‫‪r33‬‬
‫‪r21‬‬
‫‪r22‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪‬‬
‫‪| ‬‬
‫= ‪wn ‬‬
‫‪‬‬
‫‪| ‬‬
‫‪‬‬
‫‪  r11‬‬
‫‪|   0‬‬
‫‪un   0‬‬
‫‪‬‬
‫‪| ‬‬
‫‪  0‬‬
‫‪‬‬
‫| ‪‬‬
‫|‬
‫|‬
‫‪‬‬
‫‪A =  w1 w 2 w 3‬‬
‫‪‬‬
‫|‬
‫|‬
‫| ‪‬‬
‫‪‬‬
‫‪‬‬
‫|‪‬‬
‫|‬
‫|‬
‫‪‬‬
‫‪=  u1 u 2 u 3‬‬
‫‪‬‬
‫|‬
‫|‬
‫|‪‬‬
‫‪‬‬
‫‪ .5‬פירוק ‪QR‬‬
‫משפט‪ :‬כל מטריצה ריבועית ולא סינגולרית ‪A‬‬
‫ניתנת לפירוק יחיד מהצורה‬
‫‪A=QR‬‬
‫כאשר ‪ Q‬מטריצה אורתונורמלית ו‪R -‬‬
‫מטריצה משולשת עליונה בה איברי‬
‫האלכסון הראשי כולם חיוביים‬
‫❑ הוכחה‪ :‬כיוון שהמטריצה הפיכה‪ ,‬עמודותיה בת"ל ולכן בתהליך ה‪-‬‬
‫‪ GS‬יתקבלו ‪ n‬וקטורי מוצא‪ ,‬ואלו ייצרו מטריצה אורתונורמלית‬
‫❑ מדוע יחידות? זה נובע מדרישת החיוביות של איברי האלכסון של‬
‫‪ ,R‬כפי שמתקבלים (באופן יחיד) באלגוריתם ה‪MGS -‬‬
‫‪55‬‬
‫‪ .5‬פירוק ‪QR‬‬
‫❑ פירוק ‪ QR‬קיים גם למטריצות סינגולריות‪ ,‬אז יתקבלו ערכי ‪ 0‬באלכסון‬
‫הראשי של ‪.R‬‬
‫❑ דוגמה‪ :‬נזין את המטריצה הבאה‬
‫לפירוק ‪ QR‬כפי שנעשה ב‪ .Matlab -‬נשים‬
‫לב שעמודה שניה תלויה בראשונה ולכן‬
‫זוהי מטריצה סינגולרית‬
‫❑ מתקבל‪:‬‬
‫‪4‬‬
‫‪1‬‬
‫‪1 ‬‬
‫‪‬‬
‫‪0 −0.333 0.667 ‬‬
‫‪0 −0.943 −0.236 ‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0.707 ‬‬
‫‪56‬‬
‫‪0.5‬‬
‫‪-0.5‬‬
‫‪0.707‬‬
‫‪0  2‬‬
‫‪‬‬
‫‪‬‬
‫‪0  0‬‬
‫‪0.5 0.833 0.236‬‬
‫‪0.5 -0.167 −0.471 -0.707  0‬‬
‫‪‬‬
‫‪‬‬
‫‪0.5 −0.167 −0.471 0.707  0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪‬‬
‫‪0‬‬
‫‪‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫= ‪= QR‬‬
‫‪2‬‬
‫‪2‬‬
‫‪2‬‬
‫‪2‬‬
‫‪0‬‬
‫‪‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1 ‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪A=‬‬
‫‪1‬‬
‫‪‬‬
‫‪1‬‬
‫‪2‬‬
‫‪2‬‬
‫‪2‬‬
‫‪2‬‬
‫‪1‬‬
‫‪‬‬
‫‪1‬‬
‫‪1‬‬
‫‪‬‬
‫‪1‬‬
‫=‪A‬‬
‫‪ .5‬פירוק ‪QR‬‬
‫נתונה המטריצה ‪A‬‬
‫ועליה אנו מבצעים‬
‫‪Gram-Schmidt‬‬
‫אם נתקלת בעמודה‬
‫ב‪ A -‬התלויה‬
‫בקודמיה‪ ,‬זרוק אותה‬
‫והמשך בתהליך‬
‫‪4‬‬
‫‪1‬‬
‫‪1 ‬‬
‫‪‬‬
‫‪0 −0.333 0.667 ‬‬
‫‪0 −0.943 −0.236 ‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0.707 ‬‬
‫‪57‬‬
‫תהליך ‪GS‬‬
‫פירוק ‪QR‬‬
‫‪0.5‬‬
‫‪-0.5‬‬
‫‪0.707‬‬
‫‪0  2‬‬
‫‪‬‬
‫‪‬‬
‫‪0  0‬‬
‫‪0.5 0.833 0.236‬‬
‫‪0.5 -0.167 −0.471 -0.707  0‬‬
‫‪‬‬
‫‪‬‬
‫‪0.5 −0.167 −0.471 0.707  0‬‬
‫‪A‬‬
‫אם נתקלת בעמודה התלויה‬
‫בקודמיה‪ ,‬אי אפשר לזורקה! לכן‪:‬‬
‫‪ .1‬הצג אותה כצירוף של הוקטורים‬
‫שכבר נוצרו‪ ,‬ו‪-‬‬
‫‪ .2‬הגרל\בחר וקטור חדש שימלא‬
‫את מקומה להמשך תהליך ‪GS‬‬
‫= ‪= QR‬‬
‫‪0‬‬
‫‪‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1 ‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪2‬‬
‫‪2‬‬
‫‪2‬‬
‫‪2‬‬
‫‪1‬‬
‫‪‬‬
‫‪1‬‬
‫‪1‬‬
‫‪‬‬
‫‪1‬‬
‫=‪A‬‬
‫‪ .5‬פירוק ‪QR‬‬
‫❑ פירוק ‪ QR‬קיים גם למטריצות מלבניות מכל צורה שהיא‬
‫▪ כשהמטריצה רחבה ונמוכה‪ ,‬עמודותיה חייבות להיות ת"ל‪ .‬אם נניח ש‪n -‬‬
‫העמודות הראשונות בת"ל‪ ,‬נקבל כי יתר העמודות תלויות בהן‪ ,‬ולכן עמודות ‪R‬‬
‫המתאימות מלאות‬
‫=‬
‫‪w 7 = Qr 7‬‬
‫‪ r 7 = QT w 7‬‬
‫▪ כשהמטריצה גבוהה וצרה‪ ,‬ניתן להציע שני מבני פירוק – האחד עם ‪ Q‬מלאה‬
‫שבה מוסיפים וקטורי סרק לעמודותיה של ‪ Q‬להשלמת מטריצה אורתונורמלית‪.‬‬
‫הגישה האחרת הקרויה ‪ Economy QR‬מסתפקת ב‪ Q-‬ברוחב של ‪A‬‬
‫=‬
‫‪58‬‬
‫=‬
‫‪ .5‬פירוק ‪QR‬‬
‫הדגם נושא זה ע"י הרצת ‪Demo-QR-1.m‬‬
‫‪59‬‬
‫‪ .6‬שימוש ב‪ QR -‬לפתרון מערכות משוואות‬
‫❑ בהינתן מערכת משוואות ‪ Ax=b‬נוכל להשתמש בפירוק ‪ QR‬על מנת‬
‫לפותרה‪ .‬נדון בשלושה מקרים‪:‬‬
‫▪ ‪ A‬ריבועית (והפיכה)‬
‫▪ ‪ A‬מלבנית עם יותר שורות מעמודות‬
‫▪ ‪ A‬מלבנית עם יותר עמודות משורות‬
‫❑ מקרה ראשון – ‪ A‬ריבועית‪ ,‬ונניח כי היא הפיכה‬
‫▪‬
‫▪‬
‫▪‬
‫נתחיל בפירוק ‪ A‬ל‪QR -‬‬
‫נכפיל את הוקטור ‪ b‬ב‪QT -‬‬
‫נפתור את המערכת הנותרת ע"י החלפה אחורית‬
‫‪A x = QR x = b‬‬
‫‪R x = QT b‬‬
‫❑ הערה‪ :‬כמות החישובים כאן גדולה משמעותית מזו של השימוש‬
‫בפירוק ‪ ,LU‬ולכן גישה זו תינקט רק אם יש סיבה לשימוש ב‪QR -‬‬
‫‪60‬‬
‫‪ .6‬שימוש ב‪ QR -‬לפתרון מערכות משוואות‬
‫❑ מקרה שני – ‪ A‬מלבנית גבוהה‪ ,‬ונניח כי דרגתה מלאה‬
‫▪‬
‫▪‬
‫▪‬
‫▪‬
‫▪‬
‫נתחיל בפירוק ‪ A‬ל‪ .QR -‬פירוק זה אינו ה‪ Economy QR -‬על מנת לקבל‬
‫מטריצה ‪ Q‬ריבועית‬
‫נכפיל את הוקטור ‪ b‬ב‪QT -‬‬
‫כעת עלינו לפתור את המערכת הנותרת ע"י החלפה אחורית‪ ,‬אלא שתחתית‬
‫המטריצה ‪ R‬מאופסת‪ ,‬ולכן החלק התחתון בוקטור ‪ QTb‬חייב להיות אפס על‬
‫מנת להבטיח פתרון‬
‫אם החלק התחתון אינו מאופס‪,‬‬
‫לא קיים פתרון למערכת‬
‫במקרה כזה‪ ,‬ניתן להתעלם‬
‫ולפתור את החלק העליון להגעה‬
‫לשוויון‪ ,‬ואילו סכום ריבועי‬
‫הערכים בחלק התחתון של הוקטור‬
‫קובעים את מידת הריחוק מקיומו‬
‫של פתרון – אנו נראה זאת בהמשך‪,‬‬
‫כשנדון בשימוש ב‪ QR -‬לטובת פתרון בעיית הריבועים הפחותים‬
‫=‬
‫=‬
‫‪61‬‬
‫=‬
‫=‬
‫‪ .6‬שימוש ב‪ QR -‬לפתרון מערכות משוואות‬
‫❑ מקרה שלישי – ‪ A‬מלבנית רחבה‪ ,‬ונניח שוב כי דרגתה מלאה‬
‫▪‬
‫▪‬
‫▪‬
‫נתחיל בפירוק ‪ A‬ל‪.QR -‬‬
‫נכפיל את הוקטור ‪ b‬ב‪QT -‬‬
‫המערכת שנותרת מספרת על דרגות החופש הקיימות במערכת המקורית‬
‫=‬
‫= =‬
‫‪62‬‬
‫=‬
‫‪ .7‬שימוש ב‪ QR -‬לפתרון ‪LS‬‬
‫❑ נניח כי עלינו לפתור בעיית ריבועים פחותים‬
‫‪2‬‬
‫‪2‬‬
‫‪min A x − b‬‬
‫‪x‬‬
‫ונניח כי יש לבעיה זו פתרון יחיד (דהיינו ‪ A‬ריבועית או מלבנית‬
‫גבוהה ודרגתה מלאה)‬
‫❑ נתחיל בפירוק ‪ A‬ל‪ .QR -‬פירוק זה אינו ה‪ Economy QR -‬על מנת‬
‫לקבל מטריצה ‪ Q‬ריבועית‬
‫❑ הצבה בבעיית ה‪ LS -‬תיתן‬
‫‪2‬‬
‫‪2‬‬
‫‪2‬‬
‫‪min A x − b 2 = min QR x − b‬‬
‫‪x‬‬
‫‪= min Q ( R x − Q b ) = min R x − Q b‬‬
‫‪2‬‬
‫‪T‬‬
‫‪x‬‬
‫‪2‬‬
‫‪63‬‬
‫‪2‬‬
‫‪2‬‬
‫‪2‬‬
‫‪Qv 2 = v‬‬
‫‪T‬‬
‫‪x‬‬
‫‪QQT = I‬‬
‫‪x‬‬
‫‪2‬‬
‫‪ .7‬שימוש ב‪ QR -‬לפתרון ‪LS‬‬
‫‪2‬‬
‫‪2‬‬
‫‪2‬‬
‫‪+‬‬
‫‪2‬‬
‫‪2‬‬
‫‪= -‬‬
‫❑ וקטור השגיאה ניתן לפיצול‬
‫לשני חלקים נפרדים‪ ,‬והשגיאה הכוללת‬
‫היא סכום שתי שגיאות אלה‬
‫‪2‬‬
‫❑ את המרכיב הראשון ניתן להביא‬
‫לערך אפס ע"י פתרון של החלפה אחורית‬
‫‪min Q b − R x‬‬
‫‪T‬‬
‫‪2‬‬
‫‪x‬‬
‫‪2‬‬
‫‪= -‬‬
‫‪-‬‬
‫‪2‬‬
‫=‬
‫❑ החלק הנותר לא ניתן לשינוי ‪ -‬סכום ריבועיו של החלק התחתון של‬
‫‪ QTb‬קובעים את גובה המינימום של הבעיה הריבועית‬
‫❑ נשים לב שיכולנו להשתמש ב‪ Economy QR -‬לחישוב הפתרון‬
‫‪64‬‬
‫‪ .7‬שימוש ב‪ QR -‬לפתרון ‪LS‬‬
‫❑ מהי המורכבות חישובית של התהליך הנ"ל?‬
‫▪‬
‫▪‬
‫▪‬
‫▪‬
‫נניח שאנו פועלים עם מטריצה ‪ A‬בגודל ‪m×n‬‬
‫חישוב ה‪ Econ-QR -‬למטריצה ‪ A‬ידרוש ‪ – mn2‬זהו החלק הדומיננטי במלוא‬
‫התהליך‬
‫הכפלת הוקטור ‪ b‬ב‪ QT -‬תדרוש ‪ nm‬פעולות‬
‫פעולת ההחלפה האחורית תדרוש ‪ n2/2‬פעולות‬
‫❑ מהי החלופה? חישוב ‪ ATA‬ופתרון בעזרת פירוק ‪:Cholesky‬‬
‫▪‬
‫▪‬
‫▪‬
‫חישוב ‪ ATA‬דורש ‪ mn2‬פעולות‬
‫פירוק ‪ Cholesky‬ידרוש ‪ n3/6‬פעולות‬
‫החלפה קדמית ואחורית ב‪ n2 -‬פעולות‬
‫❑ אין ספק שעדיף פירוק ‪ QR‬במקרה זה‬
‫‪65‬‬
‫‪ .7‬שימוש ב‪ QR -‬לפתרון ‪LS‬‬
‫❑ ואכן‪ ,‬ראו כיצד ‪ Matlab‬פועל על ‪... A\b‬‬
‫מקרה זה למעשה‬
‫נחשב לבעיית ‪LS -‬‬
‫ומטופל בהתאם‬
‫‪66‬‬
‫‪ .7‬שימוש ב‪ QR -‬לפתרון ‪LS‬‬
‫הדגם נושא זה ע"י הרצת ‪Demo-QR-2.m‬‬
‫‪67‬‬
‫‪ .7‬שימוש ב‪ QR -‬לפתרון ‪LS‬‬
‫❑ הערה‪ :‬נניח כי יצאנו לדרך לפתור סידרה של בעיות ‪:LS‬‬
‫‪min A x − b ‬‬
‫‪L‬‬
‫‪k =1‬‬
‫‪2‬‬
‫‪2‬‬
‫‪k‬‬
‫‪k‬‬
‫‪xk‬‬
‫❑ כלומר‪ ,‬רצוננו לפתור סידרה של בעיות‬
‫אלו עם ‪ A‬הולכת ומתרחבת‪ ,‬כשכל פעם‬
‫נוספת לה עמודה (וכנגדה נעלם נוסף)‬
‫‪‬‬
‫‪| ‬‬
‫‪aL ‬‬
‫‪‬‬
‫‪| ‬‬
‫‪‬‬
‫|‬
‫‪ak‬‬
‫|‬
‫❑ למה זה מעניין? למשל‪ ,‬בקירוב פולינומיאלי‪ ,‬הדבר שקול‬
‫לבניית סידרת קירובים עם דרגת פולינום הולכת וגדלה‬
‫❑ איך נפתור שרשרת בעיות אלו? לכאורה כל אחת מבעיות‬
‫אלה תיפתר בתורה ובנפרד‪ ,‬וללא קיצורי דרך‬
‫❑ לפירוק ה‪ QR -‬יש חדשות טובות עבורנו בעניין זה ‪...‬‬
‫‪68‬‬
‫‪‬‬
‫|‪‬‬
‫‪‬‬
‫‪A =  a1‬‬
‫‪‬‬
‫|‪‬‬
‫‪‬‬
‫‪Ak‬‬
‫‪ .7‬שימוש ב‪ QR -‬לפתרון ‪LS‬‬
‫‪2‬‬
‫‪2‬‬
‫‪min A L x − b 2 = min R L x − Q b‬‬
‫‪T‬‬
‫‪L‬‬
‫❑ בפירוק אחד למטריצה ‪ ,AL‬אנו מקבלים‬
‫את הפירוקים של כל תת‪-‬המטריצות ‪Ak‬‬
‫(‪ )1≤k ≤L‬ללא כל חישוב נוסף‬
‫‪2‬‬
‫‪x‬‬
‫‪QL R L‬‬
‫‪min A x − b ‬‬
‫‪L‬‬
‫‪k =1‬‬
‫‪2‬‬
‫‪k‬‬
‫‪k‬‬
‫‪QL−1 R L−1‬‬
‫‪A L−1‬‬
‫‪xk‬‬
‫נדרש לפירוק ‪ QR‬יחיד‪ ,‬חישוב ההכפלה‬
‫‪ QLTb‬פעם אחת‪ ,‬ואז סידרת פעולות‬
‫החלפה אחורית בגודל משתנה‬
‫‪69‬‬
‫‪AL‬‬
‫=‬
‫❑ לכן‪ ,‬פתרון סידרת בעיות ה‪LS -‬‬
‫‪2‬‬
‫‪x‬‬
‫=‬
‫‪ .7‬שימוש ב‪ QR -‬לפתרון ‪LS‬‬
‫❑ לסיכום‪ :‬נניח כי יצאנו לדרך לפתור את בעיית ה‪ LS -‬הבאה‬
‫‪2‬‬
‫‪2‬‬
‫‪min A x − b 2 = min R x − Q b‬‬
‫‪x‬‬
‫‪2‬‬
‫‪T‬‬
‫‪x‬‬
‫ונניח כי המטריצה ‪ A‬בעלת ‪ L‬עמודות‬
‫❑ השימוש בפירוק ‪ QR‬נותן יתרון חדש ומעניין‪ :‬אם נרצה לדעת את‬
‫הפתרון לאותה בעיה אך עבור שימוש ב‪ k<L -‬העמודות הראשונות‬
‫של ‪ A‬בלבד‪ ,‬פתרון זה נגיש – יש לקחת את החלק העליון של הוקטור‬
‫‪ QTb‬ואת החלק העליון של המטריצה ‪ R‬ולפתור מערכת משוואות זו‬
‫‪2‬‬
‫‪22‬‬
‫‪+ …2‬‬
‫‪22‬‬
‫‪70‬‬
‫‪2‬‬
‫‪2‬‬
‫‪= -‬‬
‫‪2‬‬
‫‪2‬‬
‫‪= -‬‬
‫‪-‬‬
‫‪ .7‬שימוש ב‪ QR -‬לפתרון ‪LS‬‬
‫הדגם נושא זה ע"י הרצת ‪Demo-QR-3.m‬‬
‫‪71‬‬
Download