מבוא לחישוב נומרי הכנה לקראת המבחן

Similar documents
קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות.

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

ASP.Net MVC + Entity Framework Code First.

מבוא לתכנות ב- JAVA תרגול 7

המבנה הגאומטרי של מידה

Reflection Session: Sustainability and Me

תוכן העניינים: פרק סדרות סיכום תכונות הסדרה החשבונית:... 2 תשובות סופיות:...8 סיכום תכונות הסדרה ההנדסית:...10

סיבוכיות זמן ריצה רדוקציות ושלמות ב- NP המחלקה P הגדרה: = המחלקה NP הגדרה: שפה סגירות שפות הגדרה: רדוקציה

יסודות מבני נתונים. תרגול :9 ערימה - Heap

Hebrew Ulpan HEB Young Judaea Year Course in Israel American Jewish University College Initiative

תרגול 8. Hash Tables

מכונת מצבים סופית תרגול מס' 4. Moshe Malka & Ben lee Volk

Patents Basics. Yehuda Binder. (For copies contact:

A R E Y O U R E A L L Y A W A K E?

1. מספרים מרוכבים צורות אלגברית ווקטורית של מספרים מרוכבים. הוא זוג סדור. הגדרה 1.1. מספר מרוכב z של מספרים ממשיים. ו- y

מושגים בסיסיים תלמידים והורים יקרים,

Practical Session No. 13 Amortized Analysis, Union/Find

שנת לימודים סמסטר מועד ניתן בתאריך מרצה מתרגל שאלות. 0, 3 r. n ויהי : 2 איתי בארלי גרסה / /1/14 פרופ' אהוד לרר איתי בארלי. a.

תצוגת LCD חיבור התצוגה לבקר. (Liquid Crystal Display) המערכת.

עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא:

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

הקיטסיגול הרבחה יעדמל בלושמה גוחה

Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of

הגדרה: משפחת עצים תקרא מאוזנת אם (n.h(t) = O(log

ל"תוכנה" שכותבים, כמו פונקציה זו, קוראים "קוד"

תרגול מס' 01 אלגוריתם דיניץ

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 134 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 37

Depth-First Search DFS

QUANTUM COMPUTATION. By Uri Kanonov

ANNEXURE "E1-1" FORM OF IRREVOCABLE STANDBY LETTER OF CREDIT PERFORMANCE OF CONTRACT (WHERE PRICES ARE NOT LINKED TO AN ESCALATION FORMULA)

סוטמה ףא ןוויכ תיתימא ריוא תוריהמ סוטמה ביתנ תיעקרק תוריהמ

THINKING ABOUT REST THE ORIGIN OF SHABBOS

תכנון אלגוריתמים, אביב 2010, תרגול מס' 7 סריקה לעומק, מיון טופולוגי, רכיבים קשירים היטב. time time 1


A JEW WALKS INTO A BAR: JEWISH IDENTITY IN NOT SUCH JEWISH PLACES

בוחן בתכנות בשפת C בצלחה

מדדי מרכז הגדרה: מדדים סטטיסטיים המשקפים את הנטייה המרכזית של ההתפלגות מדדי מרכז מרכז ההתפלגות

A Long Line for a Shorter Wait at the Supermarket

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 102 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 5

ניפוי שגיאות )Debug( מאת ישראל אברמוביץ

שאלות חזרה לקראת מבחן מפמ"ר אינטרנט וסייבר

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

מבוא למחשב בשפת פייתון

נילי חמני

חזרה, מיונים פולינה לוצקר

Computer Structure. Exercise #1 יש להגיש את התשובות הסופיות על גבי טופס זה.

4...Informed Search Strategies Partial Order Planning 29...Hierarchical Decomposition Reenforcement Learning 40...Unsupervised Learning

מבני נתונים תרגיל 4 פתרון

דיאלוג מומחז בין מרטין בובר וקרל רוג'רס

פרק מיון וחיפוש - לשם מה? הגדרה

מספר השאלון: Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( א נ ג ל י ת (MODULE F) ספרות )מילון הראפס אנגלי-אנגלי-ערבי(

Checkers Cheaters Eliran Moyal & Moti Berger

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי

Name Page 1 of 6. דף ט: This week s bechina starts at the two dots in the middle of

םימתירוגלאו םינותנ ינבמ המירעו תינס, חמ רות רקצול הנילופ

Advisor Copy. Welcome the NCSYers to your session. Feel free to try a quick icebreaker to learn their names.

קובץ שאלות פתורות אביב 2102

מבוא לרשתות - תרגול מס' 11 Transparent Bridges

הצגת המשחק תלמידים משחקים סיום. פתיחה 12 min. min. min. min פתיחה. Copyright 2015

Apple, keys, pen, pencils, pencilbox,(toy)elephant,( toy) boy, (toy) girl, ball

פתרון בעיית צביעת הגרפים בעזרת אלגוריתם גנטי ואלגוריתמי Beam-Search

כימיה פיסיקלית א' (69163) תרגול מס'

Homework 10. Theoretical Analysis of Service Stations in Steady State. Priority Queues.

תכנות בטוח חלק ב ' מאת עידו קנר

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי

***Place an X if Closed גמרא (if no indication, we ll assume Open חזרה (גמרא of the :דף times

WHAT ATHEISM HAS LEARNED FROM RELIGION

Yetzer Shalom: Inclinations of Peace

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון א' Corresponds with Module A (Without Access to Information from Spoken Texts) גרסה א'

מבחן בגרפיקה ממוחשבת תש"ע סמסטר א' מועד א'

Chofshi.

חידת קופרניקוס: למה חלפו 0222 שנה עד לגילוי שכדור הארץ מסתובב סביב השמש? הרצאה של ד"ר בועז כץ

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות או מילון אנגלי-עברי-עברי-אנגלי

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

T H E S U N F L O W E R L I M I T S T O F O R G I V E N E S S

Name Page 1 of 5. דף ז. This week s bechina begins with the fifth wide line at the top of

מיהו המורה הנושר? מאפיינים דמוגרפיים,תעסוקתיים ומוסדיים של הנשירה מהוראה

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

Expressions (ex 8) Wild World (ex 7) Cars (ex 9)

NATIONAL COUNCIL OF YOUNG ISRAEL. Shavuot Nation JEWISH EDITION. Compiled by Gabi Weinberg Teen Program Director

Ron Famini, Lior Bar,

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

א נ ג ל י ת בהצלחה! ב. משרד החינוך בגרות לנבחנים אקסטרניים )מילון הראפס אנגלי-אנגלי-ערבי( השימוש במילון אחר טעון אישור הפיקוח על הוראת האנגלית.

כיול אוטומטי של פרמטרי בקר PID מבוסס IMC

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות או מילון אנגלי-עברי-עברי-אנגלי

אנגלית ספרות בהצלחה! /המשך מעבר לדף/ נספח: כישורי חשיבה )לפרק ראשון ושני( או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי

WALTZ WITH BASHIR Brian J. Arnold Adaptation script for DVD Plus - English & Hebrew February 10, 2009

Genetic Tests for Partners of CF patients

לצפייה בפתרון בווידאו לתרגילים שבחוברת, כנסו ל "סטטיסטיקה והסתברות" בשאלון 802 שבאתר

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי

סה"כ נקודות סה"כ 31 נקודות סה"כ 21 תוכן עניינים של פתרון המבחן. לולאת for )נתון אלגוריתם... מעקב, פלט

טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי

Summing up. Big Question: What next for me on my Israel Journey?

אנגלית (MODULE E) בהצלחה!

תשואה לגודל ומקסום רווחים הביקוש לגורמי ייצור עודף היצרן

תרגול 11 תור עץ חיפוש בינארי

ãówh,é ËÓÉÔê ÌW W É Å t" Y w f É ËÓÉÑ É èw É f Ñ u ð NNM YóQ' ÌW W É Y ÉgO d óqk É w f ym Éd É u ð NNM ÌWNQMH uqo ð NNM ÌWNQMH

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון ב' Corresponds with Module B גרסה ב' הוראות לנבחן

הטכנולוגיה בחינוך ד ר קובי גל אוניברסיטת בן גוריון בנגב

שאלון ד' הוראות לנבחן

Transcription:

מבוא לחישוב נומרי הכנה לקראת המבחן סמסטר א תש"ע סיכומי גן-עדן דינה זליגר Last updated: /15/010 6:47 P

תנאי שימוש Please read the following important legal information before reading or using these notes. The use of these notes constitutes an agreement to abide by the terms and conditions below, just as if you had signed this agreement. A. THE SERVICE. The following notes ("The service") are provided by DinaZil's Notes-Heaven ("Notes-Heaven"). B. DISCLAIER OF WARRANTIES; LIITATION OF LIABILITY. Notes-Heaven does not endorse content, nor warrant the accuracy, completeness, correctness, timeliness or usefulness of any opinions, advice, content, or services provided by the Service. YOU AGREE THAT USE OF THE SERVICE IS ENTIRELY AT YOUR OWN RISK. THE SERVICE PROVIDED IS PROVIDED "AS IS," WITHOUT WARRANTY OF ANY KIND. NOTES-HEAVEN EXPRESSLY DISCLAIS ALL WARRANTIES OF ANY KIND, WHETHER EXPRESS OR IPLIED, INCLUDING WITHOUT LIITATION: ANY WARRANTIES CONCERNING THE ACCURACY OR CONTENT OF INFORATION OR SERVICES. NOTES-HEAVEN AKES NO WARRANTY THAT THE SERVICE WILL EET YOUR REQUIREENTS, OR THAT THE SERVICE WILL BE ERROR FREE; NOR DOES NOTES- HEAVEN AKE ANY WARRANTY AS TO THE RESULTS THAT AY BE OBTAINED FRO THE USE OF THE SERVICE OR AS TO THE ACCURACY OR RELIABILITY OF ANY INFORATION OBTAINED THROUGH THE SERVICE. YOU UNDERSTAND AND AGREE THAT ANY DATA OBTAINED THROUGH THE USE OF THE SERVICE IS DONE AT YOUR OWN DISCRETION AND RISK AND THAT YOU WILL BE SOLELY RESPONSIBLE FOR ANY DAAGE TO YOUR GPA. NEITHER NOTES-HEAVEN NOR ANY OF ITS PARTNERS, AGENTS, AFFILIATES OR CONTENT PROVIDERS SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAAGES ARISING OUT OF USE OF THE SERVICE OR INABILITY TO GAIN ACCESS TO OR USE THE SERVICE OR OUT OF ANY BREACH OF ANY WARRANTY. C. INDENIFICATION. You agree to indemnify and hold Notes-Heaven, its partners, agents, affiliates and content partners harmless from any dispute which may arise from a breach of terms of this Agreement. You agree to hold Notes-Heaven harmless from any claims and expenses, including reasonable attorney's fees and court costs, related to your violation of this Agreement. D. OWNERSHIP RIGHTS. The materials provided by the Service may be downloaded or reprinted for personal use only. You acknowledge that the Service contains information that is protected by copyrights, trademarks, trade secrets or other proprietary rights, and that these rights are valid and protected in all forms, media and technologies existing now or hereafter developed. You may not modify, publish, transmit, participate in the transfer or sale, create derivative works, or in any way exploit, any of the Content, in whole or in part. You may not upload, post, reproduce or distribute Content protected by copyright, or other proprietary right, without obtaining permission of the owner of the copyright or other proprietary right. E. NO COPYING OR DISTRIBUTION. You may not reproduce, copy or redistribute the design or layout of this service, individual elements of the design, Notes-Heaven logos or other logos appearing on this service, without the express written permission of Notes-Heaven, Inc. Reproduction, copying or redistribution for commercial purposes of the service is strictly prohibited without the express written permission of Notes-Heaven, Inc. If you have any questions about this statement or the practices of this service you can contact Dina Zeliger dinazil@notes-heaven.com 1

תוכן עניינים.......... 3.... 4... 4... 4... 5... 6... 7... 7 למקוטעין Splines... 9... 9... 9.... 10... 10... 11... 1... 1... 1... 14... 14... 14... 14... 15... 16... 16... 19... 0... 1......... 4 אינטרפולציה שיטות נאיביות שיטת Neville ניתוח איכות אינטרפולציות פולינומיאליות Natural Splines אינטרפולציה על סריגים אחידים Least Squares Approximate Interpolation אינטרפולציה רב-ממדית Radial Basis Functions אינטגרציה שיטת הטרפז שיטת סימפסון אינטגרציה רב-ממדית אינטגרציית מונטה-קרלו Rejection Sampling מערכות משוואות לא ליניאריות שיטת החצייה שיטת Newton-Raphson מערכות משוואות ליניאריות שיטות ישירות אלימינציה של גאוס פירוק LU פירוק Cholesky שיטות איטרטיביות מטריצות פירוק Steepest Descent Conjugate Gradients Preconditioning Transformed Preconditioned Conjugate Gradients Untransformed Preconditioned Conjugate Gradients ערכים ווקטורים עצמיים

... 4... 5... 5... 6... 7...... 7... 8...... 8... 8... 30... 30... 30... 31... 31...... 3... 33... 33.... 34...... 35... 35... 37.... 40... 40.... 4... 43... 44... 49... 51.... 5 שיטת החזקות שיטת החזקות ההפוכה Jacobi Iteration שיטת ארנולדי שיטת Lanczos פירוק QR פירוק QR באמצעות תהליך גראם-שמידט פירוק QR באמצעות Householder Reflection פירוק QR באמצעות מטריצות Givens אופטימיזציה Bracketing Downhill Simplex Line inimization שימוש בנגזרות Simulated Annealing משוואות דיפרנציאליות רגילות שיטות אוילר שיטת id-step נספח א פתרונות למבחנים 008 מועד א 008 מועד ב נספח ב סיכום אינטרפולציה אינטגרציה מערכות משוואות לא ליניאריות מערכות משוואות ליניאריות ערכים ווקטורים עצמיים אופטימיזציה משוואות דיפרנציאליות רגילות 1

אינטרפולציה הבעיה: נתונה קבוצה סופית של ערכים של נקודות על גרף של פונקציה 1=i x i, y i כאשר x i,a b לכל i.1 בהינתן x R נרצה לשערך את.f x אם x a, b הבעיה נקראת אינטרפולציה ואם x a, b הבעיה נקראת אקסטרפולציה. אנחנו כמובן מניחים שהפונקציה רציפה, אחרת אין דרך לשערך אותה. בגדול, לפיתרון יש שני שלבים: תפירה )fitting( מציאת פונקציה f כך ש- f x i = y i לכל i.1 פונקציה זו נקראת אינטרפולנט. הערכה )evaluation( חישוב של.f x.1. ההנחה היא ש- f זו היא קירוב טוב של הפונקציה המקורית ולכן הערכה שלה ב- x נותנת קירוב טוב למה שאנחנו רוצים. בדרך כלל מחפשים את האינטרפולנט מתוך משפחת פונקציות שתלויות בפרמטרים כלשהם c. 1,, c k אז הבעיה היא למצוא פרמטרים כאלה כך ש- f x i, c 1,, c k = y i לכל i.1 דוגמה: נתון = f 1 = 1, f ואנחנו מחפשים אינטרפולנט.f x, c 1, c = xc 1 + x c כל הצבה של ערך נתון נותנת לנו אילוץ, כלומר משוואה: 1 = f 1 = f 1, c 1, c = c 1 + c = f = f, c 1, c = c 1 + 4c את המערכת הזו ניתן לפתור ולקבל את f. לאחר מכן ניתן יהיה לשערך בכל נקודה שנרצה. הגדרה: נתונות i=1. x i, y i אינטרפולציה ליניארית f היא מהצורה f x, c 1,, c = i=1 g i x c i כאשר g i פונקציות כלשהן. כלומר, משפחת האינטרפולנטים ליניארית בפרמטרים שלה. סדר האינטרפולציה הוא 1. אינטרפולציה פולינומיאלית היא אינטרפולציה ליניארית שבה בוחרים. כלומר האינטרפולנט הוא פולינום ממעלה 1,g i x = x i 1 יש משפט שאומר שאם x 0,, x נקודות שונות אז לכל y 0,, y יש פולינום יחיד p ממעלה כך ש- p x i = y i לכל i 0. ההוכחה של המשפט גם נותנת דרך מפורשת לבנות את הפולינום הזה. אז בעיית האינטרפולציה הפולינומיאלית פתורה. שיטות נאיביות התנאים f x i = y i באינטרפולציה לינארית נותנים את מערכת המשוואות הבאה: i=1 g i x j c i = y j j =1 או בכתיב מטריצות: g 1 x 1 g x 1 g 1 x g x c 1 c = y 1 y

y 1 g 1 x 1 g x 1 im קיים פתרון למשוואה. בפרט, אם האינטרפולציה אם y g 1 x g x פולינומיאלית אז נקבל את מערכת המשוואות 1 x 1 1 1 x 1 c 1 c = y 1 y זוהי מטריצת ון-דר-מונדה. כמובן, סביר להניח שכל ה- x -ים i שונות ולכן למערכת המשוואות הזו קיים פיתרון והוא יחיד. אם נפעל באופן נאיבי לפתרון מערכת המשוואות )למשל ע"י אלימינציה של גאוס( אז שלב התפירה נפתר בסיבוכיות O 3 ולאחר שכבר יש לנו את המקדמים של הפולינום, כל הערכה לוקחת זמן O ואין צורך לתפור מחדש. גישה אחרת לפיתרון הבעיה עוקפת את שלב התפירה ע"י שימוש בפולינום לגרנז' שהוא פשוט הפיתרון הידוע מראש של מערכת המשוואות הזאת: j i x x j p x = y i x i x j i=1 j =1 כאן עלות ההערכה היא O אבל אין את שלב התפירה. כמובן, ניתן היה מהנוסחה הזו לחלץ את המקדמים של הפיתרון אבל זה כרוך בפתיחת סוגריים והעלות תהיה O. שיטת Neville בשתי השיטות שראינו למעלה יש בעיה של יציבות נומרית. בד"כ לא רצוי לחבר מספרים מסדרי גודל שונים כי הדיוק של החישוב נפגע מאוד בגלל אופן הייצוג של המספרים במחשב. בפרט, הבעיה חמורה מאוד כאשר סדר האינטרפולציה גבוה ואז עלול להיות הבדל מאוד גדול בין x ל- 1 x. הרעיון הוא לבנות את הפולינום בשלבים ובכל פעם לעשות חישובים על מספרים בסדרי גודל דומים. נבנה סדרת פולינומים p i,,i+m כך שלכל.p i,,i+m x j = y i,j = 1,, m נגדיר באינדוקציה: p i x = y i p i,,i+m x = x x i p i+1,,i+m x + x i+m x p i,,i+m 1 x x i+m x i ככה נוצר עץ חישוב: 3

לבסוף, הפולינום p,,1 x הוא הפולינום שמעניין אותנו. גם בשיטה הזו מוותרים על שלב התפירה וניגשים מייד להערכה. עלות ההערכה היא O, כמו בשיטת הפולינום של לגרנז', אלא שהיתרון כאן הוא הדיוק הנומרי. ניתוח איכות משפט: נניח שנתונות נקודות i=0 x i, y i על גרף של פונקציה f כך ש- x i a, b לכל i 0 ו- p מתלכדת עם f על נקודות אלה. אם ל- f יש + 1 נגזרות בקטע a, b אז לכל x a, b קיים ξ a, b כך ש- R x = f x p x = x x 0 x x 1 x x + 1! f +1 ξ = w x + 1! f +1 ξ אם ניקח את כל הנקודות להיות במרחקים שווים זו מזו, נניח δ אז 1+ w x! δ ולכן R x 1 δ+1 f +1 ξ ולכן נקבל שבקטע,a b מתקיים R x K O δ +1 כאשר.K = max ξ a,b f +1 ξ המסקנה היא שאם ענייננו באינטרפולציה, כלומר a = x 0, b = x ומעניין אותנו לשערך נקודות בתוך הקטע אז ככל שנוסיף נקודות דגימה, המרחק δ יקטן והשגיאה תקטן. אבל זה בהנחה ש- K נשאר קבוע עם הוספת הנקודות. בפועל, בהרבה מקרים נגזרות גבוהות של פונקציות נוטות "להשתגע" ואז החסם שלנו לא מאוד מוצלח. זה לא אומר שהשגיאה תהיה גדולה בפועל אבל הניתוח התיאורטי שלנו לא מאפשר לראות זאת ואין הבטחה שהקירוב יהיה טוב יותר. אינטרפולציות פולינומיאליות למקוטעין Splines ראינו שכאשר מתאימים הרבה נקודות בבת אחת לא הצלחנו להוכיח שבהכרח השערוך יהיה טוב. ניתן לעשות את התפירה לקבוצות קטנות יותר של נקודות. יש שתי אפשרויות: חלוקת הקטע הגדול לתת קטעים זרים התחומים ע"י N נקודות בכל אחד מהם ושימוש באינטרפולציה ממעלה 1 N בכל קטע. הפונקציה המתקבלת היא כמובן רציפה אבל היא לא בטוח גזירה בנקודות החפיפה. בחירה שרירותית של N נקודות וחישוב האינטרפולציה רק עליהן )למשל, ניתן לבחור את N הנקודות הכי קרובות לנקודה שרוצים לשערך(. אם אנחנו צופים שנרצה לשערך רק בנקודה אחת זו יכולה להיות אפשרות טובה..1. Natural Splines על שתי האלטרנטיבות למעלה, ובעיקר על הראשונה, אולי נרצה לכפות גם אילוצים שקשורים לנגזרת. אם יש לנו מידע גם על הנגזרות של הפונקציה בנקודות הדגימה אפשר לשלב אותן במשוואות. במקרה זה נצטרך להשתמש בפולינומים ממעלה N. למשל, אם נתונות לנו שתי נקודות דגימה: f x 1 = y 1, f x = y f x = y ניתן לפתור את הבעיה ע"י פולינום ממעלה שנייה p. x = ax + bx + c אז נקבל מערכת משוואות לכל אחד מהאילוצים שלנו ונקבל שלוש משוואות בשלושה נעלמים. 4

אם אין לנו מידע מוקדם על הנגזרות נשמש בתוצאות הביניים כדי להסיק מידע על הנגזרות וכך נוכל לכפות על הפתרון שלנו להיות גזיר גם בנקודות הדגימה. כלומר, נפתור את המשוואות עבור הקטע הראשון. זה ייתן לנו פולינום f 1 ממעלה 1 N שמתלכד עם N נקודות הדגימה הראשונות. ואז כדי לחשב את f נוסיף לאילוצים שלנו גם את המשוואה 1 N p. 1 x 1 N = p x כך נוכל להמשיך הלאה ולתפור פונקציה לכל הקטע. אינטרפולציה על סריגים אחידים נניח כעת שנתונות לנו נקודות על גרף הפונקציה במרווחים אחידים ויתר על כן, הנקודות שאותן נרצה לשערך תמיד יחתכו את הקטעים הקטנים באותו מיקום יחסי. כלומר אם נתונות לנו הנקודות x 0,, x לכל.i = 0,, אז לכל שתי נקודות,y z שנרצה לשערך מתקיים x i y x i+1 y = x i z = x 0 z x i+1 z x 1 z אינטרפולציה פולינומיאלית מייצרת ערכים חדשים כפונקציה של הקלט c 0,, c כך ש-. p x = 1 c i x i בכתיב מטריצות זה למעשה. כלומר, מתקבלים x i, y i i=0 i=0 p x = 1 x 1, c 0 c 1 = x, c y i אבל הרי c התקבל כפתרון מערכת משוואות.Ac = y לכן p x = x,a 1 y פונקציה לינארית ב- y. כמו כן, מאחר שהנקודות החדשות נמצאות במרווחים אחידים בקטעים שלנו, הבעיה שלנו אינווריאנטית תחת הזזה. כלומר, אם נזיז את הקלט ב- t נקבל את אותה התוצאה מוזזת ב- t. 1 ידוע שההעתקות הליניאריות היחידות אשר אינווריאנטיות תחת הזזה הן קונבולוציות. השערוך כקונבולוציה עם הקלט שלנו. דוגמה: Up sampling ולכן ניתן לקבל את אינטרפולציה מסדר ראשון : נמצא את וקטור הקונבולוציה שמייצר דגימה מהירה פי שלושה של הקלט שלנו. נניח שהאינטרפולציה היא מסדר ראשון, כלומר מחברים כל זוג נקודות ע"י קו ישר. במקרה זה ברור שמתקיים z 1+3k = y k+1 z +3k = 3 y k+1 + 1 3 y k+ z 3+3k = 1 3 y k+1 + 3 y k+ כאשר y i הנקודות המקוריות ו- z i הנקודות שחדשות שאנחנו רוצים לשערך. את המשוואות האלה אנחנו רוצים להפוך לצורה של קונבולוציה. כלומר, אנחנו רוצים למצוא את הפילטר f שיוצר את הערכים האלה. קודם כל, אנחנו צריכים לרווח את הווקטור y כך שיהיה מקום להכניס את הערכים החדשים שאנחנו מחשבים. כלומר, את הפילטר אנחנו מפעילים על 0,0,. y 1, 0,0, y, 0,0, y 3, התוצאה המבוקשת היא y 1, 3 y 1 + 1 3 y, 1 3 y 1 + 3 y, y, ולכן הפילטר הוא,, 1,, 1. 3 3 3 3 אינטרפולציה ריבועית: נגדיל את מספר הדגימות פי שניים ע"י שימוש באינטרפולציה מסדר שני. כלומר, וקטור הקלט שלנו הופך ל- 0,. y 1, 0, y, האינטרפולנט הוא פולינום מהצורה 1 u v i = 1 תזכורת: קונבולוציה של שני וקטורים v,u היא הווקטור המוגדר ע"י N 1 n =0 u k v i k 5

כלומר מערכת המשוואות שמתקבלת היא a = y y 1 + y 0 b = y 4y 1 + 3y 0 c = y 0 אם נפתור את מערכת המשוואות נקבל p 1 כעת נוכל למצוא את פשוט ע"י הצבה: p 1 = y y 1 + y 0 1 4 y 4y 1 + 3y 0 1 + y 0 = = 3 8 y 0 + 3 4 y 1 1 8 y = 3 8 y 0 + 1 0 + 3 4 y 1 + 0 0 1 8 y מכאן ניתן להסיק שפילטר האינטרפולציה הוא 1,,0 3,,1 3. לא מפתיע שהתוצאה אינה סימטרית, 8 4 8 שהרי מאחר שהשתמשנו בשלוש נקודות כדי לייצר את האינטרפולנט, הנקודה המשוערכת אינה נמצאת במרכז הקטע שמוגדר ע"י הנקודות ולכן הנקודות השונות תורמות תרומה שונה לשיערוך. אגב, אחרי חישובים כאלה, בתור בדיקת שפיות אפשר לבדוק אם הפילטר שמצאנו עושה אינטרפולציה נכונה לפונקציה קבועה. כלומר, נניח שווקטור הקלט שלנו הוא,0,a.,a,0,a,0 אם נחשב את הקונבולוציה אכן נקבל,a.,a,a,a,a,a זה לא אומר שהפילטר שמצאנו הוא נכון, אבל אילו לא היינו מקבלים a,, a, a, a, a, a, אז בוודאי הייתה לנו טעות איפשהו. Least Squares Approximate Interpolation N יש לנו אוסף נקודות 1=i x i, y i ואנחנו רוצים להתאים להן פולינום ממעלה שקטנה מ- N. בוודאי לא בהכרח קיים פולינום שמתאים באופן מושלם לכל הנקודות ולכן נרצה למצוא את הפולינום שמתאים בצורה הכי טובה שאפשר. מדד האיכות שנהוג להשתמש בו הוא השגיאה הריבועית. אם p הפולינום המקרב, השגיאה הריבועית מוגדרת ע"י. E = N i=1 p x i y i המטרה היא למצוא פולינום שממזער את השגיאה הריבועית. ניתן לכתוב את הבעיה בצורה מטריציונית: נניח ש- היא מעלת הפולינום שמחפשים והמקדמים שלו הם.c 0,, c אזי מחפשים את המינימום לפי c 0,, c של p x i y i = 1 x 1 x 1 1 x N x N c 0 c y 1 y N t 1 x 1 x 1 1 x N x N A c 0 c c y 1 y N y כלומר, מחפשים את min c Ac y t Ac y = minc t A t Ac y t Ac + y t y c 6

את זה אפשר לגזור לפי c ולקבל פתרון )אכן יש פיתרון כי הפונקציה היא סכום ריבועים ולכן בהכרח יש לה מינימום(. הפיתרון שמתקבל נקרא pseudo-inverse והוא c = A t A 1 A t y אינטרפולציה רב-ממדית x כלומר,.R n הפעם הקלט שלנו הוא ערכי פונקציה שמוגדרת על יש לנו 0=i i, y i כאשר.x i R n יש כמה אפשרויות שאפשר לנקוט בהן: להרחיב את מה שעשינו במקרה החד-ממדי: לבחור פולינום ממעלה ב- n משתנים ולנסות לפתור משוואות ולהתאים אותו. הבעיה העיקרית כאן )פרט לקושי החישובי( היא שיש מספר בחירות אפשריות של פולינום כזה ממעלה. למשל, גם x + y וגם xy הם פולינומים ממעלה ולא ברור אפריורי באיזה מהם עדיף לבחור. לטפל בכל ממד בנפרד: אם הדגימות נתונות על סריג אחיד ניתן ראשית להתאים פולינומים לממד הראשון, אז להשתמש בתוצאה כדי לתפור את הממד השני וכך הלאה:.1. 3. מתן השפעה גדולה יותר לנקודות שקרובות לנקודות שאנחנו רוצים לשערך... Radial Basis Functions Radial Basis Function היא פונקציה ממשית שמוגדרת על R n ותלויה רק במרחק של הנקודה מראשית הצירים, או מנקודה אחרת. באופן כללי ניתן לומר שפונקציה כזאת היא מהצורה φ.,x c = φ x c בפונקציות כאלה אפשר להשתמש כדי לקרב את 0=i x i, y i ע"י f x = i=0 w i φ x x i אם φ(r) 0 אכן ככל שנקודה קרובה יותר לנקודת השיערוך ההשפעה שלה גדולה יותר. פונקציות r אופייניות שמשתמשים בהן הם למשל φ r = r k עבור 1 l k = אי-זוגיים או φ r = e βr עבור > 0 β כלשהו. w i i=0 כדי לקבל את המקדמים ניתן לפתור מערכת משוואות כמו קודם, כאשר הדרישה היא שלכל.f x i = y i מתקיים i = 0,, שיטת Shepard אם = 1 0 φ והפונקציות דועכות כל כך מהר שכשהן מגיעות לשכנות הן מתאפסות, נקבע w. i = y i אז מתקבל הקירוב f x = i=0 y i φ x x i 7

= j. f x לחילופין, ניתן לא להניח ש- 1 = 0 φ ופשוט i=0 y i φ x j x i אכן, מתקיים כאן y j לנרמל במקום: f x = i=0 y i i=0 φ x x i φ x x i תכונה נוספת של קירוב זה היא שכל נקודת שיערוך חדשה היא צירוף קמור של 0=i y i ולכן min i y i f x max y i i אז הפונקציה לא בהכרח דועכת ל- 0 באינסוף, אלא נשארת בתוך תחומי הגזרה. זוהי הווריאציה שמתכוונים אליה כשאומרים שיטת.Shepard זוהי נוסחה מפורשת של השערוך ולכן כדי לשערך נקודה יש צורך ב- O פעולות וזהו. ואנחנו מעוניינים לקרב את פונקצית הצפיפות שממנה נדגמו x i i=0 R n חלונות Parzen נניח שיש אוסף תצפיות התצפיות, כלומר, נרצה לשערך את הסבירות לקבל דגימה בנקודה מסוימת x. R n נהוג לקרב את. Φ x = 0=i φ x x i כדי לקבל פונקצית הסתברות ממש צריך גם לנרמל אבל אם ההסתברות ע"י רוצים רק להשוות בין נקודות שונות, זה מספיק. 8

אינטגרציה הבעיה: נתונה פונקציה f: R R ורוצים להעריך את f x dx יודעם ביטוי אנליטי לאינטגרל של f. x שלבים בפתרון: b a. הבעיה היא כמובן שלא תמיד אנחנו חלוקת תחום האינטגרציה למקטעים קטעים באורך קירוב הפונקציה f בכל קטע ע"י פונקציה פשוטה שאנחנו יודעים את האינטגרל שלה )למשל פולינום( סיכום כל האינטגרלים במקטעים הקטנים.1..3 זה קצת מזכיר את הגדרת האינטגרל כסכומי רימן, אלא ששם מאחר שלקחנו 0 קיבלנו בסוף תוצאה מדוייקת ואילו כאן אנחנו מקבלים רק קירוב. בדומה, נראה שככל שנחלק את תחום האינטגרציה לקטעים קטנים יותר, נקבל תשובה מדויקת יותר )אבל כמובן זה יעלה לנו באורך החישוב(. ע"י קירוב הפונקציה במקטעים באורך b a משפט: תהי f: R R ונניח שנחשב את האינטגרל f x dx ע"י פולינומים מסדר N. איכות קירוב האינטגרל היא.O N+1 שיטת הטרפז נבצע קירוב מסדר ראשון בין כל זוג נקודות עוקבות: הקירוב מסדר ראשון על קטע אחד נותן לנו בשימוש בנוסחה של שטח של טרפז x i+1 p x dx x i = y i+1 y i = b a n y i+1 y i כאשר n הוא מספר המקטעים. כשנסכם את התוצאות על כל הקטעים נקבל b f x dx a b a n f a + f b n 1 + f a + k i=1 b a n לפי המשפט למעלה איכות הקירוב של שיטת הטרפז היא O. שיטת סימפסון נעשה אינטגרציה נומרית באמצעות קירובים ממעלה שנייה. הנוסחה שמתקבל היא b f x dx a b a 6 f a + 4f a + b + f b = b a נקבל מהמשפט הקודם שאיכות הקירוב הוא O. 3 אבל ניתוח קפדני יותר יכול אם נגדיר n להראות שלמעשה החסם טוב יותר. משפט: איכות הקירוב של שיטת סימפסון היא O. 4 9

למעשה, ככלל, אם נבצע את האינטרפולציה באמצעות פולינום ממעלה אי-זוגית נקבל שאיכות הקירוב היא + O. הסיבה לכך היא שמונום אי-זוגי הוא פונקציה אי-זוגית ולכן האינטגרל עליו מתאפס. לכן, כשמשתמשים בפולינום ממעלה אי-זוגית מקבלים דיוק נקודתי גבוה יותר אבל שגיאת האינטגרל לכל קטע אינה גדלה. אינטגרציה רב-ממדית כמו באינטרפולציה רב-ממדית, יש שתי אפשרויות שניתן לנקוט בהן: להתאים פולינום רב-ממדי ולחשב את האינטגרל ממנו. לחשב את האינטגרל בשלבים לכל ממד בנפרד. הצידוק המתמטי של השיטה הזו נובע ממשפט פוביני: f x, y d x, y = f x, y dy dx A B A B גם במקרה זה מתקבלת שגיאה +N 1 O כאשר N סדר הקירוב. שיטות סטטיסטיות.1..3 אינטגרציית מונטה-קרלו אם אנחנו עובדים ב- R d ואנחנו מעוניינים לדגום את תחום האינטגרציה בסריג אחיד עם מרחק בין נקודות הדגימה בכל ציר יוצא שיש N = O d נקודות דגימה סה"כ והשגיאה שמתקבלת היא +1 E = O N d ו- = O N d לכן.E = O +1 וכאן יש שני גדלים שמתחרים זה בזה כי ככל ש- גדול יותר החסם קטן וככל שהממד d גדול יותר החסם דווקא גדל. בפועל בגלל אילוצי חישוב דווקא חסום ע"י כ- 8 ואילו d יכול להיות גדול מאוד! נרצה להתגבר על זה איכשהו. שיטת מונטה-קרלו נועדה בדיוק בשביל הבעיה הזאת. נניח ש- g פונקצית התפלגות ו- x i g~ x בלתי תלויים. אזי I = b f x dx a = a b f x g x g x dx 1 N N i=1 f x i g x i. E g f g b f x = a g x הקירוב הזה נובע מכך ש- dx g x השגיאה שמתקבלת היא משתנה אקראי שהתוחלת שלו היא f.e = 1 std f g כש- לא משתנה הרבה N g הקבוע std f הוא נמוך ומתקבלת שגיאה נמוכה. נשים לב שכתלות ב- N, השיטה מתכנסת תמיד! אם g בחרנו פונקציה g לא מוצלחת יכול להיות ש- std f g יהיה גדול מאוד, אך הוא קבוע ואינו תלוי ב- N. ולכן O 1 N קצב ההתכנסות של אינטגרציה מונטה-קרלו הוא תמיד האינטגרל שלה וללא תלות בפונקציה g שנבחרה. ללא תלות בפונקציה f שרוצים לחשב את המקרה האופטימלי הוא f g const אבל אז בעצם נובע ש- = x. g אילו היינו יודעים לחשב את f x f x dx זה אז לא הייתה לנו בעיה מלכתחילה. לכן, אנחנו רוצים למצוא פונקציה g שדומה ל- f כמה שיותר. g כזאת נקראת.trial distribution גם אחרי שנמצא g כזאת עדיין נשארת הבעיה לדגום ממנה משתנה אקראי אבל זה אפשרי בהנחה )הסבירה( שיש לנו גישה למשתנה אקראי יחיד. ניתן להרחיב אתה שיטה הזו לפונקציות רב-ממדיות אבל אז צריך לדגום משתנה אקראי רב-ממדי. זה אפשרי אבל מסובך יותר. 10

Rejection Sampling לפעמים הבעיה באינטגרציה היא לא שאנחנו לא יודעים לעשות אינטגרל לפונקציה אלא שתחום האינטגרציה הוא מסובך ואין פרמטריזציה נוחה לעבוד איתה. נניח למשל ש- U D כאשר U תחום פשוט שאנחנו יכולים לחשב את האינטגרל עליו. אז מתקיים f x dx D = 1 D x f x dx U כעת אפשר להשתמש בשיטת מונטה-קרלו: f x 1 D x dx U = f x 1 D x 1 U x U R d U dx 1 N N i=1 f x i 1 D x i 1 U x i U = U N N i=1 f x i 1 D x i x i ~ 1 U. אז אפשר להשתמש בשיטת מונטה-קרלו אלא שלפני שמכניסים נקודה לסכום בודקים x כאשר U אם היא בתחום האינטגרציה שלנו או לא. 11

.f x = כך ש- 0 x R n מערכות משוואות לא ליניאריות הבעיה: נתונה פונקציה :f R n R ורוצים למצוא שיטת החצייה אם הפונקציה f: R R רציפה ואנחנו יודעים שתי נקודות a < b כך ש- 0 < b f a f )כלומר סימן הפונקציה עליהן שונה( אז לפי משפט ערך הביניים קיימת נקודה a < c < b כך ש- 0 = c f. אז אפשר פשוט לעשות חיפוש בינארי: Bisectionethod(f, a, b, ε) 1. a 0 = a. b 0 = b 3. n = 0 4. c n = a n +b n 5. while f c n > ε a. if f c n > 0 i. b n+1 = c n ii. a n+1 = a n b. else if f c n < 0 i. b n+1 = b n ii. a n+1 = c n 6. return c n זאת שיטה איטרטיבית והיא משפרת את הקירוב בכל איטרציה. אם = 0 r f אז a n < r < b n לכל n N ולכן מאחר שבכל שלה אנחנו חוצים את קטע העניין נקבל ש- b a e n = c n r b n a n = n 0 n זה קצב התכנסות מעולה! אכן, זו שיטה טובה לפונקציות חד-ממדיות שעבורן יש לנו a < b כנדרש. אלא שזה לא תמיד המצב ועוד יותר חמור מזה, לא ניתן להרחיב את השיטה לפונקציות רב-ממדיות. שיטת Newton-Raphson אם נניח ש- f גזירה ניתן לפתח שיטה שלא משתמשת בניחוש ראשוני. השיטה לא תמיד מתכנסת אבל כשהיא מתכנסת זה קורה מאוד מהר, ויתר על כן, היא מתרחבת למקרה הרב-ממדי בקלות. השיטה מתבססת על קירובים ליניאריים של הפונקציה. בכל שלב מקרבים את הפונקציה ע"י המשיק שלה בנקודה. זוהי פונקציה ליניארית וניתן למצוא את השורש שלה. אז מצופה שהשורש של המשיק יהיה קרוב לשורש הפונקציה. משם ממשיכים הלאה: 1

NewtonRaphson(f, f, x 0 ) 1. x 1 = x 0 f x 0 f x 0. x n+1 = x n f x n f x n יש כמה נושאים חישוביים שצריך לתת עליהם את הדעת: הפונקציה צריכה להיות גזירה בכל נקודה שבה האלגוריתם עובר. אחרת לא ברור כיצד להמשיך. ברור מכלל הקידום של האלגוריתם שאם הנגזרת מתאפסת בנקודה כלשהי האלגוריתם עלול לקרוס ואז לא ברור כיצד להמשיך. לפעמים יכול להיות קשה לחשב את הנגזרת וזה עלול להשפיע על זמן החישוב. אם הערך ההתחלתי x 0 רחוק מהפיתרון השיטה עלולה לא להתכנס ולכן בד"כ מגבילים את מספר האיטרציות של האלגוריתם. אם הנגזרת של הפונקציה לא רציפה השיטה עלולה לא להתכנס..1..3.4.5 משפט: תהי f: R R פונקציה גזירה ברציפות פעמיים ונניח ש- 0 = r.f נסמן ב- r e n = x n את השגיאה המתקבלת באיטרציה n של שיטת ניוטון-רפסון. אזי לכל n N קיימת כך ש- ξ n e n+1 = e n f ξ n f x n 1 > e n f ξ לכל n N אז התהליך מתכנס. אם הנגזרות הראשונה והשנייה חסומות והניחוש n בפרט, אם f x n הראשוני מספיק טוב אז התהליך מתכנס בקצב סופר-ריבועי, שזה יותר מהר משיטת החצייה. היתרון המשמעותי של השיטה הזו הוא שאפשר להרחיב אותה באופן פשוט לפונקציות רב-ממדיות. אז כלל ההתקדמות פשוט נתון ע"י כאשר x n+1 = x n f x n 1 f x n f = f 1 f 1 x 1 x N f N f N x 1 x N כמו שמקרה החד-ממדי היינו צריכים ש- 0 n f, x כאן כדי שהאלגוריתם יוכל להמשיך צריך להתקיים ש- f x n הפיכה. ניתן להראות שבתנאים מסוימים גם השיטה הזאת מתכנסת. 13

.Ax = כך ש- b x R n ורוצים למצוא b R n ונתון A n R מערכות משוואות ליניאריות הבעיה: נתונה מטריצה ריבועית הפיכה יש שני סוגי פתרונות לבעיה: שיטות ישירות: מבצעות מספר סופי של פעולות חשבוניות שבסופן מתקבל פתרון מדויק של המשוואה )עד כדי שגיאות.)round off שיטות איטרטיביות: מתקרבות לפיתרון בשלבים אבל בשום נקודת זמן סופית )פרט למקרים בודדים( אין פיתרון מדויק. שיטות ישירות אלימינציה של גאוס השיטה הישירה הכי פשוטה היא אלימינציה של גאוס. מפעילים אוסף של פעולות אלמנטריות על המטריצה,A b כאשר כל פעולה משמרת את מרחב הפתרונות עד ש- A הופכת למטריצת הזהות. בשלב זה, הווקטור שהתקבל מ- b הוא הפתרון. הפעולות האלמנטריות הן: החלפת סדר שתי שורות כפל שורה בסקלר ששונה מאפס הוספת שורה לשורה אחרת בעזרת פעולות אלה ניתן לאפס את כל האיברים שמחוץ לאלכסון הראשי במטריצה. השיטה עובדת ב- O n 3 כי צריך לאפס O n איברים ולכל אחד מהם זה כרוך ב- O n פעולות. פירוק LU אם נצליח לפרק את A למכפלה A = LU כאשר L משולשית תחתונה ו- U משולשית עליונה מערכת המשוואות Ax = b תהפוך ל- b L. Ux = אבל L משולשית תחתונה ולכן ע"י הצבה לאחור ( back )substitution נוכל לפתור את המשוואה Ly = b בקלות. ואז ע"י הצבה לאחור נוכל לפתור בקלות את המשוואה Ux = y וזה הרי בדיוק מה שרצינו. L 11 0 L n1 L nn y 1 y n = b 1 b n ולכן, L 11 y 1 = b 1 y 1 = b 1 L 11 L i1 y 1 + + L ii y i = b i y i = b i L i1 y 1 + + L i,i 1 y i 1 L ii ובאופן דומה, אם U 11 U n1 0 U nn x 1 x n = y 1 y n אז נקבל ע"י הצבה לאחור U nn x n = y n x n = y n U nn 14

U ii x i + + U in x n = y n x i = y n U i,i+1 x i+1 + + U in x n U ii בהינתן L, U החישוב הזה לוקח.O n כיצד נחשב את הפירוק? נניח שקיים פירוק A 11 A 1n = A n1 A nn L 11 0 L n1 L nn U 11 U n1 0 U nn אז A 11 = L 11 U 11 ולכן ניתן לבחור L 11, U 11 כלשהם כך ש-.A 11 = L 11 U 11 אבל L 1 U 11 = A 1 והרי כבר יש לנו את U 11 ולכן ניתן למצוא את L. 1 כך ניתן להמשיך ולמצוא את כל העמודה הראשונה של L ובאופן דומה את כל השורה הראשונה של U. עכשיו ניתן להמשיך באינדוקציה. LU-Decomposition(A) 1. for k = 1,, n a. L kk U kk = A kk i<k L ki U ik b. for j = k + 1,, n i. L jk = A jk i<k L ji U ik U kk c. for j = k + 1,, n i. U kj = A kj i<k L ki U ij L kk הפירוק הזה לוקח O n 3 אז לכאורה אין לשיטה הזאת יתרון על פני אלינימציה של גאוס אבל אם סופרים את הפעולות בדקדקנות ניתן לגלות שיש הבדל בקבועים והשיטה הזאת משתמשת בכשני שליש מהפעולות של שיטת גאוס. הגדרה: תת מטריצה עיקרית של מטריצה נתונה A היא תת מטריצה שהאלכסון שלה הוא חלק מהאלכסון הראשי של A. עבור k n A 11 A 1k A nk A kk משפט: תהי A מטריצה כך שכל תת מטריצה עיקרית שלה מהצורה היא הפיכה. אזי קיים ל- A פירוק.LU משפט: תהי A מטריצה הפיכה. אזי ל- A קיים פירוק LU אמ"מ כל תת מטריצה עיקרית שלה היא הפיכה. ההבדל בין שני המשפטים הוא שבראשון לא דורשים שהמטריצה הפיכה. אכן, למטריצת האפס קיים פירוק LU על אף שאין לה אף תת מטריצה עיקרית הפיכה. פירוק Cholesky משפט: תהי A n R מטריצה סימטרית. אזי A מוגדרת חיובית אמ"מ קיימת מטריצה משולשית תחתונה L n R כך ש- A = LL t וערכי האלכסון של L חיוביים ממש. פירוק זה נקרא פירוק Cholseky והוא יחיד. למעשה גם למטריצה סימטרית מוגדרת אי-שלילית קיים פירוק כזה אלא שאז ערכי האלכסון של L יכולים להיות גם אפס והפירוק לא יחיד בהכרח. כמובן, מדובר כאן במקרה פרטי של פירוק LU ולכן בדיוק כמו שתואר קודם, ניתן לפתור מערכת משוואות כאשר המטריצה סימטריות ומוגדרת אי-שלילית באמצעות פירוק.Cholesky 15

CholeskyDecomposition(A) 1. for k = 1,, n k 1 a. L kk = A kk i=1 L ki b. for i = k + 1,, n i. L ik = A k 1 ik j =1 L ij L kj L kk גם הפירוק הזה לוקח O. n 3 שיטות איטרטיביות שיטה איטרטיבית היא שיטה שבה בכל איטרציה משפרים את הפתרון שיש לנו ויש כל מיני מדדים כדי לקבוע מתי לעצור. מעתה, נסמן את ממד המטריצה ב- N ואת מספר האיטרציה ב- n. מטריצות פירוק נניח שמערכת המשוואות שלנו היא Ax = b ונניח ש- Q מטריצה הפיכה כלשהי. אזי מתקיים Ax = b Qx Qx + Ax = b Qx = Q A x + b x = Q 1 Q A x + Q 1 b זה כמובן מייצג בדיוק את אותה מערכת המשוואות אבל את הביטוי הזה אפשר להפוך לשיטה איטרטיבית. נתחיל מניחוש ראשוני כלשהו x 0 ונתקדם לפי הכלל x n+1 = Q 1 Q A x n + Q 1 b כמובן, צריך ש- Q תהיה קלה להיפוך )אחרת לא באמת קיצרנו את התהליך( והכי חשוב נרצה שהתהליך יתכנס! במקרה הכללי כל איטרציה כרוכה במכפלת מטריצות בווקטורים ולכן לוקחת O. N אבל אם המטריצות דלילות )כלומר, בכל שורה יש O 1 איברים שאינם אפס( אז המכפלה לוקחת O N ואז אם מספר האיטרציות עד ההתכנסות קטן מ- N אנחנו במצב טוב ושיפרנו את הביצועים לעומת השיטות הישירות. מטריצה Q כזאת נקראת מטריצת פירוק. כדי שנוכל לדבר על איכות וקצב התכנסות נכניס את מושג הנורמה האופרטורית. עבור מטריצה A N R נגדיר את הנורמה האופרטורית שלה ע"י A k = max x 0 Ax k x k. ברור ש- 0 = k A אמ"מ = 0 A. באופן כללי, ניתן להוכיח שזו אכן הגדרה של כאשר x k = k N k i=1 x i פונקצית נורמה. כמה טענות שכדאי לדעת לגבי הנורמה האופרטורית: עבור מטריצות סימטריות מתקיים A = ρ A הרדיוס הספקטרלי של A. כלומר, לערך העצמי בעל הערך המוחלט הגבוה ביותר של A. A שווה 16

A מתקיים )A t A = AA t = ρ A t A עבור מטריצות נורמליות )כלומר n A מתקיים n N ולכל x R N k x k A n x k לכל נבחן כעת את האבולוציה של השגיאה. נניח ש- b.ax = אזי e n+1 = x n+1 x = = Q 1 Q A x n + Q 1 b x = = x n Q 1 Ax n + A 1 b x = = x n x Q 1 Ax n b = = e n Q 1 A e n + x b = = e n Q 1 Ae n + Ax b = = I Q 1 A e n ומכאן ש- e n+1 k = I Q 1 A e n k I Q 1 A k e n k I Q 1 A k I Q 1 A k e n 1 k I Q 1 A k n e 0 k. יתר על כן, מספיק שזה יהיה נכון לנורמת ולכן כדי שהתהליך יתכנס מספיק שיתקיים < 1 k I Q 1 A k כלשהי משום שידוע שכל הנורמות שקולות. נדון כעת בשתי דרכים לבחור את מטריצת הפירוק. שיטת Jacobi בשיטת Jacobi בוחרים את Q. = diag A כלומר, מתקבל האלגוריתם הבא: Jacobi(A, b, x 0 ) 1. for n = 1,, K a. for i = 1,, N i. x n+1 i = A ij n j i x A j + b i ii A ii, באלגוריתם K הוא מספר האיטרציות שנקבע מראש. אידיאלית, מוטב היה להפסיק כאשר התהליך מתכנס, אבל קשה לבחור מדד טוב להתכנסות. למשל, ניתן להמשיך באיטרציות כל עוד Ax n b ε אבל אם מדובר בווקטורים קטנים הנורמה הזאת יכולה להיות קטנה גם כאשר התהליך עוד לא התכנס. ובכל זאת, מאחר שאין משהו טוב יותר, זה המדד שנהוג להשתמש בו. כל איטרציה באלגוריתם לוקחת O N עבור מטריצות מלאות, אך אם המטריצה דלילה ניתן לרדת ל- O. N ואם מספר האיטרציות קטן ולא תלוי ב- N אז אנחנו במצב טוב.. A ii j i הגדרה: נאמר שמטריצה A היא דומיננטית אלכסונית אם לכל i N 1 מתקיים A ij משפט: שיטת Jacobi מתכנסת עבור מטריצות דומיננטיות אלכסונית ולכל ניחוש ראשוני בקצב. I Q 1 A שיטת Gauss-Seidel בשיטת Gauss-Seidel בוחרים Q = lower A החלק המשולשי התחתון של המטריצה. אז מתקבל האלגוריתם הבא: 17

Gauss-Seidel(A, b, x 0 ) 1. until convergence do a. for i = N,,1 i. x n+1 i = b N n i A ij x j i 1 n +1 j =i+1 j =1 A ij x j A ii גם כאן הסיבוכיות של על איטרציה היא O N למטריצות מלאות ו- O N למטריצות דלילות. משפט: שיטת Gauss-Seidel מתכנסת עבור מטריצות דומיננטיות אלכסונית ולכל ניחוש ראשוני. I Q 1 A בקצב היתרון העיקרי של השיטה הזו הוא שהיא ניתנת למימוש in-place וללא הקצאת זיכרון נוסף. בשיטת Jacobi צריך תמיד להחזיק את x n ואת 1+n x. יתר על כן, שיטת Gauss-Seidel מתכנסת מעט מהר יותר. מאידך, יש מקרים שבהם Jacobi מתכנסת ואילו Gauss-Seidel אינה מתכנסת. בכל מקרה, עבור מטריצות דומיננטיות אלכסונית, שתי השיטות מתכנסות לכל וקטור b ולכל ניחוש ראשוני x. 0 Successive Over Relaxation ראינו שכדי לפתור את מערכת המשוואות Ax = b ניתן לבצע תהליך איטרטיבי המוגדר ע"י נוסחת הנסיגה.x n+1 = Q 1 Q A x n + b כמו כן ראינו שכדי שהתהליך יתכנס צריך שתהיה נורמה שעבורה מתקיים I Q 1 A k < 1 כמובן, ניתן לכפול את Q בכל קבוע חיובי ולכן אפשר גם להסתכל על התנאי I αq 1 A < 1 נניח כעת ש- Q,A מוגדרות חיובית ונראה מה התנאי להתכנסות. נתבונן למשל בנורמה אוקלידית. אז I αq 1 A ρ I αq 1 A = 1 αλ min כאשר λ min ערך עצמי מינימלי של A. נרצה למצוא את ה- α האופטימלי, כלומר אנחנו מעוניינים ב- argmin α max i 1 αλ i שהרי בגלל ש- Q A, מוגדרות חיובית נובע ש-.ρ I αq 1 A = max i 1 λ i נתבונן בגרף של הערכים העצמיים של Q, 1 A כלומר נתבונן בהם ממוינים מגדול לקטן: 1.5 1 0.5 0-0.5-1 -1.5-18

הגרף העולה מייצג את הערכים העצמיים של Q 1 A והגרפים היורדים מייצגים את הערכים העצמיים של I αq 1 A עבור ערכים שוניםשל α. אנחנו רוצים לבחור α כזה שהגרף המתאים לו לא ייצא מגבולות 1,1 וכן αλ min = 1 + αλ max 1 כי אז הערך המוחלט יהיה הכי קטן שאפשר, כלומר הגרף = α. קצב ההתכנסות שמתקבל λ max +λ min λ max λ 1 min λ 1 = min κ A 1 = λ max + λ min λ max + 1 κ A + 1 λ min רחוק במידה שווה מ- 1 ומ- 1. α כזה מתקבל כאשר במקרה זה הוא κ A = λ max λ min כאשר ערך הנקרא מספר המצב של המטריצה A. λ min קרוב α = λ max בפועל בוחרים בד"כ מאוד לאפס ולכן זניח. גם כי זה אומר שצריך לחשב פחות וגם כי הרבה פעמים Steepest Descent נניח כעת שמערכת המשוואות נתונה ע"י Ax = b כאשר A סימטרית ומוגדרת חיובית. במקרה כזה ניתן. x x, y R N ואז הנורמה המושרית היא A = x t A = x t Ax להגדיר מכפלה פנימית על ע"י Ay f x = x t Ax הפונקציה x t b היא תבנית ריבועית ויש לה מינימום כאשר :Ax = b מאחר ש- A סימטרית ומוגדרת חיובית נובע שגם 1 A היא סימטרית ומוגדרת חיובית ולכן, f x = Ax b A 1 = = Ax b t A 1 Ax b = = x t A t b t A 1 Ax b = = x t A t b t x A 1 b = = x t A b t x A 1 b = = x t Ax x t b b t x + b t A 1 b = = x t Ax x t b + b t A 1 b אבל b t A 1 b מספר קבוע ולכן argminf(x) = argminf x והוא x כך ש- b.ax = לכן, כדי לפתור את מערכת המשוואות אנחנו נרצה למזער את הפונקציה f. x את זה נעשה בשיטה איטרטיבית. הרעיון הוא שבכל שלב נבחר כיוון התקדמות כלשהו d n ונמזער את הפונקציה לאורך כיוון זה. בשיטת SD בוחרים בכל שלב את הכיוון להיות d n = r n = b Ax n.d n בכיוון α = r n t r n ע"י הצבה בפונקציה וגזירה ניתן לקבל שהמינימום מתקבל כאשר מתקדמים r n t Ar n מתקבל אז האלגוריתם הבא: SteepestDescent(A, b, x 0 ) 1. until convergence do a. r n = b Ax n b. α = r n t r n r n t Ar n 19

c. x n+1 = x n + αr n תכונות של האלגוריתם: כל איטרציה כרוכה בביצוע מכפלת מטריצות בווקטורים ולכן לוקחת O N אם המטריצות דלילות ו- O N במקרה הכללי. אם מספר האיטרציות בלתי תלוי ב- N אז זו גם הסיבוכיות של כל האלגוריתם. כיווני החיפוש r n מקיימים שתי תכונות: r n r n+1 r n A e n +1 κ A = λ max A מספר המצב של A. כלומר, = SD ω כאשר 1 λ min A κ A 1 κ A +1 קצב ההתכנסות הוא. e 1+n A e n A ω SD כאשר מספר המצב נמוך קצב ההתכנסות גבוה. בהמשך נראה שיטות שבאמצעותן נגרום להורדת מספר המצב של מטריצה..1..3 Conjugate Gradients בשיטת ה- Descent Steepest הרבה פעמים יוצא שבהרבה איטרציות התהליך מתקדם באותו כיוון. היה טוב אילו בכל שלב היינו מתקדמים בכיוון אחר, כלומר, בכל שלב היינו מתקדמים בדיוק במידה הנכונה באותו כיוון. למשל אילו ידענו למצוא כיוונים אורתוגונליים ולדעת בדיוק כמה צריך להתקדם בהן אז אחרי N צעדים היינו מסיימים ומקבלים תוצאה מדויקת. אכן נפעל בשיטה זו אלא שלא נשתמש באורתוגונאליות רגילה. נאמר ששני וקטורים,x y הם A- אורתוגונליים אם = 0 Ay. x, y A = x t e n = x n x x n+1 = x n + αd n r n = b Ax n נסמן. argmin α e n+1 A = argmin α e n + αd n A = dn t r n אפשר לגזור ולראות ש- d n t Ad n :e n A d k d i N i=0 יתר על כן, אם קבוצה A -אורתוגונלית אז לכל n > k מתקיים e k+1 = x k+1 x = x k + αd k x = e k + αd k ולכן e k+1, d k A = e k + αd k, d k A = e k, d k A + α d k, d k A = = e k t Ad k + dk t r k = e k t Ad k + d k t r k = d k t Ad k dk t Ad k = = e k t Ad k d k t Ae k = 0 r k = Ae k A=A t d i N i=0 וכעת, באינדוקציה ובשימוש בכך ש- קבוצה A -אורתוגונלית נקבל: e k+, d k A = e k+1 + αd k+1, d k A = e k+1, d k A + α d k+1, d k A = 0 + α 0 = 0 0

אז אם d i N i=0 קבוצה A -אורתוגונלית קיבלנו שע"י בחירת נקבל שהשגיאה בסוף כל שלב n α = dn t r n d n t Ad n n 1 היא A -אורתוגונלית ל- 0=i. d i מאחר שיש לכל היותר + 1 N השגיאה בהכרח תתאפס וסיימנו. כיוונים אורתוגונאליים אחרי + 1 N שלבים נשארת אם כן השאלה כיצד למצוא כיוונים A -אורתוגונליים כאלה. זה נעשה באמצעות תהליך גראם- n שמידט על הווקטורים 0=i. r i חישובים מייגעים מראים שלא באמת צריך לעשות את כל החישוב שצורך O n 3 בכל שלב וניתן להסתפק בפחות חישובים )כי כל מיני איברים מתאפסים(. סה"כ מתקבל האלגוריתם הבא: ConjugateGradients(A, b, x 0 ) 1. d 0 = r 0 = b Ax 0. until convergence do a. α = d n t r n d n t Ad n b. x n+1 = x n + αd n c. r n+1 = r n αad n d. β = r n +1 t r n +1 r n t r n e. d n+1 = r n+1 + βd n באופן הזה כל איטרציה כרוכה בכמה פעולות כפל מטריצה בווקטור. אם המטריצות דלילות זה לוקח O N ואם הן מלאות זה לוקח O. N אם מספר האיטרציות שאנחנו בוחרים לעשות קבוע ולא תלוי בגודל המטריצה זו הסיבוכיות של כל האלגוריתם וחסכנו הרבה! הוכחת סדר ההתכנסות של האלגוריתם היא מסובכת אבל אפשר להוכיח ש- e n+1 A κ A 1 κ A + 1 n e 0 A אז גם במקרה הזה נעדיף שמספר המצב של המטריצה יהיה כמה שיותר נמוך. Preconditioning יש בעיות שבהן מספר המצב κ A מאוד גבוה ואולי אפילו תלוי בממד המטריצה. במקרה כזה השיטות שתיארנו אמנם מתכנסות אך לאט מאוד. היינו רוצים למצוא מערכת משוואות שקולה עם מספר מצב נמוך יותר. נשים לב שאם Ax = b ו- Q הפיכה אז Q. 1 Ax = Q 1 b ולשתי המשוואות יש בדיוק אותם פתרונות. אז נרצה למצוא Q כזאת שהופכת את מערכת המשוואות לפשוטה ובעלת מספר מצב נמוך. אלא שכעת Q 1 A לא בהכרח סימטרית או מוגדרת חיובית )אפילו אם Q היא כזאת( ולכן אפילו אם הורדנו את מספר המצב זה לא עוזר כי לא ניתן להשתמש ב- CG או ב- SD. לחילופין, ניתן להתבונן במערכת המשוואות E. t AEx = E t b במקרה זה Ex הוא פתרון של מערכת המשוואות המקורית. אלא שהפעם E t AE סימטרית ומוגדרת חיובית והתקווה שהיא שמספר המצב שלה נמוך יותר. 1

שתי הפעולות שתיארנו נקראות preconditioning והמטריצות נקראת מטריצות בידוד. נשים לב שאם נגדיר Q 1 = EE t אז אם Q 1 Av = λ v אז E t AEE 1 v = λe 1 v ולכן אין על פניו יתרון לשימוש במטריצות בידוד מסוג מסוים. אם A מטריצה סימטרית ומוגדרת חיובית יש לה מטריצה מלכסנת אורתוגונאלית V כך ש- AV D = V t אלכסונית עם אלכסון חיובי ממש. אם נבחר 1 D E = V זו תהיה מטריצת בידוד מצוינת כי אז E t AE = V D 1 t AV D 1 = D t V t AV D 1 = D 1 D D 1 = I אבל בפועל כמובן כמעט בלתי אפשרי למצוא את המטריצה המלכסנת הזו... בגדול מציאת מטריצת בידוד מתבצעת בשני שלבים: בידוד מציאת הצירים V )בקירוב( ש- A מכווצת או מותחת ובחירת D = diag V t AV תיקון תיקון של המטריצה בצירים אלה, כלומר מתיחת הצירים שכווצו ולהפך V D 1 t AV D 1.1. אם V t AV הייתה אלכסונית אז המצב היה אידיאלי. אם החישוב הוא מקורב חשוב שהקירוב יהיה טוב כי אם נבחר את מערכת הצירים לא טוב יכול להיות שלמעשה לא נשפר בכלל את המצב..E x = x t נגדיר את האנרגיה של וקטור x להיות Ax = x A נשים לב שאם v וקטור עצמי מנורמל )לפי נורמה סטנדרטית( של A אז E.לכן, v = v t Av = v t λv = λv t v = λ אם אנחנו בוחרים את כל הוקטורים להיות עם אנרגיה דומה זוהי בחירה גרועה של מערכת צירים. אנחנו מחפשים מערכת צירים חדשה שיש לה אנרגיות מעורבות גם גבוהות וגם נמוכות ואז בשלב התיקון באמת יש משמעות למתיחה ולכיווץ. אם אנחנו מכירים איזו תכונה שמשפיעה על האנרגיה אפשר לנסות להשתמש בה כמדריך לבחירת כיוונים. נשים לב שאם בוחרים V = I אז D = diaga וקיבלנו למעשה את שיטת.Jacobi כלומר, שיטת Jacobi היא בעצם פשוט משתמשת במטריצת בידוד מסוימת כדי לפתור את הבעיה. Transformed Preconditioned Conjugate Gradients ראינו שכדי לפתור את Ax = b מספיק לפתור את E. t AEx = E t b מאחר ש- AE E t היא סימטרית ומוגדרת חיובית ניתן לפתור את המשוואה באמצעות.CG אם נציב את הנתונים האלה באלגוריתם נקבל את האלגוריתם שנקרא :Transformed Preconditioned CG TransformedPCG(A, b, x 0,E) 1. d 0 = r 0 = E t b E t AEx 0. until convergence do a. α = dn t r n d n t E t AEd n b. x n+1 = x n + αd n c. r n+1 = r n αe t AEd n d. β = r n +1 t r n +1 r n t r n e. d n+1 = r n + βd n Untransformed Preconditioned Conjugate Gradients בגרסה הקודמת של האלגוריתם יש לחשב את E מתוך Q וזה יכול לקחת הרבה זמן. ובסוף גם צריך לחלץ את הפתרון למשוואה המקורית. ע"י כמה חילופי משתנים

r = E t r, x = E 1 x, d = E 1 d ניתן לקבל את הגרסה Untransformed Preconditioned CG שמחזירה אותנו למשתנים המקוריים ונותנת לנו מיד את הפתרון x של המשוואה המקורית )כזכור, x(: = Ex UntransformedPCG() 1. r 0 = b Ax 0. d 0 = EE t r 0 = Q 1 r 0 3. until convergence do a. α = dn t Q 1 r n d n t Ad n b. x n+1 = x n + αd n c. r n+1 = r n αad n d. β = r n +1 t Q 1 r n +1 r n t Q 1 r n e. d n+1 = Q 1 r n + βd n זה משפר את המצב משום שכעת לא צריך לפרק את ל- EE t ומספיק רק לדעת שקיים פירוק כזה. לאחר מכן ניתן פשוט להריץ את האלגוריתם הזה ומיד לקבל את הפתרון של המשוואה המקורית! Q 1 3

A N R ואנחנו רוצים למצוא את כל הוקטורים והערכים העצמיים ערכים ווקטורים עצמיים הבעיה: נתונה מטריצה ריבועים שלה. השיטה הישירה היא לפתור את הפולינום = 0 xi det A אבל כשמדובר בממדים גבוהים זה פרקטית בלתי אפשרי. שיטת החזקות שיטת החזקות מאפשרת למצוא את הערך העצמי המקסימלי בערך מוחלט. השיטה מתחילה מניחוש התחלתי אקראי. Powerethod(A, u 0 ) 1. Until convergence do a. u n+1 = Au n b. λ n+1 = u n+1 c. u n+1 = un +1 un +1 אחרי שהאלגוריתם מתכנס u n הוא וקטור עצמי עם ערך עצמי λ, n שהרי אם התהליך התכנס אז u n+1 = Au n = u n לפני הנירמול, ואחרי שבוחרים λ n = u n ומנרמלים את u n בדיוק מתקיים מה שצריך. נראה שעבור מטריצות לכסינות התהליך אכן מתכנס ומתקבל הערך העצמי המקסימלי בערך מוחלט. נניח שהערכים העצמיים הם λ 1 > > λ N ויש להם בסיס וקטורים עצמיים מתאימים.v 1,, v N אז אפשר u 0 N לכתוב = a i v i. לכן u n+1 = Au n = N i=1 a i λ i n v i c n כאשר c n קבוע נירמול. בכל מקרה, מאחר ש-, λ 1 > > λ N עבור n גדול נובע ש- λ n 1 λ n N ולכן אם הניחוש הראשוני אקראי ניתן להניח ש- 0 1 a ואז האיבר המשמעותי בסכום הוא a 1 λ n 1 v 1 ושאר המחוברים הולכים ומתאפסים: A k u 0 = a 1 A k v 1 + a A k v + + a N A k v N = = a 1 λ k 1 v 1 + a λ k + + a N λ k N v N = = a 1 λ 1 k v 1 + a a 1 λ λ 1 k v + + a N a 1 k λ N v λ 1 i=1. אז λ λ 1 מאחר ש- 1 < ל- i j > נובע שהביטוי בסוגריים שואף ל- v 1 וההתכנסות היא גיאומטרית בקצב λ i אם שני הערכים העצמיים המקסימליים קרובים זה לזה השיטה מתכנסת לאט מאוד. λ j באופן פשטני, מצאנו את הערך העצמי המקסימלי. אבל ניתן לשדרג קצת את השיטה ולאפשר למצוא כמה ערכים עצמיים מרביים. m-powerethod(a, u 1 0,, u k 0 ) 1. for k = 1,, m a. until convergence do 4

i. u k n+1 = Au k n ii. u k n+1 = u k n+1 iii. u n+1 k = u n +1 k u n +1 k n b. u k = u k k 1 n+1 j =1 u j u j, u k הרעיון הוא שבכל פעם נוריד מהווקטור המשוער את כל הרכיבים בכיוונים של הווקטורים העצמיים שכבר נמצאו. ככה המקדמים שלהם ייעלמו מהפיתוח ונישאר רק עם הערך המקסימלי מבין הרכיבים שנותרו. אלטרנטיבה פשוטה יותר היא פשוט לבחור וקטור ניחוש ראשוני שמאונך לכל הוקטורים העצמיים הקודמים אבל השיטה הזאת מאוד לא יציבה נומרית. שינוי קל בפרמטרים של השיטה מאפשר לנו למצוא ערכים עצמיים מינימליים. אם נניח בנוסף ש- A מוגדרת חיובית, כלומר כל הערכים העצמיים שלה חיוביים ממש אז שיטת החזקות מוצאת את הערך העצמי המקסימלי ממש ולא רק מקסימלי בערכו המוחלט. לכן אם נפעיל את השיטה על λ max I A נקבל את הערך העצמי המינימלי. שיטת החזקות ההפוכה אם נפעיל את שיטת החזקות על המטריצה 1 μi A A μi 1 ל- μ :. אבל הערכים העצמיים של מטריצה זו הם בדיוק 1 נקבל את הערך העצמי המקסימלי של λ i μ אז המקסימום מתקבל כאשר λ i קרוב InversePowerethod(A, μ, u 0 ) 1. until convergence do a. solve A μi u n+1 = u n //i.e. u n+1 = A μi 1 u n b. λ n+1 = u n+1 c. u n+1 = un +1 un +1 נניח ש- λ 1, λ הם שני הערכים העצמיים הקרובים ביותר ל- μ. אז קצב ההתכנסות הוא λ μ λ 1 μ "י בחירת μ ע. כמה שיותר קרוב ל- λ 1 ניתן לקבל קצב התכנסות יותר ויותר גבוה. כמובן, אילו היינו יודעים את λ 1 לא הייתה לנו בעיה לפתור בכלל אבל בכל מקרה יש כל מיני כללי אצבע שאומרים איך לבחור את μ בצורה טובה. אז קצב ההתכנסות יכול להיות מאוד גבוה אבל המחיר הוא שהשיטה כרוכה בהיפוך מטריצה או פיתרון מערכת משוואות בכל איטרציה. זה יכול לקחת הרבה זמן. Jacobi Iteration עד כה עבדנו על מטריצות כלליות. אם נניח שהמטריצה A סימטרית נוכל לפתח שיטה שמוצאת את כל הערכים העצמיים והרבה יותר יציבה נומרית מהקודמות. אם A סימטרית אז לכל מטריצת סיבוב 5

V = R θ ij = 1 0 0 0 0 cos θ sin θ 0 i 0 sin θ cos θ 0 j 0 0 0 1 i j גם A = V t AV היא מטריצה סימטרית והיא דומה ל- A. ומתקיים A ii = c A ii sca ij + s A jj A jj = s A ii = sca ij + c A jj A ij = A ji = c s A ij + sc A ii A jj k i, j A ik = A ki = ca ik sa jk k i, j A jk = A kj = sa ik + ca jk k, l i, j A kl = A kl. tan θ = A ij A jj A ii ע"י פתרון בשיטת Jacobi חוזרים על עבור 0 ij A ניתן למצוא θ כך ש- 0 = התהליך הזה עד שהמטריצה הופכת להיות כמעט אלכסונית. אז האיברים שעל האלכסון שלה מהווים קירוב טוב לערכים העצמיים האמיתיים של המטריצה. JacobiIteration() A ij מטריצות הסיבוב הנ"ל נקראות מטריצות.Givens 1. V = I. while A ij 0, i j a. find R θ ij such that R θ ij A R θ ij t b. V = R θ ij V c. A = R θ ij A R θ ij t 3. output diag A, V ij = 0 אפשר להראות שהשיטה באמת מתכנסת. כל איטרציה באלגוריתם לוקחת O N כי רק O N איברים משתנים בכל סיבוב. אבל כדי שהשיטה תהיה יעילה כדאי לבחור בכל שלב A ij מקסימלי מחוץ לאלכסון וזה כרוך בבדיקה של O N איברים במטריצה. ויש O N איטרציות. אז אם אנחנו בוחרים כלשהו השיטה יוצאת O N 3 אבל אם מחפשים את A ij המקסימום זה אפילו O. N 4 שיטת ארנולדי שיטת ארנולדי היא שיטה שמוצאת ערכים עצמיים של מטריצות כלליות )לא בהכרח סימטריות(. שיטת החזקות לא משתמשת בערכי הביניים שהיא מחשבת. בשיטת ארנולדי מנסים להשתמש בכל המידע שחישבנו. נסתכל בווקטורים,b. Ab, A,, A 1 n b בעזרת תהליך גראם-שמידט ניתן להפוך אותם לבסיס אורתוגונאלי של המרחב.K n = span b, Ab,, A n 1 b הבסיס הזה מקרב את n הווקטורים העצמיים עם הערכים העצמיים הכי גדולים. הבעיה בתהליך כפי שהוא תואר למעלה היא שהחישוב הישיר הזה מאוד 6

לא יציב. במקום זה שיטת ארנולדי משתמשת בתהליך גראם-שמידט מיוצב שמייצר בסיס אורתונורמלי למרחב הזה. Arnoldi(A) 1. let q 1 R N such that q 1 = 1. for k =,3, a. q k = Aq k 1 b. for j = 1,, k 1 i. j,k 1 = q j t q k ii. q k = q k j,k 1 q j c. k,k 1 = q k d. q k = q k k,k 1 התהליך מפסיק כאשר q k הוא וקטור האפס ואז לא ניתן יותר לקבל וקטורים אורתונורמליים. נסמן ב- Q n את המטריצה שהעמודות שלה הן n הווקטורים הראשונים q 1,, q n שנמצאו ע"י התהליך. ונסמן ב- H n את המטריצה המתקבלת ע "י התהליך )עם ערכי אפס במקומות שלא חושבו(. אפשר להראות שמתקיים אז H. n = Q t n זה לא בדיוק דמיון מטריצות כי Q לא ריבועית אבל מפה נובע שאפשר לקרב את הערכים n AQ n העצמיים ע"י חישוב של הערכים העצמיים של H. n אם n לא מאוד גבוה ניתן לחשב את כל הערכים העצמיים שלה. כל איטרציה פנימית של האלגוריתם כרוכה בפעולות על וקטורים ולכן לוקחת O N פעולות. ואילו האיטרציה ה- k של האלגוריתם כרוכה כרוכה בכפל מטריצה בווקטור ובלולאה הפנימית ולכן אם מדובר במטריצות דלילות לוקחת O. N + O kn אם יש סה"כ m איטרציות אז הסיבוכיות של האלגוריתם היא.O m N + mn = O Nm אם המטריצה היא מלאה אז יוצא O m N כי כפל המטריצה לוקח יותר זמן. סיבוכיות הזיכרון היא O. mn לבסוף צריך גם להוסיף לזה את הזמן שלוקח לחשב את הערכים העצמיים של המטריצה המתקבלת H. m שיטת Lanczos כאשר המטריצה סימטרית החישובים בשיטת ארנולדי הופכים קצת פשוטים יותר. במקרה זה ניתן לחשב ולהראות שהמטריצה H שמתקבלת היא מתאפסת פרט לאלכסון הראשי והשניים המשניים ויתר על כן, היא סימטרית. כלומר H m = α 1 β 0 β α β 3 β 3 α 3 β m 1 β m 1 α m 1 β m 0 β m α m ולכן כעת בשיטת ארנולדי כל הלולאה הפנימית לוקחת O N ולא O. mn כך כל השיטה יורדת ל- O mn למטריצות דלילות ו- O mn למטריצות מלאות. פירוק QR בהינתן מטריצה A, אילו יכולנו לפרק אותה ל- QR A = כאשר Q מטריצת סיבוב ו- R מטריצה משולשית עליונה יכולנו להשתמש בפירוק הזה כדי לחשב ערכים עצמיים של A: A 0 = A 7

A k+1 = R k Q k = Q k t Q k R k Q k = Q k t A k Q k ולכן כל המטריצות A k דומות ויש להן ערכים עצמיים זהים. תחת תנאים מסוימים הסדרה A k מתכנסת למטריצה משולשית ואז בעיית מציאת הערכים העצמיים נפתרת. נותר להראות כיצד לחשב פירוק.QR יש שלוש דרכים לבצע זאת. פירוק QR באמצעות תהליך גראם-שמידט נבצע תהליך גראם-שמידט על העמודות של המטריצה A ונקבל את הווקטורים q. 1,, q n כמובן המטריצה שנוצרת ע"י וקטורים אלה היא מטריצת סיבוב. ע"י כמה מניפולציה אלגבריות ניתן להראות שהמטריצה R = Q t A היא משולשית עליונה. ומאחר ש- Q מטריצת סיבוב אכן מתקיים.A = QQ t A = QR היתרון בשיטה הזו הוא שהוא לא מסתמך על אף תכונה של המטריצה המקורית. את התהליך הזה ניתן לבצע לכל מטריצה ולקבל פירוק כמו שרצינו. ועלות הפירוק היא למעשה עלות החישוב של תהליך גראם- שמידט שזה.O n 3 פירוק QR באמצעות Householder Reflection שיקוף Householder הוא טרנספורמציה לינארית שמשקפת וקטור סביב מישור כלשהו. נבנה מטריצות Q = Q t t Q 1,, Q n כך ש- R Q n Q 1 A = מטריצה משולשית עליונה ואז אם ניקח Q n 1 נסיים. נגדיר אפשר לחשב ולראות שמתקיים v = a 1 a 1 e 1 a 1 a 1 e 1 Q 1 = I vv t I vv t A = 0 0 כלומר נקבל מטריצה שבעמודה הראשונה שלה כל האיברים פרט לראשון מתאפסים. כעת נמשיך באינדוקציה. נבצע את אותו התהליך עבור תת המטריצה שמתקבלת ע"י הורדת השורה ועמודה הראשונה ונקבל מטריצה Q. אז נגדיר Q = 1 0 0 0 Q 0 כך נוכל להמשיך עד שנקבל את מה שרצינו. העלות החישובית נובעת בעיקר מהכפל Q. n Q 1 A אבל Q i נוצרות ע"י vv t שהיא מטריצה שכל השורות שלה הן כפולות אחת של השנייה. מכפלה במטריצה כזאת ניתן לבצע ב- O. n לכן כל שלב באלגוריתם לוקח O n ולבסוף כדי לחשב את Q צריך לכפול n כאלה מה שמביא אותנו ל- O. n 3 פירוק QR באמצעות מטריצותGivens מטריצת Givens היא מטריצת סיבוב כמו שהשתמשנו בשיטת.Jacobi iteration ניתן לעשות תהליך דומה לאלימינציה של גאוס שבו בכל איטרציה מאפסת איבר מתחת לאלכסון הראשי של A. אז מכפלת כל מטריצות הסיבוב שהשתמשנו בהן נותנת את Q וההפעלה שלהן על A נותנת את R. הסיבוכיות המתקבלת 8

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

.x אופטימיזציה הבעיה: נתונה פונקציה רציפה :f R d R ורוצים למצוא נקודת מינימום מקומית Bracketing כאשר הפונקציה מוגדרת על R, כלומר הבעיה חד-ממדית, ניתן לפעול במעין חיפוש. נתחיל עם שלשה a < b < c כך ש- f b < f a,f c ונבחר x a, b כלשהו. יש שתי אפשרויות: אם f x < f b נמשיך באותו אופן עם השלשה a < x < b אם f x f b נמשיך באותו אופן עם השלשה x < b < c כך בכל שלב אנחנו נמצאים באותו מצב התחלתי שבו יש שלוש נקודות והאמצעית מקבל ערך נמוך יותר מהקיצוניות. בכל של המרחק בין נקודות הקצה קטן ולבסוף מתכנסים לנקודת מינימום מקומית. למעלה בחרנו נקודה x,a b אבל ברור שבאותה מידה ניתן היה לבחור נקודה x.,b c למעשה, עדיף לשלב וניתן להשתכנע שככלל בכל שלב עדיף לבחור נקודה בתוך הקטע הרחב יותר. עדיין לא ברור באיזו נקודה בדיוק כדאי לבחור. סביר לחשוב שכדאי שבכל שלב הבעיה תהיה דומה לבעיה הקודמת, מבחינת היחסים בין מרחקי הנקודות. חישוב שמתבסס על דמיון עצמי זה מראה שבכל שלב כדאי לבחור את הנקודה x בתוך הקטע הרחב כך שהיא מחלקת אותו לפי יחס הזהב. φ = 5+1 וריאציה אחרת לבחירת x מתבססת על אינטרפולציה של הפונקציה. ישנן שלוש נקודות אז ניתן להתאים אותן ע"י פרבולה ומאחר שנקודות הקצה גבוהות יותר, הפרבולה תהיה בוכה ותקבל מינימום. שם אפשר לבחור את הנקודה החדשה x. במקרה זה יש סכנה לא להתרחק הרבה מ- b ולמעשה "להיתקע במקום" במקום להתקדם. בפרט, אם במקרה b היא נקודת המינימום של הפרבולה, אז לעולם לא נמצא נקודה אחרת. לכן, בפועל בד"כ משלבים בין האסטרטגיות. Downhill Simplex את השיטה הקודמת אי אפשר להרחיב לפונקציות רב-ממדיות. Downhill Simplex הוא כלל אצבע שמאפשר להתמודד עם פונקציות רב-ממדיות וההנחה היחידה היא שהפונקציה המדוברת היא רציפה. הבעיה עם השיטה היא שמדובר רק כלל אצבע והשיטה עלולה להתכנס גם לנקודות שאינו נקודות קיצון. נניח שיש לנו + 1 n נקודות 1+n x. 1,, x השיטה עובדת ע"י הפעלת הפעולות הבאות: מסדרים את הנקודות כך ש- n+1 f x 1 f x מחשבים את מרכז הכובד = 0 x של הנקודות n +1 i=1 x i n+1 שיקוף :)reflection( מחשבים את הנקודה המשוקפת n+1 x r = x 0 + α x 0 x עבור > 0.α אם f x 1 f x r < f x n אז מחליפים את n+1 x ב- x r וממשיכים שוב לשלב.)1( הרחבה :)expansion( אם f x r < f x 1 בודקים אם אפשר להמשיך: מחשבים את הנקודה המורחבת n+1.x e = x 0 + γ x 0 x אם f x e < f x r מחליפים את n+1 x ב- x e וחוזרים לשלב )1(. אחרת, מחליפים את 1+n x ב- x r וחוזרים לשלב )1(. אם f x r f x 1 )כלומר לא הצלחנו לשפר( ממשיכים לשלב הבא. כיווץ :)contraction( אז בהכרח מתקיים f. x r f x n מחשבים את הנקודה המכווצת n+1.x c = x n+1 + ρ x 0 x אם n+1 f x c f x מחליפים את n+1 x ב- x c וחוזרים לשלב.)1( אחרת, ממשיכים לשלב הבא..1..3.4.5 30

.6 רדוקציה :)reduction( לכל + 1 n i מחשבים x i = x 1 + σ x i x 1 וחוזרים לשלב.)1( ערכים אופייניים של α, γ, ρ, σ הם = 1 σ.α = 1, γ =, ρ = 1, בשלב השיקוף, מאחר ש- 1+n x היא הנקודה הכי גרועה מצפים למצוא ערך נמוך יותר בשיקוף שלה. בשלב ההרחבה אם הצלחנו לשפר מנסים לבדוק אם אפשר להוריד את הערך ע"י הליכה נוספת באותו כיוון ובשלב הכיווץ, אם f x r > f x n מצפים למצוא ערך נמוך יותר בתוך האזור שנוצר ע"י כל הנקודות. לנקודות ההתחלתיות יש השפעה על התקדמות התהליך ותמיד כדאי לבחור נקודות שנראות מתאימות לבעיה הספציפית שמנסים לפתור. Line inimization נתונה פונקציה.f: R n R אם קיים ממזער חד-ממדי שיכול לפתור בעיות מהצורה min α f x + αd עבור וקטורי כיוון d R n ניתן להשתמש בו כדי למזער את הפונקציה הרב-ממדית. יש כל מיני ממזערים כאלה. למשל,,steepest descent,bracketing שימוש בשיטת Newton-Raphson כדי למצוא שורש של הנגזרת )אם הפונקציה גזירה( וכו'. בכל מקרה העניין החשוב לדון בו הוא אסטרטגיית בחירת כיווני החיפוש. שיטת Powell עובדת בכמה איטרציות. מתחילים מנקודה כלשהי x. 0 ראשית, כיוון החיפוש הראשון הוא x 1 = x 0 + מגדירים αd 1.α = argmin α f x 0 + וקטור היחידה הראשון. מחשבים את αd 1 d 1 = e 1 וממשיכים משם למזער בכיוון d. = e כך ממשיכים עד שעוברים על כל וקטורי היחידה ונוצרות נקודות.x 0,x 1,, x n כעת בוחרים d i באקראי ומחליפים אותו ב- x n x 0 ועכשיו שוב ממזערים לפי כל הכיוונים. ככה ממשיכים עד להתכנסות. הבעיה העיקרית עם השיטה הזו היא שאם הייתה ירידה משמעותית בערך הפונקציה לפי אחד הכיוונים x n x 0 יהיה מאוד קרוב לכיוון הזה ואז ע"י בחירה אקראית של כיווני חיפוש והחלפתם בכיוון הזה אנחנו נאבד את היכולת לחפש בכיוונים אחרים. פתרון אפשרי לזה הוא שיטת Powell המותאמת. שם לא בוחרים באקראי את הכיוון לאותו נחליף אלא בוחרים דווקא את הכיוון שתרם הכי הרבה למזעור הפונקציה. כלומר, בוחרים את i 1.i = argmax i f x i f x זה בדיוק פותר את הבעיה הנ"ל. שימוש בנגזרות אם הפונקציה דיפרנציאלית פעמיים ניתן לקרב אותה באמצעות פולינום ריבועי: f x + = f x + f x + 1 t H f x + o 3 H f x 0 ij = f x i x j כאשר x 0 מטריצת ההסיאן. כדי למזער את f x + מספיק למזער את F x = f x + 1 t H f x וזאת פונקציה ליניארית שאותה אנחנו יודעים למזער ע"י CG או ע"י.SD כעת נוכל לעשות תהליך איטרטיבי. נתחיל מ- x 0 כלשהו ומשם בכל שלב נקבל x n = x 1 n + כאשר.F xn 1 ממזער את () 31