Uploaded by Yoram Ifraimov

Numerical Analysis - Lecture 2

advertisement
‫הרצאה ‪2‬‬
‫שיטות נומריות בהנדסה‬
‫פירוק ‪( LU‬המשך)‬
‫נטפל במקרה כללי (קיימים מקרים מיוחדים אשר נדון בהם בהמשך)‬
‫‪lisusj‬‬
‫) ‪min( i , j‬‬
‫‪n‬‬
‫‪s =1‬‬
‫‪s =1‬‬
‫‪‬‬
‫= ‪A = LU  aij =  lisusj‬‬
‫(‪)1‬‬
‫מכיוון ש‪ lis = 0 -‬כאשר ‪ s  i‬ו‪ usj = 0 -‬כאשר ‪. s  j‬‬
‫בכל צעד אנו מוצאים את הערכים אשר בשורה חדשה ב‪ U -‬ועבור עמודה חדשה ב‪. L -‬‬
‫נניח כי בשלב מסוים (צעד ‪ ) k‬השורות ‪ 1, 2,..., k − 1‬ב‪ U -‬חושבו וגם העמודות ‪ 1, 2,..., k − 1‬ב‪. L -‬‬
‫אז‪,‬‬
‫‪k −1‬‬
‫‪akk =  lksusk + lkk ukk‬‬
‫(‪)2‬‬
‫‪s =1‬‬
‫אם ‪ lkk‬או ‪ u kk‬ידועים‪ ,‬אז אנו יכולים להיעזר במשוואה האחרונה לחישוב האיברים‪,‬‬
‫שורה‪:‬‬
‫‪k −1‬‬
‫‪akj =  lksusj + lkk ukj , k + 1  j  n‬‬
‫(‪)3‬‬
‫‪s =1‬‬
‫עמודה‪:‬‬
‫‪k −1‬‬
‫‪aik =  lisusk + lik ukk , k + 1  i  n‬‬
‫(‪)4‬‬
‫‪s =1‬‬
‫אם ‪ , lkk  0‬אז מ‪ )3(-‬ניתן לחשב את ‪ . ukj‬באופן דומה‪ ,‬אם ‪ ukk  0‬מ‪ )4(-‬ניתן לחשב את ‪. lik‬‬
‫שלוש שיטות לפירוק‪:‬‬
‫•‬
‫שיטת דוליטל ‪lii = 1 -‬‬
‫•‬
‫שיטת קראוט ‪uii = 1 -‬‬
‫•‬
‫שיטת שולסקי ‪. lii = uii -‬‬
‫בתרגול ‪ 2‬נעזרנו בשיטת הפירוק קראוט ע"מ למצוא את פתרון הבעיה‪ :‬אז מצאנו את הפירוק‪ ,‬אך נשאלת‬
‫השאלה – במידה ויש צורך לפתור לפי שיטה אחרת‪ ,‬האם עלינו לחזור על כל התהליך מהתחלה?‬
‫שם המרצה‪ :‬קיריל וורוטניקוב‬
‫משרד‪ :‬חדר ‪352‬‬
‫דוא"ל‪kirilvo@sce.ac.il :‬‬
‫שעת הקבלה‪ :‬יום ד' ‪ 11:00 – 10:00‬או בתאום מראש‬
‫‪1‬‬
‫הרצאה ‪2‬‬
‫שיטות נומריות בהנדסה‬
‫דוגמא‬
‫נתונה מטריצה‬
‫‪ 60 30 20 ‬‬
‫‪A = 30 20 15 ‬‬
‫‪‬‬
‫‪‬‬
‫‪ 20 15 12 ‬‬
‫(‪)5‬‬
‫לפי פירוק של דוליטל‪ ,‬אנו מקבלים את המטריצות הבאות‪:‬‬
‫‪ 1 0 0  60 30 20 ‬‬
‫‪A = 1 2 1 0   0 5 5  = LU‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪1 3 1 1   0 0 1 3‬‬
‫(‪)6‬‬
‫כיצד ניתן לקבל את התצוגה של קראוט בעזרת התוצאות הקיימות? נשים את האיברים מהאלכסון של ‪U‬‬
‫במטריצה אלכסונית ‪ D‬ונראה כי מתקבלת הצורה הבאה‪,‬‬
‫‪ 1 0 0  60 0 0  1 1 2 1 3‬‬
‫‪A = 1 2 1 0   0 5 0  0 1‬‬
‫‪1  = LDU‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪1 3 1 1   0 0 1 3 0 0‬‬
‫‪1 ‬‬
‫(‪)7‬‬
‫ניתן לראות כי המכפלה של שתי המטריצות הראשונות מניבה את המטריצה המשולשת התחתונה‪ ,‬אשר‬
‫במטריצה המשולשת העליונה באלכסון הראשי ניצבים איברים אשר שווים ל‪ 1-‬וזה בדיוק פירוק של קראוט‪:‬‬
‫‪ 60 0 0  1 1 2 1 3‬‬
‫‪A = 30 5 0  0 1‬‬
‫‪1  = LU  L = LD‬‬
‫‪‬‬
‫‪‬‬
‫‪ 20 5 1 3 0 0‬‬
‫‪1 ‬‬
‫(‪)8‬‬
‫איך לקבל את הפירוק לפי שיטת שול סקי? נעבוד באותה צורה כאשר נצטרך שתי מטריצות אלכסוניות‪:‬‬
‫‪0   1 1 2 1 3‬‬
‫‪‬‬
‫= ‪1 ‬‬
‫‪0  0 1‬‬
‫‪‬‬
‫‪1 ‬‬
‫‪1 3  0 0‬‬
‫‪0‬‬
‫‪5‬‬
‫‪0‬‬
‫‪60 3‬‬
‫‪‬‬
‫‪T‬‬
‫‪5  = LL‬‬
‫‪‬‬
‫‪1 3 ‬‬
‫‪0   60‬‬
‫‪‬‬
‫‪0  0‬‬
‫‪‬‬
‫‪1 3   0‬‬
‫‪60 2‬‬
‫‪5‬‬
‫‪0‬‬
‫‪0‬‬
‫‪5‬‬
‫‪0‬‬
‫‪ 1 0 0   60‬‬
‫‪‬‬
‫‪12 12‬‬
‫‪A = LD D U = 1 2 1 0   0‬‬
‫‪‬‬
‫‪‬‬
‫‪1 3 1 1   0‬‬
‫‪‬‬
‫‪0   60‬‬
‫‪‬‬
‫‪0  0‬‬
‫‪‬‬
‫‪1 3   0‬‬
‫‪0‬‬
‫‪5‬‬
‫‪5‬‬
‫‪ 60‬‬
‫‪‬‬
‫‪=  60 2‬‬
‫‪‬‬
‫‪ 60 3‬‬
‫(‪)9‬‬
‫שם המרצה‪ :‬קיריל וורוטניקוב‬
‫משרד‪ :‬חדר ‪352‬‬
‫דוא"ל‪kirilvo@sce.ac.il :‬‬
‫שעת הקבלה‪ :‬יום ד' ‪ 11:00 – 10:00‬או בתאום מראש‬
‫‪2‬‬
‫הרצאה ‪2‬‬
‫שיטות נומריות בהנדסה‬
‫משפט‬
‫אם כל המינורים הראשיים של המטריצה ‪ A‬בעלת ממד ‪ n  n‬לא סינגולריים (דטרמיננטה לא מתאפסת)‪,‬‬
‫אז ל‪ A -‬יש פירוק ‪. LU‬‬
‫עבור פירוק שולסקי‬
‫משפט‬
‫אם ‪ A‬ממשית‪ ,‬סימטרית ומוגדרת חיובית‪ ,‬אז קיים פירוק ‪ A = LL‬רק אחד‪ ,‬כך ש‪ L -‬משולשת תחתונה‬
‫‪T‬‬
‫עם אלכסון חיובי‪.‬‬
‫אלגוריתם‬
‫) ‪Input n, ( aij‬‬
‫‪For k = 1 to n‬‬
‫‪12‬‬
‫‪k −1‬‬
‫‪‬‬
‫‪‬‬
‫‪lkk =  akk −  lks2 ‬‬
‫‪s =1‬‬
‫‪‬‬
‫‪‬‬
‫‪For i = k + 1 to n‬‬
‫‪k −1‬‬
‫‪‬‬
‫‪‬‬
‫‪lik =  aik −  lislks  lkk‬‬
‫‪s =1‬‬
‫‪‬‬
‫‪‬‬
‫‪End‬‬
‫‪End‬‬
‫משפט אחרון מבטיח כי ‪ , lkk  0‬אפשר לקבל חסם‪:‬‬
‫‪12‬‬
‫‪k −1‬‬
‫‪‬‬
‫‪‬‬
‫‪lkk =  akk −  lks2 ‬‬
‫‪s =1‬‬
‫‪‬‬
‫‪‬‬
‫(‪)10‬‬
‫עבור ‪j  k‬‬
‫‪k‬‬
‫‪akk =  lks2  lkj2‬‬
‫(‪)11‬‬
‫‪s =1‬‬
‫שם המרצה‪ :‬קיריל וורוטניקוב‬
‫משרד‪ :‬חדר ‪352‬‬
‫דוא"ל‪kirilvo@sce.ac.il :‬‬
‫שעת הקבלה‪ :‬יום ד' ‪ 11:00 – 10:00‬או בתאום מראש‬
‫‪3‬‬
‫הרצאה ‪2‬‬
‫שיטות נומריות בהנדסה‬
‫ולכן‬
‫‪lkj  akk , 1  j  k‬‬
‫(‪)12‬‬
‫שיטת תומס (עבור מטריצות תלת אלכסוניות)‬
‫בהינתן מערכת משוואות ‪ , Ax = b‬כאשר מטריצה ‪ A‬הינה תלת אלכסונית‪ ,‬ניתן לפתור את המערכת‬
‫בשיטת תומס במקום בשיטת גאוס‪.‬‬
‫שיטת תומס היא בעצם פישוט של שיטת גאוס שמתאימה למטריצות תלת אלכסוניות‪ .‬השיטה מורכבת משני‬
‫שלבים‪ :‬שלב הליכה לפנים ושלב של חילוץ לאחור‪.‬‬
‫בשלב הליכה לפנים מייצרים מטריצה אלכסונית עליונה עם ‪ 1‬באלכסון‪.‬‬
‫בשלב של חילוץ לאחור מקבלים את פתרון הבעיה‪.‬‬
‫‪  x1   b1 ‬‬
‫‪ x  b ‬‬
‫‪ 2   2 ‬‬
‫‪  x3   b3 ‬‬
‫‪   ‬‬
‫‪  ...  =  ... ‬‬
‫‪  xi   bi ‬‬
‫‪   ‬‬
‫‪...   ...   ... ‬‬
‫‪d n   xn   bn ‬‬
‫‪c1‬‬
‫‪c3‬‬
‫‪... ...‬‬
‫‪ai di‬‬
‫‪ci‬‬
‫‪c2‬‬
‫‪d3‬‬
‫‪...‬‬
‫‪...‬‬
‫‪...‬‬
‫‪an‬‬
‫‪d2‬‬
‫‪a3‬‬
‫‪ d1‬‬
‫‪a‬‬
‫‪ 2‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫(‪)13‬‬
‫שלב של הליכה לפנים‪:‬‬
‫‪1 c1‬‬
‫‪  x1   b1 ‬‬
‫‪ 0 1 c‬‬
‫‪  x   b ‬‬
‫‪2‬‬
‫‪‬‬
‫‪ 2   2 ‬‬
‫‪‬‬
‫‪  x3   b3 ‬‬
‫‪0 1 c3‬‬
‫‪‬‬
‫‪   ‬‬
‫‪... ... ...‬‬
‫‪‬‬
‫‪  ...  =  ... ‬‬
‫‪‬‬
‫‪  xi   bi ‬‬
‫‪0 1 ci‬‬
‫‪‬‬
‫‪   ‬‬
‫‪... ... ...  ...   ... ‬‬
‫‪‬‬
‫‪‬‬
‫‪0 1   xn   bn ‬‬
‫‪‬‬
‫(‪)14‬‬
‫עבור כל שורה ‪ R‬נבצע את הפעולות הבאות‪,‬‬
‫עבור שורה ראשונה‪:‬‬
‫‪c1 = c1 d1‬‬
‫‪b1 = b1 d1‬‬
‫שם המרצה‪ :‬קיריל וורוטניקוב‬
‫‪R1 = R1 d1 ‬‬
‫משרד‪ :‬חדר ‪352‬‬
‫(‪)15‬‬
‫דוא"ל‪kirilvo@sce.ac.il :‬‬
‫שעת הקבלה‪ :‬יום ד' ‪ 11:00 – 10:00‬או בתאום מראש‬
‫‪4‬‬
‫הרצאה ‪2‬‬
‫שיטות נומריות בהנדסה‬
‫עבור שורה ‪: i‬‬
‫‪ci‬‬
‫‪di − ai ci−1‬‬
‫= ‪ci‬‬
‫‪bi − ai bi −1‬‬
‫‪di − ai ci−1‬‬
‫= ‪bi‬‬
‫‪Ri* = Ri − ai Ri−1  Ri = Ri* di ‬‬
‫(‪)16‬‬
‫עבור שורה ‪: n‬‬
‫‪bn − anbn−1‬‬
‫‪dn − an cn −1‬‬
‫= ‪Rn* = Rn − an Rn−1  Rn = Rn* dn  bn‬‬
‫(‪)17‬‬
‫שלב של החילוץ לאחור‬
‫‪xn = bn‬‬
‫‪xn −1 = bn−1 − cn −1 xn‬‬
‫‪xn − 2 = bn− 2 − cn − 2 xn −1‬‬
‫(‪)18‬‬
‫‪...‬‬
‫‪xi = bi − cixi +1‬‬
‫‪...‬‬
‫‪x1 = b1 − c1x2‬‬
‫דוגמא‬
‫עלינו לפתור את מערכת המשוואות הליניארית מהצורה הבאה‪,‬‬
‫‪0  x1   28 ‬‬
‫‪   ‬‬
‫‪0   x2   32 ‬‬
‫=‬
‫‪1   x3   16 ‬‬
‫‪   ‬‬
‫‪0   x4   36 ‬‬
‫‪0‬‬
‫‪4‬‬
‫‪0‬‬
‫‪4‬‬
‫‪2‬‬
‫‪3‬‬
‫‪0‬‬
‫‪3‬‬
‫‪1‬‬
‫‪2‬‬
‫‪‬‬
‫‪1‬‬
‫‪‬‬
‫‪0‬‬
‫(‪)19‬‬
‫ניתן ל ראות כי כעת במטריצת המקדמים ישנם שלושה אלכסונים ולכן ניתן לפתור את הבעיה בשיטת תומס‬
‫בלי לפרק לפי השיטות של פירוק ‪ .LU‬אך לפני שנתחיל בפתרון‪ ,‬נחליף בין השורות והעמודות ע"מ לקבל את‬
‫המטריצה התלת אלכסונית בצורה ברורה‪ :‬החלפת השורות ‪-‬‬
‫‪1   x1   16 ‬‬
‫‪   ‬‬
‫‪0   x2   28 ‬‬
‫=‬
‫‪0   x3   32 ‬‬
‫‪   ‬‬
‫‪0   x4   36 ‬‬
‫שם המרצה‪ :‬קיריל וורוטניקוב‬
‫‪0‬‬
‫‪0‬‬
‫‪4‬‬
‫‪4‬‬
‫‪0‬‬
‫‪2‬‬
‫‪3‬‬
‫‪3‬‬
‫משרד‪ :‬חדר ‪352‬‬
‫‪1‬‬
‫‪1‬‬
‫‪‬‬
‫‪2‬‬
‫‪‬‬
‫‪0‬‬
‫(‪)20‬‬
‫דוא"ל‪kirilvo@sce.ac.il :‬‬
‫שעת הקבלה‪ :‬יום ד' ‪ 11:00 – 10:00‬או בתאום מראש‬
‫‪5‬‬
‫הרצאה ‪2‬‬
‫שיטות נומריות בהנדסה‬
‫החלפת העמודות –‬
‫‪0   x1   16 ‬‬
‫‪   ‬‬
‫‪0   x2   28 ‬‬
‫=‬
‫‪4   x3   32 ‬‬
‫‪   ‬‬
‫‪4   x4   36 ‬‬
‫‪0‬‬
‫‪2‬‬
‫‪3‬‬
‫‪3‬‬
‫‪1‬‬
‫‪1‬‬
‫‪2‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪‬‬
‫‪0‬‬
‫‪‬‬
‫‪0‬‬
‫(‪)21‬‬
‫הערה‪ :‬יש לשים לב‪ ,‬כאשר מחליפים עמודות‪ ,‬עלינו לשנות את סדר האיברים בווקטור הנעלמים ולכן נזכור‬
‫מהו הקשר בין הסדר החדש לסדר הישן‪:‬‬
‫‪ x1   x4 ‬‬
‫‪  x ‬‬
‫‪ x2  =  1 ‬‬
‫‪ x3   x2 ‬‬
‫‪   ‬‬
‫‪ x4   x3 ‬‬
‫(‪)22‬‬
‫שלב של הליכה לפנים‬
‫שתי שורות כבר מסודרות ולכן נטפל בשורות אשר נותרו‪:‬‬
‫‪c3‬‬
‫‪4‬‬
‫=‬
‫‪= −4‬‬
‫‪d3 − a3c2 3 − 2  2‬‬
‫‪b − a b 32 − 2  28‬‬
‫= ‪b3 = 3 3 2‬‬
‫‪= 24‬‬
‫‪d3 − a3c2‬‬
‫‪3− 22‬‬
‫‪b − a b 36 − 3  24‬‬
‫‪9‬‬
‫= ‪b4 = 4 4 3‬‬
‫‪=−‬‬
‫) ‪d 4 − a4 c3 4 − 3  ( −4‬‬
‫‪4‬‬
‫= ‪c3‬‬
‫(‪)23‬‬
‫שלב של חילוץ לאחור‬
‫‪9‬‬
‫‪x4 = b4 = −‬‬
‫‪x1 = −2‬‬
‫‪4‬‬
‫‪x2 = 15‬‬
‫‪ 9‬‬
‫‪9  x3 = b3 − c3 x4 = 24 − ( −4 )   − 4  = 15‬‬
‫‪x3 = −‬‬
‫‪4‬‬
‫‪x2 = b2 − c2 x3 = 28 − 2 15 = −2‬‬
‫‪x4 = 18‬‬
‫‪x1 = b1 − c1x2 = 16 − 1 ( −2 ) = 18‬‬
‫שם המרצה‪ :‬קיריל וורוטניקוב‬
‫משרד‪ :‬חדר ‪352‬‬
‫דוא"ל‪kirilvo@sce.ac.il :‬‬
‫שעת הקבלה‪ :‬יום ד' ‪ 11:00 – 10:00‬או בתאום מראש‬
‫‪6‬‬
‫(‪)24‬‬
‫הרצאה ‪2‬‬
‫שיטות נומריות בהנדסה‬
‫אי יציבות הפתרון‬
‫ע"מ לדון בנכונות הפתרון או יציבותו‪ ,‬אנו צריכים לחשוב על המדד‪ .‬מכיוון שאנו עובדים עם ווקטורים עלינו‬
‫לחשוב כיצד להגדיר עבורם את המדד הזה‪.‬‬
‫נורמות של ווקטור‬
‫אנו בדרך כלל עובדים עם ווקטורים אשר שייכים ל‪ , R n -‬אבל ההגדרה של נורמות יכולה להיות תקפה עבור‬
‫כל מרחב‪.‬‬
‫על מרחב ווקטורי ‪ V‬הנורמה זו פונקציה • אשר ממירה מ‪ V -‬לאוסף אוסף איברים לא שליליים ממשים‪,‬‬
‫אשר מקיימים את שלושת הפוסטולטים הבאים‪:‬‬
‫•‬
‫‪ x  0‬עבור כל ‪x V‬‬
‫•‬
‫‪  x =  x‬עבור ‪  R, x V‬‬
‫אי שיווין המשולש ‪ x + y  x + y‬עבור ‪x V , y V‬‬
‫•‬
‫‪x  0,‬‬
‫אנו מכירים כבר את הנורמה האוקלידית שהיא שווה לאורך הווקטור‪:‬‬
‫‪12‬‬
‫‪ n‬‬
‫‪‬‬
‫‪x 2 =   xn2 ‬‬
‫‪ i =1 ‬‬
‫(‪)25‬‬
‫נורמת אינסוף‬
‫‪= max xi‬‬
‫‪1i  n‬‬
‫‪‬‬
‫(‪)26‬‬
‫‪x‬‬
‫נורמת הסכום‬
‫‪n‬‬
‫‪x 1 =  xi‬‬
‫(‪)27‬‬
‫‪i =1‬‬
‫דוגמא‬
‫נתונים שלושה ווקטורים‪:‬‬
‫)‪x = ( 4, 4, −4, 4) , v = ( 0,5,5,5) , w = ( 6,0,0,0‬‬
‫‪T‬‬
‫‪T‬‬
‫‪T‬‬
‫שם המרצה‪ :‬קיריל וורוטניקוב‬
‫משרד‪ :‬חדר ‪352‬‬
‫דוא"ל‪kirilvo@sce.ac.il :‬‬
‫שעת הקבלה‪ :‬יום ד' ‪ 11:00 – 10:00‬או בתאום מראש‬
‫‪7‬‬
‫(‪)28‬‬
‫שיטות נומריות בהנדסה‬
‫צ"ל לחשב כל נורמות עבור כל ווקטור‬
‫‪‬‬
‫•‬
‫הרצאה ‪2‬‬
‫•‬
‫•‬
‫ווקטור‬
‫‪4‬‬
‫‪8‬‬
‫‪16‬‬
‫‪x‬‬
‫‪5‬‬
‫‪8.66‬‬
‫‪15‬‬
‫‪v‬‬
‫‪6‬‬
‫‪6‬‬
‫‪6‬‬
‫‪w‬‬
‫‪2‬‬
‫‪1‬‬
‫ניתן לראות כי הבחירה בנורמה הינה חשובה!‬
‫שם המרצה‪ :‬קיריל וורוטניקוב‬
‫משרד‪ :‬חדר ‪352‬‬
‫דוא"ל‪kirilvo@sce.ac.il :‬‬
‫שעת הקבלה‪ :‬יום ד' ‪ 11:00 – 10:00‬או בתאום מראש‬
‫‪8‬‬
Download