59
מבוא לחישוב נומרי[email protected] תום חן ־2015 בפברואר10 1

Numerical Analysis

  • Upload
    tom-hen

  • View
    31

  • Download
    12

Embed Size (px)

DESCRIPTION

Lecture Notes

Citation preview

Page 1: Numerical Analysis

נומרי לחישוב מבוא

[email protected] ־ חן תום

2015 בפברואר 10

1

Page 2: Numerical Analysis

עניינים ענייניםתוכן תוכן

עניינים תוכן

4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . אינטרפולציה: 1

4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . לינארית: אינטרפולציה 1.1

5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . פולינומיאלית: אינטרפולציה 1.1.1

9 . . . . . . . . . . . . . . . . . . . . . . :(Splines) למקוטעין פולינומיאלית אינטרפולציה 1.2

11 . . . . . . . . . . . . . . . . . . . . . . . . . :Natural Cubic Spline ־ שיטת 1.2.1

11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :(Splines (באמצעות פילטרים 1.3

21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :RN ב־ אינטרפולציה 1.4

21 . . . . . . . . . . . . . . . . . . . . . . . :RN ב־ פולינומיאלית אינטרפולציה 1.4.1

22 . . . . . . . . . . . . . . . . . . . . :RN ב־ Spline Interpolation ב־ שימוש 1.4.2

24 . . . . . . . . . . . . . . . . . . . . . . . . :RN ב־ Spline Filters ב־ שימוש 1.4.3

25 . . . . . . . . . . . . . . . . . . . . . . . . . . . :Scattered Data Interpolation שיטות 1.5

27 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . נומרית: אינטגרציה 2

27 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :R ב־ נומרית אנטגרציה 2.1

28 . . . . . . . . :Spline-Interpolation באמצעות אינטגרציה של השגיאה הערכת 2.1.1

30 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :RN ב־ נומרית אינטגרציה 2.2

30 . . . . . . . . . . . . . . . . . . :Monte-Carlo בשיטת סטוכסטית אינטגרציה 2.2.1

32 . . . . . . . . . . . . . :Importance Sampling באמצעות נומרית אינטגרציה 2.2.2

32 . . . . . . . . . . . . . . . . . . . . . . :Inverse Transform Sampling שיטת 2.2.3

34 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :RN ב־ דגימה 2.2.4

35 . . . . . . . . . . . . . . . :Rejection Sampling באמצעות Rn ב־ אינטגרציה 2.2.5

35 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . נומרית: אינטגרציה סיכום 2.2.6

36 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . לינאריות: לא משוואות פתרון 3

36 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :(Bisection Method) החצייה שיטת 3.1

36 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :Newton-Raphson שיטת 3.2

36 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . החד־ממדי: המקרה 3.2.1

38 . . . . . . . . . . . . . . . . . . . . . . . . :RN ב־ Newton-Raphson שיטת 3.2.2

38 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . לינאריות: משוואות פתרון 4

39 . . . . . . . . . . . . . . . . . . . ריבועית: מטריצה של LU פירוק באמצעות מדויק פתרון 4.1

39 . . . . . . . . . . . . . . . . . . קיים: שהנ"ל במקרה LU פירוק מוצאים כיצד 4.1.1

42 . . . . . . . . . . . . . . . . . . :A הפיכה מטריצה של LU פירוק קיים מתי 4.1.2

43 . . . . . . . . . . . . . . . ריבועית: מטריצה של Cholesky פירוק באמצעות מדויק פתרון 4.2

44 . . . . . . . . . . . . . . . . . . . מטריצה: של Cholesky לפירוק האלגוריתם 4.2.1

44 . . . . . . . . . . . . . . . . . . . . . . . . לינאריות: משוואות לפתרון איטרטיביות שיטות 4.3

45 . . . . . . . . . . . . . . . . איטרטיביות: שיטות של התכנסות לאנליזת הקדמה 4.3.1

45 . . . . . . . . . . . . . איטרטיביות: שיטות של להתכנסות מספיקים תנאים שני 4.3.2

47 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :Jacobi שיטת 4.3.3

48 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :Gauss-Seidel שיטת 4.3.4

49 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :Richardson שיטת 4.3.5

51 . . . . . . . . . . . :Steepest-Descent שיטת ־ אופטימיזציה באמצעות פתרון 4.3.6

54 . . . . . . . . . . . . . . . . . . . . . . . . . . :Conjugate-Gradient שיטת 4.3.7

2

Page 3: Numerical Analysis

עניינים תוכן עניינים תוכן

55 . . . . . . . . . . . . . . . . . . . . . . . . . . . :(Eigen-Decomposition) ספקטרליים פירוקים 5

55 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :Power-Method שיטת 5.1

57 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :Inverse Power-Method שיטת 5.2

57 . . . . . . . . . . . . . . . . . . . . . . . . . סימטריות): מטריצות (עבור Lanczos שיטת 5.3

58 . . . . . . . . . . . . . . . . . . . . סימטריות): מטריצות (עבור Jacobi Iteration שיטת 5.4

3

Page 4: Numerical Analysis

אינטרפולציה: 1

[email protected] ־ פטאל רענן

אינטרפולציה: 1

ואקסטרפולציה: אינטרפולציה בעיית 1.1 הגדרה

עבור f (x) את לחשב נרצה (xi, yi := f (xi))mi=0 שנסמנן כלשהי f : Rn → R פונקציה של דגימות m+1 בהנתן

בעיית ותקרא x ∈ Conv yi, ..., yn עבור לחשב מעוניינים אנחנו אם אינטרפולציה בעיית תקרא הבעיה כלשהו. x.x /∈ Conv y1, ..., yn עבור אקסטרפולציה

יהיה בפועל אינסופי, שלה הפתרונות מרחב שכן היטב מוגדרת איננה הבעיה f ל־ ביחס נוספות הנחות ללא 1.2 הערה

חלקה). פונקציה (למשל לקרב מחפשים שאנו הפונקציה אופי על מידע לנו

:Order of Interpolation ־ האינטרפולציה מעלת 1.3 הגדרה

.m היא האינטרפולציה מעלת (xi, f (xi))mi=0 קלט עם f : R → R עבור אינטרפולציה בעיית בהנתן

בכולן. שעובר m− 1 ממעלה פולינום קיים במישור נקודות m כל שעבור הוא כך של המקור 1.4 הערה

שלבי: שני בד"כ יש m ממעלה אינטרפולציה לבעיית (xi, f (xi))mi=0 הקלט בהנתן

המשוואות: מערכת את שמקיימת f מקרבת פונקציה מחפשים אנחנו זה בשלב :Fitting ־ "תפירה" שלב •

f (xi; c0, ..., ck) = f (xi) := yi ∀ 0 ≤ i ≤ m

(האינטרפולנט). האינטרפולציה פונקציית של הפנימיים הפרמטרים נקראים (k ≤ m (בד"כ c0, ..., ck הערכים

.f (x; c0, ..., ck) את נעריך "חדש" x וערך c0, ..., ck הפרמטרים בהנתן :Evaluation ־ "הערכה" שלב •

הקלט) נקודות כל דרך יעבור שהאינטרפולנט (כלומר i לכל f (xi) = yi השוויונות שיתקיימו הדרישה 1.5 הערה

צריך הפנימיים הפרמטרים שמספר מתברר R ב־ כזו אינטרפולציה של במקרה .Strict Interpolation מכונה

הקלט. נקודות למספר בדיוק שווה להיות

חד־ממדיות. פונקציות של אינטרפולציה יהיו בהן שנעסוק הבעיות תחילה 1.6 הערה

לינארית: אינטרפולציה 1.1

לינארית: אינטרפולציה 1.7 הגדרה

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

מתקיים: כלומר ,c0, ..., ck ב־ לינארית f (x; c0, ..., ck) ש־ לכך שקול הנ"ל

f (x; c0, ..., ck) =

k∑

j=0

ϕj (x) · cj

כלשהי. פונקציות ממשפחת המגיע פונקציות אוסף הוא האינטרפולציה גרעין המכונה ϕjkj=0 כאשר

הבאה: הצורה את מקבל התפירה ששלב נקבל לינארית אינטרפולציה בבעיית

∀ 0 ≤ i ≤ m : f (xi; c0, ..., ck)

def︷︸︸︷=

k∑

j=0

cjϕj (xi) = yi

.Aij = ϕj (xi) הם שאיבריה (m+ 1)× (k + 1) מגודל מטריצה היא A כאשר A · ~c = ~y נקבל וקטורית בצורה

וכו'. חלקות גזירות, רציפות, כגון מסוימות הנחות מקיים האינטרפולציה גרעין לרוב 1.8 הערה

4

Page 5: Numerical Analysis

לינארית: אינטרפולציה אינטרפולציה:1.1 1

פולינומיאלית: אינטרפולציה 1.1.1

פילינומיאלית: אינטרפולציה 1.9 הגדרה

הוא האינטרפולציה גרעין שבה לינארית אינטרפולציה בעיית היא (לינארית) k ממעלה פולינומיאלית אינטרפולציה

היא: המתקבלת המשוואות מערכת .j ∈ 0, ..., k עבור ϕj (x) = xj כלומר ,1, x, x2, ...., xk

∀ 0 ≤ i ≤ m :k∑

j=0

cj · xji = f (xi) = yi

פולינומיאלית: אינטרפולציה של יחידות 1.10 הערה

ונדרמונדה מטריצת מכונה הזו המטריצה ,Aij = xji המקיימת ריבועית מטריצה היא A k = m שכאשר לב נשים

ומאחר i 6= j לכל xi 6= xj אמ"מ det (A) 6= 0 לכן .det (A) =∏

i>j (xi − xj) ידי על נתונה שלה והדטרמיננטה

עבור לכן המקרה. אכן וזהו זהות קלט נקודות שתי לנו שיהיו סיבה אין xi, f (xi)ni=0 בקלט מתבוננים שאנחנו

יחיד אינטפולנט יש כלומר התפירה, לשלב יחיד פתרון יש ולכן הפיכה מטריצה היא A פולינומיאלית אינטרפולציה

הקלט). נקודות למספר שווה להיות הפנימיים הפרמטרים מספר את שלקחנו (בתנאי

פולינומיאלית: אינטרפולציה של החישובית העלות

בפתרון רק כרוכה c0, ..., cm שמציאת לראות ניתן פולינומיאלית אינטרפולציה של במקרה התפירה: שלב •מבחינה כך של העלות ונדרמונדה. מטריצת בהפיכת שקול באופן או

∑kj=0 x

ji · cj = yi המשוואות מערכת

.O(m3)היא גאוסיאנית אלימינציה כמו שגרתיות שיטות באמצעות חישובית

אחת. בלולאה חישוב באמצעות O (m) ב־ שמתקבל הפולינום של ההערכה את לבצע ניתן ההערכה: שלב •

זכרון. O(m2)נדרש ולכן ההפיכה לצורך בזכרון כולה המטריצה את מסוים בשלב להחזיק נאלץ זכרון: צריכת •

שעובר m ממעלה האינטרפולציה לפולינום סגור פתרון וישנו מאחר הללו השלבים כל את לעשות צריך לא בפועל

ידי על נתון והוא לגרנג' פולינום מכונה xi, yimi=0 בנקודות שעובר m ממעלה הפולינום הקלט. נקודות m + 1 ב־

הבאה: הנוסחה

P (x) =

m∑

j=0

j 6=k

(x− xk)

(xj − xk)· yj

.O(m2)של (x בנקודה לגרנג' פולינום (חישוב הערכה עלות ובעל 0 הוא שלו התפירה שזמן פתרון כאן קיבלנו

הסוגריים פתיחת באמצעות לגרנג' פולינום של המפורשים הפולינום מקדמי של החישוב שזמן לציין ראוי 1.11 הערה

מערכת את לפתור מנת על קרמר נוסחת של להפעלה שקול בעצם הנ"ל .O (2m) של גודל מסדר היא איברים וכינוס

.A~c = ~y המקורית המשוואות

במחשב: פולינום והערכת בשמירת כרוך מה

כמה של גדול הבדל ישנו גדולים) מאוד ולא קטנים מאוד (לא סבירים מקדמים בעל p (x) =∑m

i=0 cixi פולינום עבור

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

round off error בשם המכונה שגיאה וישנה הסכימה את לבצע מצליח לא הוא מאוד שונים גודל מסדרי שיש ערכים

floating-point בייצוג ,1+ ε = 1 שעבורו מספיק קטן ε ישנו המחשב שעבור היא הכוונה בפועל .machine-error אולייצג יכול לא שהמחשב היא הזו הבעיה על לחשוב אחרת דרך .ε ≈ 10−16 double ובייצוג ε ≈ 10−8 סטנדרטי

זמנית. בו שונים גודל מסדרי מספרים שני גבוהה" "ברזולוציה

a ∈ [−10, 10] ,f = a · 10b מהצורה מכפלה בתור מספר מייצג במחשב ביט 32 ב־ מספרים של ייצוג 1.12 הערה

משני מספרים שני מחברים כאשר המספר. של הגודל סדר את ולכן הצפה הנקודה את מייצג b ו־ "המיקום" את מייצג

b2 של מהסדר יהיה f1 + f2 של גודל הסדר b1 ≪ b2 עבור f2 = a210b2 ו־ f1 = a110

b1 מאוד שונים גודל סדרי

מוקדשים ביט 22 ש־ היא (הסיבה f1 הוספת ידי על שמתקבל f2 של בגודל השינוי של הרזולוציה את לתפוס קשה ולכן

.(a של לייצוג מוקדשים ביטים 10 ורק 10b של לייצוג

5

Page 6: Numerical Analysis

לינארית: אינטרפולציה אינטרפולציה:1.1 1

מאוד גודל בסדרי מספרים מחיבור להמנע כדאי אפשר ואם גבוהה ממעלה פולינומים עם במחשב לעבוד קשה המסר:

ערכיו. של ישיר חישוב ידי על גבוהה ממעלה אינטרפולציה פולינום להעריך כדאי לא בפרט שונים.

:Neville של האלגוריתם ־ פולינומיאלית אינטרפולציה למימוש נוספת שיטה

(xi, yi)mi=0 הקלט את כעת נניח שתיארנו. machine-error של הבעיה עם להתמודד מנסה השאר בין הזו השיטה

שלכל כך (j < i) Pj,j+1,...,i פולינומים של היררכיה לבנות הוא הרעיון עולה. בסדר מסודרים xi ש־ נניח ובנוסף

הולכות חלקיות קבוצות על הקלט נקודות עם מסכימים הפולינומים כלומר ,Pj,j+1,...,i (xk) = yk מתקיים j ≤ k ≤ iהמבוקש. האינטרפולציה פולינום הוא P0,...,m הפולינום ובפרט וגדלות

ההנחה. את מקיימים שהם ברור ,0 ≤ i ≤ m לכל Pi (x) = yi נגדיר האינדוקציה: בסיס •

התנאי את מקיימים אשר i − j − 1 ממעלה הפולינומים את בנינו j < i − 1 בהנתן האינדוקציה: הנחת •.j ≤ k ≤ i− 1 לכל Pj,j+1,...,i−1 (xk) = yk

ממעלה Pj,j+1,...,i הפולינום את נבנה Pj+1,j+2,...,i ו־ Pj,j+1,...,i−i הפולינומים כל בהנתן האינדוקציה: צעד •הבא: באופן i− j

Pj,j+1,...,i (x) =(x− xj)Pj+1,j+2,...,i (x) + (xi − x)Pj,j+1,...,i−i (x)

(x− xj) + (xi − x)

=(x− xj)Pj+1,j+2,...,i (x) + (xi − x)Pj,j+1,...,i−i (x)

xi − xj

.Pj,j+1,...,i (xk) = yk הנדרש התנאי מתקיים j ≤ k ≤ i שלכל לוודא קל

הנקודות. כל דרך שעובר m ממעלה פולינום נקבל שלבים m לאחר מסקנה:

הערך את נחשב אנחנו x /∈ ximi=0 נוספת ונקודה (xi, yi)mi=0 בהנתן הערכה: שלב רק כולל האלגוריתם מימוש

שראינו כפי נבנה הוא שמהם הפולינומים ערכי של החישוב ידי על P (x) := P0,...,m (x) האינטרפולציה פולינום של

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

בשלב). פעולות m היותר ולכל שלבים m (יש O(m2)הוא שלו החישוב שזמן הערכה שלב רק ישנו חישוב: עלות •

.O (m) הוא הגודל סדר ולכן בזכרון y0, ..., ym את מחזיקים אנחנו תובעני הכי בשלב הזכרון: עלות •

גודל. סדר מאותו הוא שהקלט בהנתן machine errors מונעת ההיררכית הסכימה יתרון: •

6

Page 7: Numerical Analysis

לינארית: אינטרפולציה 1.1 אינטרפולציה: 1

פולינומיאלית: אינטרפולציה של הדיוק שגיאת

פולינומואילית: אינטרפולציה של השגיאה הערכת 1.13 משפט

פעמים m+ 1 ברציפות גזירה פונקציה היא f כאשר (xi, f (xi))mi=0 בנקודות העובר m ממעלה פולינום P (x) יהא

ש: כך ξ ∈ [a, b] קיים x ∈ [a, b] לכל אזי .ximi=0 הנקודות כל את המכיל [a, b] בקטע

R (x)= f (x) − P (x) =

f (m+1) (ξ)

(m+ 1)!

w(x)︷ ︸︸ ︷m∏

i=0

(x− xi)

שמתקיים: כך כלשהי פונקציה S (x) תהא .0 ≤ i ≤ m לכל R (xi) = 0 כי נקבל P אודות מההנחה הוכחה:

R (x) =

w(x)︷ ︸︸ ︷m∏

i=0

(x− xi) ·S (x)

x ∈ נקבע אחת. לבחור ומספיק S (x) את להגדיר דרכים אינסוף יש x0, ..., xm ב־ מוגדר לאR(x)w(x) ש־ מאחר

ידי: על F : [a, b] → R ונגדיר [a, b] \ ximi=0

F (z)= f (z)− P (z)− w (z) · S (x)

לכן .[a, b] ב־ ברציפות פעמים m + 1 גזירה והיא x0, ..., xm, x בנקודות שורשים m+ 2 יש F ל־ הגדרתה מאופן

נסיק Rolle משפט על באינדוקציה מכך מתאפסת. F′

שבהן [a, b] ב־ נקודות m+ 1 קיימות Rolle משפט סמך על

נקבל: ישירה מגזירה כלשהי. ξ ∈ [a, b] בנקודה [a, b] ב־ אחת פעם לפחות מתאפסת F (m+1) ש־

F (m+1) (z) = f (m+1) (z)−=0

︷ ︸︸ ︷

P (m+1) (z)−S (x)w(m+1) (z) = f (m+1) (z)− S (x) (m+ 1)!

נקבל: מכך

0 = F (m+1) (ξ) = f (m+1) (ξ)− S (x) (m+ 1)!

=⇒ S (x) =f (m+1) (ξ)

(m+ 1)!

=⇒ R (x) = w (x)S (x) = w (x)f (m+1) (ξ)

(m+ 1)!

כנדרש.

1.14 מסקנה

האינטרפולציה. שגיאת את לחסום כדי בנוסחה להשתמש ניתן [a, b] ב־ f (m+1) על חסם קיים שבו במקרה

.b = xm ו־ a = x0 ש־ כך פשוט מוגדר [a, b] ־ והקטע סדורות שלנו הקלט שנקודות נניח מעכשיו 1.15 הערה

ובנוסף [x0, xm] בקטע (xi, f (xi))mi=0 קלט עם אינטרפולציה בעיית הקודם המשפט של בתנאים נניח 1.16 דוגמה

נקבל הקודם המשפט סמך על שווים). במרווחים הן הקלט נקודות (כלומר 0 ≤ i ≤ m לכל xi+1 − xi = δ כי נניח

ש: כך ξ ∈ [x0, xm] קיים x ∈ [x0, xm] לכל כי

|R (x)| =∣∣∣∣∣

m∏

i=0

(x− xi)f (m+1) (ξ)

(m+ 1)!

∣∣∣∣∣=

∣∣∣∣∣

m∏

i=0

(x− xi)

∣∣∣∣∣

∣∣f (m+1) (ξ)

∣∣

(m+ 1)!

7

Page 8: Numerical Analysis

לינארית: אינטרפולציה אינטרפולציה:1.1 1

מתקיים: x ∈ [x0, xm] לכל כי נקבל [x0.xm] ב־∣∣f (m+1)

∣∣ ≤ K ש־ נניח בנוסף אם

|R (x)| ≤∣∣∣∣∣

m∏

i=0

(x− xi)

∣∣∣∣∣

K

(m+ 1)!

מתקיים: x ∈ [x0, xm] שלכל לב נשים

∣∣∣∣∣

m∏

i=0

(x− xi)

∣∣∣∣∣≤ δm+1m!

הבאה: מהצורה חסם מתקבל מכך הטווח. של ב"קצוות" x לוקחים כאשר הוא ביותר הגרוע המצב כאשר

|R (x)| ≤ δm+1m!

(m+ 1)!K =

δm+1

m+ 1K

ולכן: δ = xm−x0

mכי נקבל שווים אינטרוולים בחרנו שבו במקרה

|R (x)| ≤(xm − x0

m

)m+1K

m+ 1

האלה הגורמים בין היחס ,m וכמובן xm − x0 המרחק ,K גורמים, בשלושה בעיקר תלוי הנ"ל שהחסם לראות ניתן

להסיק: שאפשר פשוטות מסקנות כמה להלן להשתמש. נרצה שבה האינטרפולציה מעלת על משפיע

קטנה. תהיה השגיאה אז∣∣f (m+1)

∣∣≪ 1 שבו במובן m+ 1 ממעלה לפולינום "קרובה" פונקציה היא f אם •

גדולה. תהיה כנראה השגיאה אז גדולים ערכים שמקבלות גבוהה ממעלה נגזרות לה שיש פונקציה היא f אם •ב־ מוכפלת שלה ית m ה־ שהנגזרת sin (5x) כמו לקירוב" "קלות יחסית פונקציות עבור גם לקרות יכול הנ"ל

גדולים. ערכים תקבל לרוב ולכן 5m−1

.δ < 1 שבו במקרה יותר גבוה לדיוק בד"כ יוביל יותר גבוהה ממעלה אינטרפולציה פולינום •

שעשוי נמוך מספיק מסדר אינטרפולציה בפולינומי להשתמש אותנו מעודדת שראינו השגיאה הערכת בפרט 1.17 הערה

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

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

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

.m− 1 הוא קלט נקודות m ב־ לעבור כדי שנדרש הפולינום שמעלת לנו ידועה האינטרפולציה פולינום של מההגדרה

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

.Machine-Error מ־ כתוצאה לשגיאות הסיכון גדל שראינו כפי .1

.O(m2)ו־ O

(m3)של מסדר אלגוריתמים לנו יש שראינו כפי ־ עולה החישוב עלות .2

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

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

הנגזרת. בסדר שעולים ככל וגדלים הולכים ערכים מקבלות הפונקציה

8

Page 9: Numerical Analysis

:(Splines) למקוטעין פולינומיאלית אינטרפולציה אינטרפולציה:1.2 1

:(Splines) למקוטעין פולינומיאלית אינטרפולציה 1.2

הבא: באופן עובדת Spline שיטת סדורים) xi (בה"כ (xi, yi)ni=0 קלט בהנתן

קטן). יחסית יהיה m (בד"כ m ≥ 2 קבועה אינטרפולציה מעלת נבחר •

פולינום הלאה) וכן xm+1, ...., x2m+2 ואז x0, ..., xm (כלומר קלט נקודות m+ 1 של סדור אוסף לכל נתפור •.m ממעלה אינטרפולציה

האינטרפולציה. פונקציית תהיה וזו יחד שתפרנו הפולינומים כל את נשרשר •

אחיד באופן אותן לבחור נהוג בעצמנו הקלט נקודות את לבחור יכולים ואנחנו מקרי איננו הקלט אם 1.18 הערה

.xn−x0

nהוא מרווח כל אורך שבו רגולרי שריג פני על כלומר קבועים, במרחקים

אבחנות: כמה

.⌊nm

⌋הוא כולה התפירה את לבצע כדי שנדרשים הפולינומים שסך לב נשים •

שכן O (1) של חישוב זמן עם הערכה בשלב להסתפק ואפשר כולו התפירה שלב את לבצע צורך אין למעשה •אינטרפולציה פולינום נעריך ואז אליה ביותר הקרובות הנקודות m את שנמצא מספיק חדשה נקודה בהנתן

.(O (1) של מסדר הכל ולכן קטן יחסית והוא קבוע נשאר m) הללו הנקודות עבור רק נמוכה ממעלה

ובפרט כרצוננו לדגום יכולים אנחנו שבו שבמקרה נסיק תקפה עדיין קודם שראינו השגיאה שהערכת מאחר •גם לנו יש לכן .|R (x)| ≤ δm+1K מהצורה השגיאה של הערכה נקבל כרצוננו קטן δ דגימה מרווח לקחת

גדל. m כאשר השגיאה מדעיכת שנרוויח כדי מספיק גדול m את להשאיר תמריץ

מצד מספיק, גדול m לשמירת יתרונות גם יש ומאידך m של להקטנה גם שיקולים שיש לראות אפשר 1.19 הערה

יותר של ובדרישה החישוב בזמן בגידול מכונה, לשגיאת בסיכון משלמים שני ומצד השגיאה של מדעיכה מרוויחים אחד

שראינו. השגיאה בהערכת להשתמש כדי רציפות נגזרות

החיבור. בנקודות גזירה להיות לא עשויה הנקודות כל פני על שנתפרה הפונקציה נאיבית Spline בתפירת בעיה:

תנאי ומקיים כולן דרך שעובר עקום למצוא רוצים ואנחנו (xi, yi)ni=0 קלט נקודות שנתונות נניח 1.20 דוגמה

כך Spline תפירת לדרוש נרצה למשל באינטרפולציה). כמו חדשות נקודות לקרב לנסות בהכרח (ולא מסוימים חלקות

בפולינום גם שוויון יהיה Pi+1 ו־ Pi שעבור כדי נדרש מה נבדוק שווה. תהיה הראשונה הנגזרת גם החיבור שבנקודות

הבאות: הדרישות את לקיים צריך כלומר ,xi החיבור בנקודת בנגזרת וגם עצמו

Pi (xi) = Pi+1 (xi) = yi

P′

i (xi) = P′

i+1 (xi) = y′

i

טיילור: קירוב באמצעות למשל אותה לקרב רוצים שאנחנו או ידועה y′

i ש־ ייתכן כאשר

f (xi+1)− f (xi)

(xi+1 − xi)= f

(xi) + o(

(xi+1 − xi)2)

לקיים שנרצה אפשריות דרישות שלוש בין כן אם נבחין .P′

i (xi) = P′

i+1 (xi) = 0 שיתקיים לדרוש אפשר לחילופין

והן: Pi (xi) = Pi+1 (xi) = yi ש־ לדרישה בנוסף

נתון. y′

i כאשר P′

i (xi) = P′

i+1 (xi) = y′

i שיתקיים הדרישה .1

.P′

i (xi) = P′

i+1 (xi) =f(xi+1)−f(xi)

(xi+1−xi)שיתקיים הדרישה .2

.P′

i (xi) = P′

i+1 (xi) = 0 שיתקיים הדרישה .3

9

Page 10: Numerical Analysis

:(Splines) למקוטעין פולינומיאלית אינטרפולציה אינטרפולציה:1.2 1

ארבעה לקיים נדרש בתפירה פולינום שכל נקבל קצה נקודת בכל אילוצים שני לקיים נדרש בתפירה פולינום שכל מאחר

הנגזרת על באילוץ צורך (אין פחות אחד אילוץ יהיה שעבורם התחום בקצוות שנמצאים לאלו פרט אלגבריים אילוצים

פולינום ידרש מקטע בכל אלגבריים אילוצים ארבעה לקיים כדי אילוצים. 4n− 2 מתקבלים סה"כ לכן התחום), בקצה

קלט). נקודות n+ 1 יש שכן המקטעים מספר n) חופש דרגות 4n לנו יש ולכן מקטע בכל שלישית ממעלה

.Cubic Splines נקראת שלישית ממעלה פולינומים עם Spline תפירת של השיטה 1.21 הערה

:Spline ב־ מהפולינומים אחד של התפירה מטריצת נראית כיצד כעת נראה

וונדרמונדה). (מטריצת התפירה מטריצת כל של הבאה הצורה את לנו הייתה ערך אילוצי רק היו שבו במקרה

1 x0 x20 x3

0

1 x1 x21 x3

1...

...1 xm x2

m x3m

c0c1......cm

=

y0y1......ym

להתקיים צריכה xi, xi+1 הערכים שעבור נקבל נגזרת אילוצי ושני ערך אילוצי שני עם Cubic Spline עבור כעת

הבאה: המשוואות מערכת

c0 + c1xi + c2x2i + c3x

3i

= Pi (xi) = yi

c0 + c1xi+1 + c2x2i+1 + c3x

3i+1

= Pi (xi+1) = yi+1

c1 + 2c2xi + 3c3x2i = P

i (xi) = y′

i

c1 + 2c2xi+1 + 3c3x2i+1 = P

i (xi+1) = y′

i+1

מטריציונית: ובצורה

1 xi−1 x2i−1 x3

i−1

1 xi x2i x3

i

0 1 2xi−1 3x2i−1

0 1 2xi 3x2i

ci0ci1ci2ci3

=

yiyi+1

y′

i

y′

i+1

אינטרבלים n לנו יש אם לכן ,4×4 הוא אינטרבל בכל שנתפר הפולינום עבור שמתקבלת המטריצה שגודל לראות ניתן

.4n× 4n מגודל אלכסונית בלוקים מטריצת שהיא תפירה מטריצת נקבל אנחנו כאלו אילוצים עם רק תופרים שאנו

ולא לינארית פונקציה היא התהליך כל של התפירה סיבוכיות ולכן O (n) בזמן לבצע ניתן כזו מטריצה של היפוך

רגילה. פולינומיאלית אינטרפולציה של במקרה שהיה כפי הקלט נקודות מספר של פולינומיאלית

צורך אין נתון x ב־ יחידה הערכה לבצע רוצים אנחנו שבו שבמקרה הוא הזו השיטה של חשוב יתרון 1.22 הערה

זמן מערב כמובן וזה הנ"ל x ל־ שמתאים Spline ה־ של החלק את רק לתפור ומספיק הפולינומים כל את לתפור

.O (1) של מסדר חישוב

שיתקיים: דרשנו שבו המקרה את בחנו כה עד

P′

i−1 (xi) = y′

i = P′

i (xi)

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

תופרים). שאנו הפולינומים של המקדמים בין תלות יוצר כמובן (הנ"ל הפנים נקודות בכל P′

i−1 (xi) = P′

i (xi)האילוצים סך לכן .1 הקצה ובנקודות 3 היא פנימית בנקודה לקיים יצטרך פולינום שכל האילוצים מספר הזה במקרה

3n − 4 הוא החילופית הדרישה עם פולינומים n ותופרים קלט נקודות n + 1 יש כאשר לקיים נדרשים שאנחנו

השאלה נשאלת ולכן 3 ב־ מתחלק לא 3n− 4 אולם הקצוות). עבור אילוצים 2 ו־ הפנימיים האילוצים עבור 3 (n− 2))כזה: יהיה הפתרון אילוצים. 3n− 4 מקיימים פולינומים n כיצד

כאלו. פולינומים n− 3 יש חופש), דרגות 3) m = 2 ממעלה בפולינומים נשתמש הפנים נקודות עבור •

10

Page 11: Numerical Analysis

:(Splines (באמצעות פילטרים אינטרפולציה:1.3 1

בפולינום השני ובצד חופש) דרגות 2) m = 1 ממעלה בפולינום אחד צד עבור נשתמש השפה נקודות עבור •חופש). דרגות 3) m = 2 ממעלה

זה במקרה הקודמת מהדוגמה בשונה שלנו. לבעיה שמתאים מה חופש דרגות 3 (n− 3)+2+3 = 3n−4 נקבל סה"כ

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

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

בזמן כזו מטריצה שפותר Back-Substitution הנקרא אלגוריתם ישנו אולם, .O(n3)הוא המטריצה של הנאיבי

המטריצה של בפתרון הצורך עקב מאידך ,O (n) בזמן חדשה) הערכה (וגם התפירה שלב את לבצע ניתן ולכן O (n).O (1) בזמן נקודתית הערכה לבצע ניתן לא כבר כולה

ממעלה בפולינומים השתמשנו השנייה ובגישה שלישית ממעלה בפולינומים השתמשנו הראשונה בשיטה 1.23 הערה

היותר. לכל שנייה

:Natural Cubic Spline ־ שיטת 1.2.1

הבאים: האילוצים שיתקיימו כך (xi, yi)ni=0 הנקודות עבור Spline לבנות מעוניינים אנחנו הזו בשיטה

∀ 0 ≤ i ≤ n : Pi (xi) = yi =⇒ n+1 conditions

∀ 1 ≤ i ≤ n− 1 : Pi (xi+1) = Pi+1 (xi+1) =⇒ n-1 conditions

∀ 0 ≤ i ≤ n− 2 : P′

i (xi+1) = P′

i+1 (xi+1) =⇒ n-1 conditions

∀ 0 ≤ i ≤ n− 2 : P ”i (xi+1) = P ”

i+1 (xi+1) =⇒ n-1 condtions

P ”n (xn) = 0 ו־ P ”

0 (x0) = 0 מהצורה שפה אילוצי שני עוד נוסיף ,4n− 2 הוא לראות שניתן כפי האילוצים מספר

Natural של הבנייה זוהי שלישית, ממעלה פולינומים n באמצעות לפתור ניתן שאותה אילוצים 4n של מערכת ונקבל

הבאה: מהצורה היא הזו הבנייה של המטריצה ,Cubic Splines

∗ ∗ ∗ 0∗ ∗ · · ·∗ ∗ ∗ ∗ ∗

∗ ∗ ∗∗ ∗ ∗∗ ∗ ∗ ∗ ∗ ∗

. . .. . .

∗ ∗ ∗∗ ∗ ∗∗ ∗ ∗ ∗ ∗ ∗

∗ ∗ ∗0 ∗ ∗ ∗

נגזרת ואילוצי ראשונה נגזרת אילוצי ערך, אילוצי אילוצים, של סוגים שלושה שיש מכך נובעות שורות שלוש כל כאשר

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

היא יחידה) הערכה עלות (וגם התפירה עלות ולכן המשוואות בין ותלות סימטריה חוסר עקב המטריצה את לפתור

.O (n) בזמן הזו מהצורה מטריצה לפתור ניתן Back-Substitution אלגוריתם באמצעות בפועל .O(n3)לכאורה

:(Splines (באמצעות פילטרים 1.3

ב־ לחלק ששייך הפולינום את רק צריכים היינו חדשה נקודה להעריך רצינו כאשר Spline באמצעות באינטרפולציה

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

נוספות: חשובות הנחות שתי קיימות בפילטרים בנוסף החדשה ההערכה לנקודת שסמוכות קלט נקודות

.(i לכל xi+1 − xi = δ (כלומר רגולרי סריג על נמצאות xini=0 הקלט נקודות •

11

Page 12: Numerical Analysis

:(Splines (באמצעות פילטרים 1.3 אינטרפולציה: 1

סריג שבו במובן הקלט נקודות עם מחזוריות מקיימות ההערכה) (נקודות הפלט נקודות של x ה־ קוארדינטות •יותר באופן הקלט. נקודות סריג של מהזזות שמורכבים רגולריים סריגים של איחוד איזשהו הוא הפלט נקודות

לכל zji+1 − zji = δ מקיים

zji

n,k

i=0,j=0נסמן שאותו הפלט נקודות של x ה־ קוארדינטות אוסף מפורש

רגולריים). סריגים איחוד על להיות של הפורמליזם (זה j = 0, ..., k

של להערכה שמתאימים

rji

n,k

i=0,j=1הפלט ערכי את לחשב (xi, yi)ni=0 הקלט בהנתן רוצים אנחנו דבר של בסופו

ישנה תפירה\הערכה בעיית בכל כללי שבאופן האבחנה אותנו תשרת זאת לעשות כדי .

zji

n,k

i=0,j=1בנקודות הפילטר

ונעריך (xi, yi)ni=0 הערכים על פולינום נתפור\נעריך אם כלומר .xi ערכי של להסטה ביחס מרחבית אנווריאנטיות

באינטרבל והערכה (x1 + a, y1)ni=0 הערכים בסיס על תפירה כמו תוצאה אותה נקבל [x1, xn] באינטרבל אותו

[x1, xn] באינטרבל ונעריך (xi, yi)ni=0 הערכים בסיס על נתפור אם כללי יותר אפילו באופן .[x1 + a, xn + a]

אותה בדיוק נקבל לא כבר אמנם [x1 + a, xn + a] באינטרבל ונעריך(

xi + a, y′

i

)n

i=0הערכים פי על נתפור או

.(y′

1, ..., y′

n ו־ y1, ...yn בערכים שתלויים שונים קבועים (עם צורה מאותה תהיה ההערכה של הנוסחה אבל תוצאה

נקודות הן xi, .., xi+mjש־ כך (xi+l, yi+l)mj

l=1 נקודות mj שבהנתן הפונקציה את למצוא רוצים אנחנו כעת

,(xi+l, yi+l)mj

l=1 הנקודות על נביט .rji בנקודה ההערכה את לנו תתן מראש שנקבעה בצורה zji ל־ מסביב המפוזרות

הבאה: מהצורה אינטרפולציה בעיית נקבל mj ממעלה פולינום באמצעות הללו הנקודות של אינטרפולציה נבצע אם

yiyi+1

...yi+mj

︸ ︷︷ ︸

~yi

=

P (xi)P (xi+1)

...P (xi+k)

=

1 xi x2i · · · x

mj

i

1 xi+1 x2i+1 · · · x

mj

i+1...

...1 xi+mj

x2i+mj

· · · xmj

i+mj

︸ ︷︷ ︸

Mji

cj0cj1...

cjmj

︸ ︷︷ ︸

~cj

אינטרפולציה פולינום אותו סמך על rji את להעריך כדי וכעת ~cj =(

Mj

i

)−1

~yi מהצורה פתרון יש הזו למערכת

הבאה: המכפלה את לחשב רק נותר zji בנקודה המוערך

[

1 zji

(

zji

)2

· · ·(

zji

)mj

]

︸ ︷︷ ︸

Zji

·

c0c1...c

︸ ︷︷ ︸

~cj

= P(

zji

)

= rji

הבאה: התוצאה את נקבל ביחד הכל את נרכיב אם

rji =

[

1 zji

(

zji

)2

· · ·(

zji

)mj

]

︸ ︷︷ ︸

Zji

·

1 xi x2i · · · x

mj

i

1 xi+1 x2i+1 · · · x

mj

i+1...

...1 xi+mj

x2i+mj

· · · xmj

i+mj

−1

︸ ︷︷ ︸

(Mji )

−1

·

yiyi+1

...yi+mj

︸ ︷︷ ︸

~yi

מקוצר: באופן או

rji = Zji

(

Mj

i

)−1

~yi := Aji ~yi

שאנחנו מה שונה. Aji := Zj

i

(

Mj

i

)−1

בוקטור להשתמש צריך rji את להעריך מנת על i כל שעבור נראה לכאורה

שהנ"ל בהנתן .i ב־ תלוי באמת לא Aji ש־ כלומר קודם שטענו כפי אינווריאנטיות קיימת שאכן הוא להראות רוצים

12

Page 13: Numerical Analysis

:(Splines (באמצעות פילטרים 1.3 אינטרפולציה: 1

מתאים ~yi בוקטור להשתמש הוא שונים i בערכי rji את נתון j בהנתן להעריך כדי לשנות שצריך היחיד הדבר נכון

לנו מראה rji עבור שעשינו החישוב לחילופין . (

zji

n

i=1בסריג בהן שהשתמשנו התפירה נקודות ותצורת מספר (לפי

הבא: באופן r1i , ..., rki הנקודות כל את נתון i בהנתן לקבל איך

r1ir2i...rki

︸ ︷︷ ︸

~ri

=

1 · · ·(z1i)m1

0 · · · · · · 0 · · · 0

0 · · · 0 1 · · ·(z2i)m2

0 · · · 0...

...

0 · · · · · · 0 · · · 0 1 · · ·(zki)mk

︸ ︷︷ ︸

k×∑

mj

(M1)−1 · · · 0...

. . .

0(Mk)−1

︸ ︷︷ ︸∑

mj×∑

mj

yi...

yi+m1

...yi...

yi+mj

︸ ︷︷ ︸∑

mj

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

.k×1 = (k ×maxj mj)·(maxj mj ×maxj mj)·(maxj mj × 1) מהממדים מטריצות של מכפלה באמצעות חישוב

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

j (עבור

zji

n

i=1הפלט נקודות אוסף של מתת־השריגים אחד על הנקודות כל שעבור ונדגיש נחזור 1.24 הערה

מימין נקודות שתי באמצעות תפירה (למשל בשריג מהנקודות אחת כל עבור תפירה פעולת אותה מתבצעת כלשהו)

שונים. אינטרפולציה פולינומי ייתכנו שונים לזנים אולם לנקודה) משמאל נקודות ושתי

הפילטר: בעיית של האופי את ממחיש שנגדיר הבא המושג

:(LTI) Linear Translation Invariant בעיית 1.25 הגדרה

.yi הנקודות של לינארית פונקציה הן rji הנקודות •

.rji = rji+k אז yi = yi+k אם כלומר להזזה, אינווריאנטיות ישנה •

1.26 טענה

.Q (x+ α) = P (x) אזי בהתאמה (xi + α, yi)mi=0 ו־ (xi, yi)mi=0 הקלטים על האינטרפולציה פולינומי P,Q יהיו

P (xi) = yi = Q (xi + α) שמקיימים m ממעלה היחידים הפולינומים הם Q,P כי לנו ידוע ההנחה סמך על הוכחה:

מקיים: והוא m ממעלה פולינום זהו גם ,R (x− α) ב־ נתבונן .0 ≤ i ≤ m לכל

R (xi + α) = P (xi) = Q (xi + α)

מתקיים x לכל לחילופין או R ≡ Q ומכך נקודות m + 1 על שמסכימים m ממעלה פולינומים שני הם R,Q לכן

כנדרש. ,P (x+ α) = R (x) = Q (x)

1.27 טענה

.i ב־ תלוי לא Aji הוקטור

Aji = Zj

i

(

Mj

i

)−1

בוקטור מפכפלה ידי על(y1, ..., yi+mj

)של לינארית פונקציה הוא rji ש־ לב נשים הוכחה:

נרצה .rji של לערך yi+l של התרומה של המקדם הוא[

Aji

]

lהאיבר 1 ≤ l ≤ mj לכל כאשר ,(1 × mj (מגודל

וקטור את el ב־ נסמן 1 ≤ l ≤ mj ובהנתן i1 6= i2 בהנתן .i של בבחירה תלויים לא Aji של שהמקדמים להראות

כי: לראות ניתן .[

Aji2

]

l= Aj

i2· el ו־

[

Aji1

]

l= Aj

i1· el בערכים ונתבונן Rmj ב־ l ה־ היחידה

[

Aji1

]

l= Aj

i1· el = Zj

i1

(

Mj

i1

)−1

el = Zji1· ~cji1

13

Page 14: Numerical Analysis

:(Splines (באמצעות פילטרים 1.3 אינטרפולציה: 1

הקלט בסיס על שנתפר mj ממעלה Pel אינטרפולציה פולינום של המקדמים וקטור הוא~cji1 =

(

Mj

i1

)−1

el אולם

(xi1 , 0) , ..., (xi1+l, 1) , ...,

(xi1+mj

, 0)

השוויון מתקיים ולכן zji1 בנקודה Pel את מעריכים למעשה אנחנו Zji1

בוקטור מימין~cji1 את כופלים כאשר

[

Aji1

]

l= Pel

(

zji1

)

הקלט בסיס על שנתפר Qel אינטרפולציה פולינום ישנו זהה באופן

(xi2 , 0) , ..., (xi2+l, 1) , ...,

(xi2+mj

, 0)

השוויון מתקיים ולכן zji1 zji2 בנקודה שלו הערכה היא Zji2

~cji2 המכפלה .

~cji2 =

(

Mj

i2

)−1

el הם ומקדמיו

[

Aji2

]

l= Qel

(

zji2

)

בקבוע Pel של התפירה נקודות של הזזה בדיוק הן Qel של התפירה נקודות רגולרי שריג הוא xini=1 ש־ מאחר אולם

הקלט בסיס על למעשה נתפר Qel כלומר α = (xi1 − xi2)(

xji1+ α, 0

)

, ...,(

xji1+l + α, 1

)

, ...,(

xji1+mj

+ α, 0)

בונים אנחנו שבו מהאופן .Pel (x) = Qel (x+ α) מתקיים x לכל כי שהוכחנו הקודמת הטענה סמך על נקבל מכך

הבאה: התוצאה את נקבל ולכן zji1 = zji2 + α כי לנו ידוע הפילטר את

[

Aji2

]

l= Qel

(

zji2

)

= Qel

(

zji1 + α)

= Pel

(

zji1

)

=[

Aji1

]

l

.i ב־ תלוי לא Aji הוקטור ואכן Aj

i1≡ Aj

i2ש־ קיבלנו 1 ≤ l ≤ mj לכל נכון שהנ"ל מאחר

xi2 , ..., xil+mjוהנקודות xi1 , ..., xi1+mj

שהנקודות לב לשים חשוב במפורש מצוין לא שזה למרות 1.28 הערה

הפילטר. את בונים אנחנו שבו האופן סמך על בהתאמה zji2 ו־ zji1 לנקודות מסביב צורה באותה מפוזרות

לזן שמתאים Aj הוקטור את למצוא מספיק כלשהו i ∈ 1, ..., עבור rji את לקבל רוצים כאשר j זן לכל מסקנה:

המקורי. בקלט xi, ..., xi+mjלנקודות שמתאים הוקטור הוא ~yi =

(yi, ..., yi+mj

)כאשר .rji = Aj · ~yi ולחשב הנ"ל

:(j = 1, 2) זנים שני יש שבה פשוטה בדוגמה נתבונן 1.29 דוגמה

.x0, ..., xn הקלט נקודות הוא ראשון זן •

.z2i = xi +δ2 כלומר קלט נקודות שתי כל בין הנמצאות מהנקודות מורכב שני זן •

עבורה תדרש ובפועל מקוריות קלט נקודות שתי בין נמצאת לא z2n = xn+δ2 שכן דיוק חוסר קצת פה יש 1.30 הערה

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

את ונבצע ,m2 = 1 נבחר j = 2 ועבור r1i = yi מתקיים i שלכל כמובן נקבל j = 1 עבור .δ = 1 נקח בה"כ

לנקודה מסביב 12 שמרחקן הנקודות שתי ע"י נבנה אשר (ישר) ראשונה ממעלה פולינום באמצעות האינטרפולציה

הנקודות שתי בין בדיוק נמצאת z2i ש־ מאחר .(xi, yi) , (xi+1, yi+1) הנקודות סמך על כלומר z2i = xi +12

מתקיים i שלכל נסיק מכך .i לכל למעשה נכון שזה יודעים אנחנו וכעת r2i = 12yi +

12yi+1 שמתקיים נקבל הללו

ומכך: A2 =[12

12

]ו־ A1 =

[1 0

]

[r1ir2i

]

=

[1 012

12

] [yi

yi+1

]

14

Page 15: Numerical Analysis

:(Splines (באמצעות פילטרים 1.3 אינטרפולציה: 1

הנדרשים: השוויונות את מקיים אכן שהנ"ל לראות ניתן

r1i = yi =

([1 012

12

]

·[

yiyi+1

])

1

r2i =1

2yi +

1

2yi+1 =

([1 012

12

]

·[

yiyi+1

])

2

ידי: על הנתונה ~r = A~y הכללית הצורה את נקבל ביחד i לכל זאת נרשום אם

r11r21r12r22...r1nr2n

=

1 012

121 012

12

. . .

1 012

12

·

y1y2y3......

yn−2

yn−1

yn

מטריצה היא A ש־ וקיבלנו (m1 = m2 = 1) זן בכל 1 ממעלה ופולינום הזנים) (מספר k = 2 לקחנו הזו בדוגמה

כל לכך מעבר .(n · k)× n מגודל מטריצה היא A ש־ נקבל זנים k יש אם הכללי במקרה .2n× n = 2n× n מגודל

השוויונות את שקיימו Aj , ..., Ak השורה וקטורי ואת אפסים שמכילים מוקטורים מורכב A של שורות k של מקבץ

rji = Zj(M j)−1

︸ ︷︷ ︸

Aj

yi...

yi+mj

הבאה: בצורה יחד זאת לרשום אפשר

r11...rk1r12...rk2...r1n...rkn

nk×1

=

A1 0 · · · · · · 0...Ak 0 · · · · · · 00 A1 0 · · · · · · 0...0 Ak 0 · · · · · · 0...0 · · · · · · 0 A1

......

0 · · · · · · 0 Ak

nk×n

·

︸ ︷︷ ︸

A

y1y2y3......

yn−2

yn−1

yn

n×1

.j לכל mj הוא Aj של שהאורך כך שורה וקטורי כאמור הם A1, ..., Ak כאשר וזאת ~r = A~y מקוצר ובאופן

השוויון ומתקיים A של r (i, j) := k · (j − 1) + i ה־ בשורה נמצאים rji של לחישוב הנדרשים המקדמים זה באופן

מתקיים i ולכל Aj הוקטור של והערכים מאפסים רק שמורכב וקטור הוא Ar(i,j),∗ כאמור כאשר .rji = Ar(i,j),∗ ·~y

rji = Aj ·

yi...

yi+mj

= Ar(i,j),∗ · ~y

15

Page 16: Numerical Analysis

:(Splines (באמצעות פילטרים 1.3 אינטרפולציה: 1

מתקיים: i ∈ 1, ..., n ולכל j ∈ 1, ..., k שלכל נקבל מפורשת בצורה הזה השוויון את נרשום אם

rji = Aj ·

yi...

yi+mj

= Ar(i,j),∗ · ~y =

mj∑

k=0

yi+k

[Aj]

k

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

דיסקרטית: קונבולוציה 1.31 הגדרה

f ∗g : Z → R פונקציה היא g ו־ f של הדיסקרטית הקונבולוציה סדרות) (למעשה f, g : Z → R פונקציה שתי בהנתן

מתקיים: n ∈ Z שלכל כך המוגדרת

(f ∗ g) (n) =∞∑

k=−∞f (k) · g (n− k)

אזי: g (n) = g (n+ k) נגדיר אם k בהנתן .Translation Invariance היא הקונבולוציה פעולת של חשובה תכונה

(f ∗ g) (n) = (f ∗ g) (n+ k)

היא τk : Z → Z אם שבו במובן (Translations) הזזה העתקות עם מתחלפת הקונבולוציה שפעולת אומר בעצם זה

.(f ∗ (g τk)) = (f ∗ g) τk אז τk (n) = n+ k ש־ כך ההעתקה

ואסוציאטיביות דיסטריביוטיביות, אסוציאטיביות, קומוטטיביות, הן קונבולוציה של נחמדות תכונות עוד 1.32 הערה

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

.f ∈ RZ לכל f ∗ δ = f מקיימת שאכן δ =

1 i = 0

0 i 6= 0ידי על שמוגדרת יחידה עם קומוטטיבית לאלגברה

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

הבא: השוויון מתקיים f, g ∈ RZ לכל אז הבדיד פוריה

F (f ∗ g) = F (f) · F (g) =⇒ f ∗ g = F−1 (F (f) · F (g))

.f ∗ g את לחשב מאשר F−1 ב־ ולהשתמש F (g) ו־ F (f) את לחשב זול יותר לעיתים שכן שימושי מאוד הנ"ל

לרשום: שניתן נקבל שלנו לנושא נחזור אם כעת

rji =

mj∑

k=0

yi+k

[Aj]

k=

n∑

k=0

f jkyi−k =

(f j ∗ ~y

)(i)

הבא: באופן המוגדרת הסדרה היא מוגדרת f jk כאשר

f jk =

[Aj]

−k−mj ≤ k ≤ 0

0 otherwise

הבאה: למסקנה אותנו מביא הנ"ל והשוויון פילטר מכונה f jk הסדרה

1.34 מסקנה

באופן .A המטריצה שורות של שיקוף ע"י המוגדרים פילטרים עם הקלט ערכי כל של כקונבולוציה מתקבלים rji הערכים

.Aj,∗ של שיקוף הוא f j כאשר[

rj1 · · · rjn]=(f j ∗ ~y

)מתקיים j ∈ 1, ..., k לכל יותר ספציפי

16

Page 17: Numerical Analysis

:(Splines (באמצעות פילטרים אינטרפולציה:1.3 1

הבאה: התוצאה את קיבלנו קודם שהצגנו בדוגמה 1.35 דוגמה

r11r12...r1n

=

1 01 0

. . .

1 0

·

y1y2...yn

r21r22...r2n

=

12

1212

12

. . .12

12

·

y1y2...yn

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

כי: נקבל לכן מחזוריות,

r21r22...

r2n−1

r2n

=

12

1212

12

. . .12

12

12

12

·

y1y2...yn

r11r12...r1n

=

1 01 0

. . .. . .

1 01 0

0 1

·

y1y2...yn

הכללית שהצורה נזכיר בהתאמה. הזנים שני עבור[12

12 · · · 0

]ו־[0 1 · · · 0

]הם כאן הפילטרים לכן

הבאה: הצורה הייתה הפלט ערכי כל את קיבלנו שבה

r11r21r12r22...r1nr2n

=

1 012

121 012

12

. . .

0 112

121 0

12 0 1

2

︸ ︷︷ ︸

A

·

y1y2y3......

yn−2

yn−1

yn

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

הוא הפילטר הזו הספציפית הדוגמה של במקרה הזה. הפילטר של הזזה פשוט הם השורות\עמודות שאר כל אפס,

.[0 1

2 1 12 · · · 0

]בדיוק

17

Page 18: Numerical Analysis

:(Splines (באמצעות פילטרים אינטרפולציה:1.3 1

מחזורית: קונבולוציה מטריצת 1.36 הגדרה

הבאה: מהצורה היא אם קונבולוציה מטריצת תקרא C ∈ Rn×n מטריצה

c0 cn−1 · · · c2 c1c1 c0 cn−1 c2... c1 c0

. . ....

cn−2. . .

. . . cn−1

cn−1 cn−2 · · · c1 c0

מהווה כזו מטריצה המטריצה. את מגדירה שלמעשה הראשונה העמודה של ציקליות פרמוטציות הן העמודות כל כלומר

.(c0, c1, ..., cn−1) הסדרה ידי על המוגדר קונבולוציה אופרטור של הגרעין את

ולמרות nk × nk מגודל קונבולוציה במטריצת nk × k מגודל מטריצה שהייתה A את להחליף שניתן נראה כעת

יעיל חישוב לרוב נקבל אנחנו ~y הוקטור של המימד את להעלות נאלץ גם ולכן המטריצה של במימד עולים שאנחנו

ש: כך ~r = A~y קודם שראינו בדוגמה נתחיל קונבולוציה. מטריצת של התכונות סמך על יותר

r11r21r12r22...r1nr2n

=

1 012

121 012

12

. . .

0 112

121 0

12 0 1

2

·

y1y2y3......

yn−2

yn−1

yn

~y↑ סיגנל עם[0 1

2 1 12 · · · 0

]הפילטר על המבוססת קונבולוציה במטריצת לכפל שקול הנ"ל שהכפל נראה

ע"י: ומוגדר ”Zero-Upsampling” או "Zero Interpolation" בתור שידוע מה את שעבר ~y הסיגנל של תוצר שהוא

~y↑i =

y i2

i is even

0 otherwise

מטריצת שקיימת נראה .2n ל־ n מ־ הוקטור מימד את בכך והגדלנו אפס הוספנו ~y בוקטור איברים שני כל בין כלומר

~y↑ את הגדרנו שבו מהאופן .C~y↑ = A~y ומקיימת[0 1

2 1 12 · · · 0

]הפילטר על המבוססת C קונבולציה

[0 1

2 1 12 · · · 0

]הפילטר של ציקליות הזזות הזוגיות בעמודות שמכילה C מטריצה לכל נכון יהיה הזה השוויון

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

נקבל: מפורש באופן הנדרש, את ונקבל קונבולוציה מטריצת להיות C את שיהפכו

1 12 0 0 1

212 1 1

2 0 0

0 12 1 1

2

. . ....

... 0 12 1

. . .... 0 1

2

. . .... 0

......

. . . 0...

......

. . . 12

12 0 0 0 · · · · · · 0 1

︸ ︷︷ ︸

C

·~y↑ =

1 012

121 012

12

. . .

0 112

121 0

12 0 1

2

︸ ︷︷ ︸

A

~y

18

Page 19: Numerical Analysis

:(Splines (באמצעות פילטרים 1.3 אינטרפולציה: 1

:Spline-Filters על סיכום

.Aj,∗ של שיקוף הוא f j כאשר[

rj1 · · · rjn]=(f j ∗ ~y

)מתקיים j ∈ 1, ..., k לכל •

עושים כאשר קונבולוציה מטריצת עם כמכפלה להביע ניתן מופיעים הזנים כל שבו התוצאה וקטור את •הזנים) מספר הוא k) k − 1 יש שבו n · k ממימד ~y↑ לוקטור ממדי n וקטור שהוא ~y לוקטור Upsampling

הוא f′j כאשר

[

rj1 · · · rjn]=(

f′j ∗ ~y↑

)

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

הבא: השוויון את המקיימת C קונבולוציה מטריצת של j ה־ העמודה) (או השורה של שיקוף

r11...rk1r12...rk2...r1n...rkn

nk×1

=

A1 0 · · · 0... A1 0 · · · 0

Ak... A1 · · · 0

0 Ak...

. . . 0... Ak A1

......

. . ....

0 · · · 0 · · · Ak

nk×nk︸ ︷︷ ︸

C

·

y10...0y20...0yk

nk×1

.Aj := Zj(

Mj)−1

ע"י המוגדרים m1, ...,mk ממימד שורה וקטורי הם A1, ..., Ak כאשר

הפילטרים: בניית במהלך שפיתחנו הבאים השוויונות כל מתקיימים סה"כ •

rji

1st step︷︸︸︷= Aj ·

yi...

yi+mj

2nd step︷︸︸︷= Ar(i,j),∗ · ~y

3rd step︷︸︸︷=

(f j ∗ y

)(i)

4th step︷︸︸︷= Cj,∗ · ~y↑ =

(

f′j ∗ ~y↑

)

(i)

כלומר: ,A של j ה־ השורה שיקוף ידי על קודם כמו מוגדר f j הפילטר כאשר

f jk =

[Aj]

−k−mj ≤ k ≤ 0

0 otherwise

.C של j ה־ השורה\עמודה של שיקוף ידי על מוגדר f′j הפילטר ומאידך

יחיד: פילטר עם אחת כקונבולוציה הפלט ערכי כל את לקבל כיצד

לכל כאשר[

rj1 · · · rjn]=(

f′j ∗ y↑

)

מהצורה קונבולוציה ע"י

rji

n

i=1הערכים את לקבל ניתן j שלכל ראינו

הבא: השוויון שיתקיים כך יחיד F פילטר לקבל ניתן בפועל משלו. מתאים f′j פילטר היה היה זן

[r11 · · · rk1 · · · r1n · · · rkn

]= F ∗ ~y↑

הבא: באופן f′1, ..., f

′k הפילטרים של interleaving ידי על מוגדר F שהפילטר תראה הקונבולוציה משוואות בדיקת

F =[

f′11 f

′21 · · · f

′k1 · · · f

′1n · · · f

′kn

]

שקולה F עם קונבולוציה כלומר ~r = C · ~y↑ = F ∗ ~y↑ השוויון מתקיים הקודמת הפסקה של שבסימון נקבל סה"כ

.C הקונבולוציה במטריצת לכפל

19

Page 20: Numerical Analysis

:(Splines (באמצעות פילטרים 1.3 אינטרפולציה: 1

הינו הפילטר שרוחב נקבל הזנים כל עבור m אותו עם m ≪ n ממעלה בספליינים נשתמש שבו במקרה 1.37 הערה

m · k עם ספרסי פילטר הוא F שכן O (n ·m · k) = O (n · k) של בעלות F ∗ y↑ הקונבולוציה את לבצע וניתן mה־ תהליך את לעשות צריכים עדיין אנחנו (אך אפסים שרובו n · k מאורך וקטור הוא y↑ ו־ אפס שאינן קוארדינטות

הוא הזו בצורה החישוב אז הדברים) לרוח (בניגוד m = n אם מאידך החישוב). בעלות כלול גם עולה וזה upscale.O (n logn) בזמן חישוב ולקבל FFT ב־ להשתמש לנו עדיף והיה O

(n2)של מסדר

בנקודות הערכים לחישוב לינארית אינטרפולציה שמבטא הפילטר את נמצא (i, yi)ni=0 נקודות בהנתן 1.38 דוגמה

הכללית: הנוסחה את נזכיר .(zi = i+ 0.3 שהוא אחד זן (יש i+ 0.3

rji =

[

1 zji

(

zji

)2

· · ·(

zji

)mj

]

︸ ︷︷ ︸

Zji

·

1 xi x2i · · · x

mj

i

1 xi+1 x2i+1 · · · x

mj

i+1...

...1 xi+mj

x2i+mj

· · · xmj

i+mj

−1

︸ ︷︷ ︸

Mji

·

yiyi+1

...yi+mj

︸ ︷︷ ︸

~yi

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

r1i =[1 i+ 0.3

]·[1 i1 i+ 1

]−1

︸ ︷︷ ︸

A1

·[

yiyi+1

]

ולקבל i = 0 לבחור נוכל i ב־ תלוי לא והנ"ל A1 ערכי את הוא בפועל למצוא רוצים שאנחנו שמה מאחר

A1 =[1 0.3

]·[1 01 1

]−1

=[1 0.3

]·[1 0−1 1

]

=[0.7 0.3

]

הוא: הפלט i ולכל[0.3 0.7

]כלומר ,

[0.7 0.3

]של שיקוף פשוט הוא המבוקש הפילטר לכן

ri =[0.3 0.7

]∗[yi yi+1

]= 0.3yi + 0.7yi+1

.i+ 0.3 לנקודה הלינארית האינטרפולציה אכן וזוהי

:Spline Filters בניית על כללית הערה

חייבת m מסדר פולינומיאלית אינטרפולציה כללי שבאופן ברור אינטוטיבי באופן וגם שעשינו מהבניה מיידי באופן

אז m ≥ מדרגה פולינום הוא P ו־ xi, P (xi)mi=0 הוא הקלט אם כלומר .m ≥ ממעלה פולינום כל על לגמרי לדיק

עבור גם אלא רגילה פולינומיאלית אינטרפולציה עבור רק לא נכון הנ"ל .Q ≡ P מקיים Q האינטרפולציה פולינום

.Spline Filters ו־ Splines כגון שראינו האחרות האינטרפולציה שיטות

על רק שמסתמך אחרת בגישה פיתוח לקבל אפשר אבל פילטר ספליין של לפיתוח מסוימת גישה ראינו אנחנו

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

משוואות m + 1 סמך על F הפילטר את ולקבלPj (x) := xj | 0 ≤ j ≤ m

פולינומים של בבסיס להשתמש

הפילטר את לחלץ יכולים אנחנו Pj (zi) ו־ Pj (xi) מהם יודעים שאנחנו מאחר ,(Pj (xi))↑ ∗ F = Pj (zi) מהצורה

הבאה: מהצורה היא Pj (x) = 1 כאשר j = 0 עבור המתקבלת הראשונה המשוואה למשל הללו. מהמשוואות F

g ∗ F =[1 0k−1 1 · · · 1 0k−1 1

]

1×nk∗ F =

[1 · · · 1

]

1×nk

כי: נקבל מכך

nk =

n·k∑

i=1

1 =

n·k∑

i=1

(g ∗ F )i =

n·k∑

i=1

n·k∑

p=1

F (p) g (i− p) =

n·k∑

p=1

F (p)

=n︷ ︸︸ ︷(

n·k∑

i=1

g (i− p)

)

=

n·k∑

p=1

n · F (p)

המשוואות. יתר את לקבל אפשר דומה באופן .∑n·k

p=1 F (p) = k מהצורה אחת משוואה קיבלנו מכך

20

Page 21: Numerical Analysis

:RN ב־ אינטרפולציה 1.4 אינטרפולציה: 1

:RN ב־ אינטרפולציה 1.4

אינטרפולציה זה במקרה .~xi ∈ RN כאשר

(~xi, f

(~xi))n

i=1מהצורה הוא הקלט R

N ב־ אינטרפולציה עבור

מהצורה: תהיה לינארית

yi := f(~xi)=

n∑

j=1

cjϕj (~xi)

.ϕj : RN → R פונקציות של אינטרפולציה וגרעין פנימיים פרמטרים n יש כאשר

:RN ב־ פולינומיאלית אינטרפולציה 1.4.1

מהצורה P : RN → R פונקציה הוא m ממעלה N־ממדי ממשי פולינום 1.39 הגדרה

P (x1, ..., xN ) =k∑

i=1

ci

N∏

j=1

xαi,j

j ; αi,j ∈ Z≥0 , ci ∈ R

להיות: מוגדרת הפולינום מעלת כאשר

m := max1≤i≤k

N∑

j=1

αi,j

.RN ב־ מונום מכונה αi ∈ Z≥0 ,∏N

j=1 xαj

j פונקציה כל 1.40 הערה

.3 היא הדרגה x2 + xy + xy2 עבור למשל 1.41 דוגמה

הדרכים למספר שווה משתנים N ב־ m היותר לכל ממעלה הפולינומים מרחב של שהממד לב נשים 1.42 הערה

ל־ שווה שהנ"ל פשוטים קומבינטוריים משיקולים להראות ואפשר∑N

j=1 αj ≤ m ש־ כך α1, ..., αN ∈ Z≥0 לבחור

.(N+mm

)=(N+mN

)

מורכב האינטרפולציה גרעין שבו לינארית אינטרפולציה של פרטי מקרה שוב היא RN ב־ פולינומיאלית אינטרפולציה

n − 1 היותר לכל תהיה (m ב־ (שתסומן האינטרפולציה פולינום שדרגת נדרוש כעת אולם N־ממדיים מפולינומים

הקלט). נקודות מספר הוא n (כאשר

זאת. נוכיח לא אינטרפולציה, פולינום של קיום מבטיחה לדרגה בנוגע הדרישה 1.43 הערה

המשוואות מערכת את לפתור למעשה יש האינטרפולציה פולינום את לתפור כדי

yi = P (~xi) =

K∑

l=1

cl

N∏

j=1

(~xi)αi,j

j ; 1 ≤ i ≤ n

ולכן K =(N+n−1

N

)הוא האפשריים המונומים שמספר נקבל n− 1 ≥ m ממעלה פולינום הוא P ש־ שהנחנו מאחר

זוהי כלומר .N,n > 1 לכל(N+n−1

N

)> n ש־ להראות ואפשר נעלמים

(N+n−1

N

)ו־ משוואות n עם מערכת זוהי

אינסוף לה יש אז לה) יש שתמיד להראות אפשר (כאמור פתרון לה יש אם ולכן overdetermined linear systemאינטרפולציה. פולינום של יחידות אין לחד־ממד בניגוד לכן פתרונות.

21

Page 22: Numerical Analysis

:RN ב־ אינטרפולציה אינטרפולציה:1.4 1

הבאה: המערכת תתקבל ולכן 2 ≥ m ש־ נקבל n = 3 ו־ N = 2 עבור 1.44 דוגמה

1 ~x1,1 ~x1,2 ~x1,1~x1,2 ~x21,1 ~x2

1,2

1 ~x2,1 ~x2,2 ~x2,1~x2,2 ~x22,1 ~x2

2,2

1 ~x3,1 ~x3,2 ~x3,1~x3,2 321,1 ~x23,2

c1c2c3c4c5c6

=

y1y2y3

על־מישור איזשהו שמגדירה אפינית פונקציה Hi ב־ 1 ≤ i ≤ N כל עבור נסמן (x1, ..., xN ) ∈ RN בהנתן 1.45 הערה

שמוגדר הפולינום ~xi, yini=1 קלט שבהנתן להראות אפשר .i 6= j עבור xj כל את מכיל ולא xi את שמכיל אפיני

ידי על

P (x1, ..., xN ) :=

n∑

i=1

yi

n∏

j=1,j 6=i

Hj

Hj (~xi)

לבחור ניתן שכן היחידות חוסר את רואים כאן גם .(RN ב־ לגרנג' פולינום (זהו הקלט עבור אינטרפולציה פולינום הוא

מתאימים. מישורים על אינסוף

.N > 1 עבור RN ב־ עובד לא Neville של האלגוריתם 1.46 הערה

:RN ב־ Spline Interpolation ב־ שימוש 1.4.2

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

ניתן לא נפרד פולינום תפרנו תחום ובכל לתת־תחומים התפירה תחום את חילקנו כאשר גם בקלות יחסית רציפות

חלוקה תחומי עבור (אפילו התחומים שפות של במפגש רציפות להבטיח נוכל לא שכן RN ל־ ישירות זאת להכליל

רב־ממדיים). קוביות\מלבנים כמו פשוטה

עבור 0 ≤ ij ≤ K כאשר (i1, ..., iN ) מהצורה פרמטריזציה לו שיש שריג הוא RN ב־ מוכלל שריג 1.47 הגדרה

ידי: על מוגדרות השריג ונקודות 1 ≤ j ≤ N

~xi1,...,iN =(x1i1,...,iN

, ..., xNi1,...,iN

)= (f1 (i1) , ..., fN (iN ))

עולות. מונוטוניות פונקציות הן f1, ..., fN : R → R כאשר

הערות: 1.48 הערה

השריג. של j ה־ בציר המיקום את לנו נותן ij הערך .1

מ־ אחד כל בתוך הקוארדינטות הן 1 ≤ i1, ..., iN ≤ K שבה ממדית N פרמטריזציה הוא ~xi1,...,iN הסימון .2

השריג. של הממדים N

b ∈ RN ו־ a ∈ R עבור fj (i) = a · i+bj מהצורה אפינית פונקציה בוחרים כאשר ממתקבל רגולרי שריג בפרט .3

fj (i) = aji+ bj נקח אז ציר בכל שונים מרחקים נרצה אם קבועים.

ממדים. N ויש השריג של מימד בכל נקודות K יש שכן קלט נקודות KN נדרשות שסה"כ לראות ניתן .4

.~xi1,...,iN , yi1,...,iNNi=1 ונסמנו שכזה מוכלל שריג על מונח שהקלט נניח אנחנו מעתה

למשל: ,aj הוא j ה־ בציר סמוכות נקודות 2 בין שהמרחק נקבל אחיד שריג עבור 1.49 הערה

‖~x21 − ~x11‖ = ‖(f1 (2) , f2 (1))− (f1 (1) , f2 (1))‖ = ‖(f1 (2)− f1 (1) , 0)‖= ‖((a12 + b1)− (a11 + b1) , 0)‖ = ‖(a1, 0)‖ = |a1|

22

Page 23: Numerical Analysis

:RN ב־ אינטרפולציה אינטרפולציה:1.4 1

הספליין: את נבנה כיצד השאלה נשאלת כעת

N־ממדי פולינום של תפירה לבצע סתם אפשר אי ~x ∈ RN חדשה בנקודה הספליין את להעריך רוצים כאשר כאמור

רציף יהיה אמנם הזה הנאיבי התפירה אופן שכן ~x ל־ הסמוכות הקלט נקודות באמצעות המבוקשת מהמעלה מקומי

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

הבאה: בגישה ננקוט זאת

של ב"פינה" מתחילים כאשר לאזורים הקלט שריג את מחלקים לתפור רוצים שאנחנו הספליין למעלת בהתאם •מאחר ההערכה. על שאחראי שונה פולינום יהיה אזור שבכל כך הערכה באזורי השריג כל את מכסים ואז השריג

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

שונים). אזורים בין שחופפות נקודות (יש נקודות (m+ 1)N

ידי על נקבע חלוקה אזור כל RN ב־ m ממעלה

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

הבאים: השלבים את נבצע(x1, x2

)∈ R

2 בנקודה להעריך כדי R2 ב־ למשל

ציר בכיוון ה"קוים" מספר הוא m (כאשר p1, ..., pm+1 : R → R פולינומים השריג של X ה־ במימד נתפור .1

את לקבל כדי x1 בנקודה p1, ..., pm+1 את ונעריך ((x1, x2

)נמצאת שבו השריג של באזור שנמצאים .X ה־

p1(x1), ...., pm+1

(x1)

הערכים

.Y ה־ במימד p : R → R חדש חד־ממדי פולינום נתפור(

x1, pi(x1))m

i=1הערכים באמצעות .2

.P(x1, x2

):= p

(x2)הוא שנחזיר הערך .3

הבא: האיטרטיבי התהליך את נבצע m ממעלה ספליין עבור RN ב־ כללי יותר באופן

:1 ≤ i ≤ N עבור נבצע ~x ∈ RN חדשה הערכה נקודת ובהנתן D1 := (~xi, yi)ni=1 המקורי הקלט את נסמן .1

של i ה־ במימד pi,1, ..., pi,Mi: R → R פולינומים Mi := (m+ 1)

N−iנתפור Di הקלט סמך על (א)

השריג.

.pi,1

(~xi), ...., pi,Mi

(~xi)

הערכים את לקבל כדי ~xi ∈ R בנקודה pi,1, ..., pi,Miהפולינומים את נעריך (ב)

.i+ 1 ה־ במימד נתפור כאשר שוב תהליך אותו את ונבצע Di+1 =(

~xi, pi,j(~xi))Mi

j=1נגדיר (ג)

. P (~x) := PN,1

(~xN)הוא שנחזיר הערך PN,1 : R → R יחיד פולינום רק כבר לנו יהיה N ה־ בשלב .2

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

נניח נקודות). 32 = 9 ידי על לכן יקבע חלוקה אזור (כל שנייה ממעלה חד־ממדיים ספליין עם R2 של המקרה את

הבאה: התוצאה את נקבל מכך (~xij , yij)3 , 3i=1,j=1 הקלט נקודות ידי על שנקבע באזור תופרים שאנו

P(x1, x2

)=[

1 x2(x2)2]

·

1 x211

(x211

)2

1 x212

(x212

)2

1 x213

(x213

)2

·

1 x1(x1)2

0 · · · · · · 0

0 0 0 1(x1)2 (

x1)2

0 0 0

0 · · · · · · 0 1(x1)2 (

x1)2

·

1 x11 (x11)2

0

1 x21 (x21)2

1 x31 (x31)2

1 x11 (x11)2

1 x21 (x21)2

1 x31 (x31)2

1 x11 (x11)2

1 x21 (x21)2

0 1 x31 (x31)2

·

y11y12y21y21y22y23y31y32y33

23

Page 24: Numerical Analysis

:RN ב־ אינטרפולציה 1.4 אינטרפולציה: 1

מקוצר: באופן זאת נרשום אם

P(x1, x2

)= U2 ·M−1

2 · U1 ·M−11 ~y

התפירה. שלבי של הערכות מבצעות U2 ו־ U1 ו־ תפירה מטריצות הן M−11 ש־ לראות ניתן

שמעורבות מטריצות (m+ 1)(N−1)שיש נקבל m ממעלה בספליינים שימוש תוך N במימד כללי באופן 1.50 הערה

ולכך (m+ 1)N × (m+ 1)

Nמגודל בלוקים מטריצת של היפוך לבצע ויש וההערכה) התפירה שלבי כל (עבור בחישוב

של הריצה שזמן ונקבל לבצע שיש המכפלות (m+ 1)(N−1)את נוסיף .O

(

N · (m+ 1)3)

של מסדר חישוב עלות

הדוק. הנ"ל העליון שהחסם בטוח לא ,Ω(mN

)ו־ O

(NmN

)של מסדר הוא התהליך כל

האלגוריתם את נפעיל שבו סדר ובכל משנה לא האיטרטיבית התפירה את נבצע שבו שהסדר להראות אפשר 1.51 הערה

פולינום. אותו את נקבל הנ"ל

התהליך. בסוף שהתקבל P לפולינום שמתאימה התפירה מטריצת של מפורש ייצוג לקבל גם אפשר 1.52 הערה

:RN ב־ אינטרפולציה סיכום

האילוצים את שמקיים רב־ממדי פולינום ישיר באופן לתפור יכולים אנחנו (~xi, yi)ni=1 קלט נקודות n בהנתן •אולם הקלט נקודות מיקום על בהנחות צורך אין הזו בגישה לינאריות. משוואות מערכת פתרון ע"י P (~xi) = yi.O(n3)של עלות בעל יהיה מטריצה הפיכת שמערב התפירה שלב גם ולכן (O (n)) גבוה תהיה הפולינום דרגת

מסוים סידור בעל שריג פני על יהיו הקלט שנקודות בכך מותנה שהיה Splines ב־ שימוש של נוספת גישה ראינו •.n ב־ תלוי לא הנ"ל ובפרט Spline ה־ מעלת הוא m כאשר O

(NmN

)של מסדר סיבוכיות וקיבלנו

:RN ב־ Spline Filters ב־ שימוש 1.4.3

הבא: באופן מוגדרת f, g : ZN → R פונקציות זוג של N־ממדית קונבולוציה 1.53 הגדרה

(f (x1, ..., xN ) ∗ g (x1, ..., xN )) (z1, ..., zN ) :=∞∑

i1=−∞· · ·

∞∑

iN=−∞f (i1, ..., in) g (z1 − i1, ..., zN − iN )

ש: כך f1, ..., fN : Z → R פילטרים קיימים אם ספרבילי פילטר יקרא f : ZN → R פילטר 1.54 הגדרה

f (i1, ..., iN) =N∏

j=1

fj (ij)

רגולרי שריג על שנמצא ~xi1,...,iN , yi1,...,iNNi=1 לקלט ביחס רב־ממדיים Spline Filters ב־ להשתמש נרצה כאשר

שריג של הזזה הוא מהם אחד שכל שריגים איחוד על שנמצאות

zji1,...,iN

N,K

i=1,j=1פלט לנקודות וביחס N־ממדי

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

הן הפלט משריגי אחד כל של ציר בכל שהקוארדינטות היא הנ"ל במקרה הקלט שריג של בהזזה הכוונה 1.55 הערה

הקלט. בשריג קוארדינטות אותן של הקוארדינטות של הזזה

הבאות: מהשיטות אחת בכל לנקוט אפשר rji1,...,iN הפלט ערכי את לקבל כדי

בחד־ממד. פועלים שהיינו אופן באותו מהממדים אחד בכל חד־ממדיות קונבולוציות של שרשרת לבצע .1

24

Page 25: Numerical Analysis

:Scattered Data Interpolation שיטות אינטרפולציה:1.5 1

אחד. מימד על רק משפיע מהם אחד שכל מתאימים פילטרים עם N־ממדיות קונבולוציות של שרשרת לבצע .2

מתאים. N־ממדי ספרבלי פילטר עם אחת N־ממדית קונבולוציה לבצע .3

הבא: השוויון שמתקיים לרשום ניתן 3 ו־ 2 גישות ועבור הללו הגישות בכל תוצאה אותה את נקבל בפועל

g ∗ f (x1, ..., xN ) = g ∗N∏

i=1

fi (xi)

†︷︸︸︷= g ∗ (f1 (x1) ∗ δ (x2) ∗ ... ∗ δ (xN )) ∗

∗ (δ (x1) ∗ f2 (x2) ∗ δ (x3) ∗ ... ∗ δ (xN )) ∗ ... ∗ (δ (x1) ∗ ... ∗ δ (xN−1) ∗ fN (xN ))

לאחר yi1,...,iN ערכי כל את המכיל N־ממדי טנזור להיות g את נקח rji1,...,iN ערכי כל את לקבל כדי הנ"ל בסימון

(δ (x1) ∗ ... ∗ δ (xN−1) ∗ fN (xN )) ,...,(f1 (x1) ∗ δ (x2) ∗ ... ∗ δ (xN )) ו־ לחד־ממד) (בדומה מתאים Up-Scalingהחד־ממדי הפילטר של להפעלה שקול מהם אחד (כל פעם בכל אחד ציר על רק שמשפיעים N־ממדיים פילטרים הם

את לחילופין או f1, ..., fnהחד־ממדיים הפילטרים את מוצאים כיצד היא החשובה השאלה .(i ה־ במימד fi : Z → R

חד־ממדיים פילטרים של משילוב שמורכב ספרבילי פילטר של בתצורה שאנחנו כאן מניחים שאנחנו מאחר .f הפילטר

במקרה היחיד הפילטר את למצוא מנת על פעלנו שבו אופן באותו בדיוק חד־ממדי פילטר כל נמצא למעשה אנחנו

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

:RN ב־ Spline-Filters סיכום

ציר. אחר ציר עובדים כאשר החד־ממדית הפעולה של שרשור ידי על RN ב־ ספליין פילטרציית לבצע ניתן •

מהצורה: רב־ממדית לפילטרציה שקולה fi : R → R פילטר עם חד־ממדית פילטרציה כל •

fi (xi) = δ (x1) ∗ ... ∗ δ (xi−1) ∗ fi (xi) ∗ δ (xi+1) ∗ ... ∗ δ (xN )

הקונבולוציה. פעולת עבור יחידה שהוא הזהות פילטר הוא δ ש־ נזכיר כאשר

קונבולוציה של לביצוע שקול המשורשר התהליך שביצוע קיבלנו הקונבולוציה פעולת של הקומוטטיביות סמך על •(כאשר f (x1, ..., xN ) =

∏Ni=1 fi (xi) ידי על שמוגדר (הספרבילי) הרב־ממדי הפילטר עם אחת N־ממדית

להשתמש גם אפשר בנפרד מהצירים אחד כל על המשורשרת הפעולה לביצוע כתחליף לכן נקודתית). מכפלה זוהי

איתו. אחת ממדית N ובקונבולוציה f (x1, ..., xN ) =∏N

i=1 fi (xi) N־ממדי ה־ בפילטר

בנפרד. ציר כל על לעבוד דווקא עדיף חישובית מבחינה •

:Scattered Data Interpolation שיטות 1.5

לבצע נרצה שבו המקרה על רצון משביע באופן עונות לא RN ב־ אינטרפולציה עבור כה עד שהצגנו השיטות

להשתמש אפשר מראש. ידועה לא בצורה במרחב שמפוזר (~xi, yi)ni=1 נתון דאטה סט עבור אינטרפולציה

(~xi, yi)ni=1 קלט בהנתן לכך כחלופה מאוד. גבוה כך של החישובית העלות אבל נאיבית פולינומיאלית באינטרפולציה

Radial המכונות עזר פונקציות של בגרעין שימוש באמצעות "אינטרפולציה" שמבצעת שיטה ישנה ~xi ∈ RN כאשר

הנתונה הערכה נוסחת יש הזו לשיטה .(Kernel Density Estimation גם מכונה הזו (השיטה Basis Functionsהבא: באופן סגורה בצורה

Φ (~x) :=

∑ni=1 yiϕ (‖~xi − ~x‖)∑n

i=1 ϕ (‖~xi − ~x‖) =

n∑

i=1

yiϕ (‖~xi − ~x‖)

∑ni=1 ϕ (‖~xi − ~x‖)

︸ ︷︷ ︸

=wi

אוסף .(ϕ (x) = 1|x|+ε

ו־ ϕ (x) = e−x2

σ2 הן נפוצות (בחירות ואי־שלילית עולה לא מונוטונית פונקציה היא ϕ כאשר

אליהן: לב לשים שחשוב נקודות כמה האינטרפולציה. גרעין מכונה ϕi (~x) := ϕ (‖~xi − ~x‖) הפונקציות

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

25

Page 26: Numerical Analysis

:Scattered Data Interpolation שיטות אינטרפולציה:1.5 1

גבוהה. ממעלה פולינום של יקרה בתפירה צורך אין ובפרט תפירה שלב כאן אין •

ערכי של קמורה בקומבינציה מדובר שכן min yi ≤ Φ (~x) ≤ max yi מתקיים ~x שלכל מקבלים ההגדרה מאופן •.yi

בעצם שציינו מהצורה ϕ של בחירה ,yi הערכים עבור משקולות למעשה הם wi = ϕ(‖~xi−~x‖)∑

ni=1 ϕ(‖~xi−~x‖) הערכים •

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

למרחק. שמותאמות משקולות עם אבל הערכים כל של משוקלל כממוצע

התרומה של הדעיכה מידת על תשפיע ידינו על מראש שנקבע fit פרמטר שהוא σ של הבחירה ϕ (x) = e−x2

σ2 עבור

הקרוב השכן של לערך פשוט ומתקרב הולך Φ (~x) של הערך גדל σ ש־ ככל .Φ של לערך השונות הנקודות של

פחות יהיו יותר גבוה שהממד ככל כללי באופן הקלט. כל של לממוצע מתקרב הערך קטן σ ש־ וככל בקלט ביותר

והנקודות במידה שכן σ ∈ O(

N

√1n

)

של מסדר σ לקחת והגיוני שנבחר חדשה נקודה כל של בסביבה נקודות ופחות

. N

√1nשל מסדר יהיה מהצירים אחד כל בכיוון נקודות שתי כל בין האוקלידי שהמרחק נצפה אחיד באופן מפוזרות

26

Page 27: Numerical Analysis

נומרית: אינטגרציה 2

נומרית: אינטגרציה 2

:R ב־ נומרית אנטגרציה 2.1

אנחנו זאת לעשות כדי . I =´ b

af (x) dx את להעריך נרצה [a, b] בקטע המוגדרת f : R → R פונקציה בהנתן

מספר הוא n כאשר h = b−an

שווים מרווחים עם Spline אינטרפולציית באמצעות f הפונקציה את נקרב פשוט

(מהיותה בקלות האינטגרל את לחשב ניתן כמובן שעבורה המקרבת לפונקציה אינטגרציה נבצע ואז הדגימה נקודות

שיטות בשם ידועות האינטגרל לקירוב Spline באינטרפולציית שמשתמשות השיטות כל למקוטעין). פולינומיאלית

בקטע הדגימה נקודות n את נסמן כללי באופן שימוש. נעשה שבו Spline ה־ במעלת נבדלות והן Newton-Cotes. 0 ≤ i ≤ n עבור xi = a+ ih ידי על [a, b]

Trapezoid-Method בתור גם ידוע השיטה לינאריות. פונקציות באמצעות Spline מתקבל :m = 1 עבור •נקבל ומכך h שווים במרווחים נמצאות הדגימה נקודות טרפזים. הם לעקום מתחת החסומים שהשטחים מאחר

הבאה: מהצורה הם הלינאריים Spline ה־ פולינומי כי

Pi (x) = f (xi) +f (xi+1)− f (xi)

h(x− xi)

כי: נקבל מכך

xi+1ˆ

xi

Pi (x) dx = f (xi)x

xi+1∣∣∣∣

xi

+f (xi+1)− f (xi)

h

xi+1ˆ

xi

(x− xi) dx

= f (xi)h+f (xi+1)− f (xi)

h

[x2

2− xix

]xi+1

xi

=f (xi+1)− f (xi)

h(−xi)h+ f (xi)h+

f (xi+1)− f (xi)

h

[x2i+1 − x2

i

2

]

= (f (xi+1)− f (xi)) (−xi) + hf (xi) +f (xi+1)− f (xi)

h

(xi+1 + xi)

=h︷ ︸︸ ︷

(xi+1 − xi)

2

= [(f (xi+1)− f (xi))xi + hf (xi)] +(f (xi+1)− f (xi)) (xi+1 + xi)

2

= hf (xi) + (f (xi+1)− f (xi))

[(xi+1 + xi)

2− xi

]

= hf (xi) + (f (xi+1)− f (xi))

h︷ ︸︸ ︷

xi+1 − xi

2= hf (xi) +

h

2(f (xi+1)− f (xi))

=h

2(2f (xi) + f (xi+1)− f (xi)) =

h

2(f (xi+1) + f (xi))

התוצאה: את מקבלים סה"כ לכן

a

f (x) dx ≈n−1∑

i=0

xi+1ˆ

xi

Pi (x) dx =h

2

n−1∑

i=0

[f (xi+1) + f (xi)]

הבאה: התוצאה מתקבלת זוגי n עבור וסה"כ סימפסון שיטת נקראת השיטה :m = 2 עבור •bˆ

a

f (x) dx ≈ h

3

n2 −1∑

i=0

(f (x2i) + 4f (x2i+1) + f (x2i+2))

27

Page 28: Numerical Analysis

:R ב־ נומרית אנטגרציה 2.1 נומרית: אינטגרציה 2

שלוש לנו יש m = 2 ועבור f (xi+1) ו־ f (xi) עבור h2 משקולות שתי לנו היו m = 1 עבור כי לב נשים 2.1 הערה

h בדיוק הוא המשקלות סכום m = 1 עבור כי לראות ניתן ,f (x2i) , f (x2i+1) , f (x2i+2) עבורh3 ,

4h3 , h

3 משקולות

כללי ובאופן m · h יהיה המשקלות שסכום כך כללי m עבור גם ממשיך הנ"ל .2h הוא המשקלות סכום m = 2 ועבור

גודל סדרים של הבדלים שיש מצב נוצר כבר m > 8 עבור בפרט שבקצוות. מאלו יותר גדולות יהיו באמצע משקלות

השיטה. של נומרית אי־יציבות ונוצרת ובקצוות באמצע המשקלות בין

:Spline-Interpolation באמצעות אינטגרציה של השגיאה הערכת 2.1.1

:m מסדר Spline-Interpolation באמצעות שמתקבל והקירוב האמיתי האינטגרל בין הקירוב שגיאת את נעריך

Emi :=

∣∣∣∣∣∣

xi+mˆ

xi

f (x) dx−xi+1ˆ

xi

P (x) dx

∣∣∣∣∣∣

≤xi+mˆ

xi

|f (x)− Pi (x)| dx =

xi+mˆ

xi

|Ri (x)| dx

גזירה f ש־ נניח אם .xi, ..., xi+m נקודות m על ומבוסס [xi, xi+m] הקטע עבור שנתפר הפולינום הוא Pi כאשר

הבא: המקסימום היטב מוגדר i שלכל נקבל [a, b] ב־ חסומה m+ 1 ה־ הנגזרת ובפרט ברציפות פעמים m+ 1

Ki := maxξ∈[xi,xi+m]

∣∣∣f (m+1) (ξ)

∣∣∣

ומכך: x ∈ [xi, xi+m] לכל |Ri (x)| ≤ hm+1Ki כי נקבל ראינו שכבר חישובים סמך על הממוצע הערך ממשפט מכך

Emi ≤

xi+mˆ

xi

|Ri (x)| dx = h ·m · hm+1Ki = mhm+2Ki

נקבל: K := maxKi ונסמן שלם) מספר שזה כך n (נקח השונים התפירה קטעי nm

בכל הטעות את נסכום ואם

Em :=

∣∣∣∣∣∣

b

f (x) dx−aˆ

b

P (x) dx

∣∣∣∣∣∣

=

∣∣∣∣∣∣

nm

−1∑

i=0

xi+mˆ

xi

f (x) dx−xi+1ˆ

xi

P (x) dx

∣∣∣∣∣∣

≤nm

−1∑

i=0

∣∣∣∣∣∣

xi+mˆ

xi

f (x) dx−xi+1ˆ

xi

P (x) dx

∣∣∣∣∣∣

=

nm

−1∑

i=0

Emi ≤ n

m·mhm+2K = nhm+2K = n

(b− a

n

)m+2

K = (b− a)K · hm+1 = O(hm+1

)

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

.Spline ה־ מעלת את מעלים וכאשר (n את (מגדילים h את מקטינים כאשר ומשתפר הולך האינטגרל של האמיתי

הקירוב: שגיאת של יותר מדויקת הערכה

קטנה: תזכורת 2.2 תזכורת

.´ h

−hf (x) dx = 0 ,h−]מתקיים h] בקטע ואינטגרבילית אי־זוגית f : R → R פונקציה כל עבור •

.´ x+ε

x−εf (x) dx = 0 אז [x− ε, x+ ε] בקטע x סביב אנטי־סימטרית f אם כללי יותר באופן •

מתקיים: x ∈ [−h, h] לכל כי לנו ידוע כלשהו [−h, h] בקטע ברציפות פעמים 4 גזירה f : R → R בהנתן

f (x) = f (0) + xf′

(0) +x2

2f” (0) +

x3

6f (3) (0) + o

(x4)

כי: נקבל האגפים שני של אינטגרציה נבצע אם מכך

h

−h

f (x) dx = f (0)

h

−h

1dx+ f′

(0)

h

−h

xdx+f” (x)

2

h

−h

x2dx +f (3)

6

−h

x3dx+

h

−h

o(x4)dx (1)

= 2hf (0) + 0 +2h3

6f” (0) + 0 = 2hf (0) +

h3

3f” (0) + o

(h5)

(2)

28

Page 29: Numerical Analysis

:R ב־ נומרית אנטגרציה 2.1 נומרית: אינטגרציה 2

נקבל: טיילור פיתוח מאותו כי לב נשים

f (h) = f (0) + hf′

(0) +h2

2f” (0) +

h3

6f (3) (0) + o

(h4)

f (−h) = f (0) +−hf′

(0) +(−h)

2

2f” (0) +

(−h)3

6f (3) (0) + o

(h4)

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

f (h) + f (−h) = 2f (0) + h2f” (0) + o(h4)=⇒ f” (0) =

f (h) + f (−h)− 2f (0)

h2+ o

(h4)

=⇒ 2hf (0) +h3

3f” (0) = 2hf (0) +

h3

3

(f (h) + f (−h)− 2f (0)

h2

)

+ o(h4)

=6

3hf (0) +

h

3(f (h) + f (−h))− 2

3hf (0) + o

(h4)=

h

3(f (h) + f (−h) + 4f (0)) + o

(h4)

הבאה: התוצאה את נקבל (2) במשוואה זאת נציב אם מכך

h

−h

f (x) dx = 2hf (0) +h3

6f” (0) + o

(h5)=

h

3(f (h) + f (−h) + 4f (0)) + o

(h4)+ o

(h5)

=h

3(f (h) + f (−h) + 8f (0)) + o

(h5)

h = xi+1−xi

2 עבור [xi, xi+1] בקטע גם להתבונן נוכל 2h הוא שלו שהאורך קטע כל עבור נכון הזה הפיתוח שכל מאחר

כי: נקבל זה במקרה מכך .xi+1−xi

2 הנקודה סביבה יהיה טיילור פיתוח זה במקרה כאשר

xi+1ˆ

xi

f (x) dx =h

3

(

f (xi) + f (xi+1) + 4f

(xi + xi+1

2

))

+ o(h5)

סימפסון): (נוסחת שני מסדר Spline אינטרפולציית באמצעות האינטגרל של אחד מחובר כאן לזהות אפשר

xi+1ˆ

xi

f (x) dx ≈ h

3(f (x2i) + 4f (x2i+1) + f (x2i+2))

קיבלנו: הנדרשים) התנאים את מקיימת f ש־ (בתנאי שני מסדר אינטרפולציה עבור השגיאה של הקודמת בהערכה

Em :=

∣∣∣∣∣∣

b

f (x) dx−aˆ

b

P (x) dx

∣∣∣∣∣∣

∈ O(h3)

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

נקבל: השגיאות את נסכום אם קטנים.

Em :=

∣∣∣∣∣∣

b

f (x) dx−aˆ

b

P (x) dx

∣∣∣∣∣∣

≤nm

−1∑

i=0

o(h5)=

n

mo

((b− a

n

)5)

= o(h4)

קודם. שראינו כמו O(h3)ולא O

(h4)היא שני מסדר קירוב עבור הכללית השגיאה לכן

Em ∈ O(hm+2

)מתקיים זוגי m שעבור כזו שגיאה אנליזת באמצעות להראות אפשר כללי יותר באופן 2.3 הערה

.Em ∈ O(hm+1

)אי־זוגי m ועבור

יש אם בפועל .m+ 2 מסדר f של גזירות הניחה m מסדר ניוטון־קוטס שיטת עבור כאן שעשינו האנליזה 2.4 הערה

שמצאנו דיוק רמת אותה את ולקבל ניוטון־קוטס בשיטות להשתמש ניתן עדיין f של אי־רציפות נקודות של סופי מספר

עם אינטגרציה שלקחנו מאחר שלנו. החלוקה נקודות על ישבו אי־הגזירות נקודת כל כאשר השיטה את שניישם בתנאי

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

29

Page 30: Numerical Analysis

:RN ב־ נומרית אינטגרציה 2.2 נומרית: אינטגרציה 2

:RN ב־ נומרית אינטגרציה 2.2

מתקיים: אינטגרבילית f : Rn → R עבור כי לנו ידוע פוביני משפט באמצעות A :=∏N

i=1 [ai, bi] ⊆ RN תיבה עבור

ˆ

A

f (x1, ..., xN ) dA =

ˆ an

a1

· · ·ˆ bN

aN

f (x1, ..., xN ) dxN · · · dx1

של השגיאה אז ציר כל לאורך m מסדר חד־ממדית Newton-Cotes בשיטת שימוש עושים שאם להראות אפשר

חלקיות נגזרות m + 1 יש f שלפונקציה בתנאי O(hm+1

)של מסדר עדיין היא התיבה על הרב־ממדי האינטגרל

RN ב־ דגימה נקודות n באמצעות מימד בכל אחידים מרווחים עם שריג לקבל שכדי לב נשים משתנה. בכל רציפות

היא ציר אחר ציר העובדת בשיטה האינטגרציה ששגיאת נקבל לכן 1N√nשל מסדר יהיו מימד בכל שהמרווחים נרצה

דברים: שני לראות ניתן מכך .O((

1N√n

)m+1)

= O(

n−m+1N

)

של גודל מסדר

השגיאה. של גודל סדר אותו לקבל כדי ויותר יותר n את להגדיל נצטרך וגדל הולך N ו־ קבוע m ש־ בהנתן •

(בעייתי השגיאה של גודל סדר אותו את לקבל כדי m את להגדיל נצטרך וגדל הולך N ו־ קבוע n ש־ בהנתן •נומרית). יציבות חוסר עקב

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

(לא שרירותיות A ⊆ RN מדידות קבוצות עבור טוב עובדת לא הזו הגישה בנוסף השגיאה. של טובה הערכה לקבל

כללי. מדיד בתחום אינטגרציה עבור שעובדת בשיטה נדון עכשיו תיבות).

:Monte-Carlo בשיטת סטוכסטית אינטגרציה 2.2.1

בקטע אינטגרבילית f : R → R פונקציה שעבור לב נשים .U (A) ע"י A על האחיד הפילוג את נסמן A קבוצה בהנתן

כי: נקבל p (x) = 1b−a

היא שלו שהצפיפות U ∼ U ([a, b]) ומ"מ [a, b]

EU [f ] =

a

f (x)1

b− adx =

1

b− a

a

f (x) dx =⇒ I :=

a

f (x) dx = (b− a)EU [f ]

שדגמנו בהנתן ולכן הממוצע כמובן הוא לתוחלת מיידי אומד ,EU [f ] את שנעריך מספיק I את להעריך כדי לכן

כי: נקבל X1, ..., Xni.i.d∼ U ([a, b])

In :=b− a

n

n∑

i=1

f (Xi) ≈ I

התיבה עבור בדו־ממד דומה, באופן .I ל־ כמעט־תמיד מתכנס In ש־ לנו מבטיח הגדולים חוק־המספרים למעשה

כי: נקבל אז X1, ..., Xni.i.d∼ U (D) נדגום אם D := [a, b]× [c, d] ⊆ R

2

In :=(b− a) (d− c)

n

n∑

i=1

f (Xi) ≈ I

לרשום: נוכל [c, d] ומ־ [a, b] מ־ אחידה ב"ת לדגימה שקולה [a, b]× [c, d] מ־ אחידה שדגימה מאחר

In :=(b − a) (d− c)

n

n∑

i=1

f (Xi, Yi) ≈ I

תלויות. בלתי הדגימות ושתי Y1, ..., Yni.i.d∼ U ([c, d]) ו־ X1, ..., Xn

i.i.d∼ U ([a, b]) כאשר

30

Page 31: Numerical Analysis

:RN ב־ נומרית אינטגרציה 2.2 נומרית: אינטגרציה 2

כי: נקבל אינטגרבילית f : RN → R ו־ A :=∏N

i=1 [ai, bi] עבור כללי יותר באופן

ˆ

A

f (x) dx =n∏

i=1

(bi − ai)EU [A] [f ] ≈∏n

i=1 (bi − ai)

n

n∑

i=1

f (X1,i, ..., XN,i)

התיבה. נפח פשוט הוא∏n

i=1 (bi − ai) ו־ 1 ≤ j ≤ n ו־ 1 ≤ i ≤ N עבור Xj,ii.i.d∼ U ([ai, bi]) כאשר

נקבל: אינטגרבילית f : RN → R ו־ N־ממדי נפח בעלת D ⊆ RN עבור כללי יותר אפילו באופן

I :=

ˆ

D

f (x) dx = V (D) · EU [D] [f ] ≈ V (D)1

n

n∑

i=1

f (Xi)

הישר). על אחידים N־פילוגים של מכפלה של תוצר בהכרח שאיננו D על אחיד (פילוג Xi ∼ U (D) כאשר

היטב מוגדרת In של התקן סטיית EU

[f2]< ∞ ש־ ובמקרה I של חסר־הטייה אומד הוא In ש־ נזכיר 2.5 הערה

(הממד). N ב־ לא וגם m ב־ תלויה שלא השגיאה של מסוימת הערכה כאן לנו יש כלומר ,O(

1√n

)

של מסדר והיא

נסמן: ,Monte-Carlo שיטת של השגיאה את להעריך כעת ננסה

EnMC =

∣∣∣∣∣

V (D)

n

n∑

i=1

f (Xi)− I

∣∣∣∣∣

מתקיים: גדול n עבור כי לנו ידוע המרכזי הגבול משפט לפי .f : RN → R ו־ Xi ∈ RN כאשר

Y :=V (D)

n

n∑

i=1

f (Xi)− I·∼ N

(

0,σ2f

n

)

נסמן: X ∼ U (D) עבור בקירוב. התפלגות שוויון מסמן·∼ כאשר

µf = EX [f (X)] =

ˆ

D

f (x)1

V (D)dx =

1

V (D)

ˆ

D

f (x) dx

כי: נקבל מכך

σ2f = Var [f (X)] =

ˆ

D

(f (x)− µf )2 1

V (D)dx =

1

V (D)

ˆ

D

(f (x)− µf )2dx

את להעריך מספיק E [EnMC ] את להעריך כדי

E

[∣∣∣∣∣

V (D)

n

n∑

i=1

f (Xi)− I

∣∣∣∣∣

]

כי: נקבל מכך ,σ2Y =

σ2f

nעבור Y ∼ N

(0, σ2

Y

)כאשר E [|Y |] את שנעריך מספיק המרכזי הגבול משפט סמך על

E [|Y |] = 1√

2πσ2Y

−∞

|s| e−(s−µY )2

2σ2Y ds =

1√

2πσ2Y

−∞

|s| e−s2

2σ2Y ds

ונקבל: t = sσY

משתנה שינוי נבצע

E [|Y |] = σ2Y

2πσ2Y

=C︷ ︸︸ ︷∞

−∞

|t| e−t2

2 dt =σY√2π

C ∈ O (σY ) = O(

σf√n

)

31

Page 32: Numerical Analysis

:RN ב־ נומרית אינטגרציה 2.2 נומרית: אינטגרציה 2

(הממד) N ב־ תלויה ולא√n ב־ שתלויה השגיאה של הערכה קיבלנו ובכך E [En

MC ] ∈ O(

σf · 1√n

)

כי קיבלנו לכן

יותר תהיה האינטגרציה שגיאת גדולה שונות עם פונקציות שעבור לנו שמראה σf ב־ תלות כאן יש מאידך .m ב־ או

נקבל: קבועה) (פונקציה f (x) = C שעבור לראות אפשר בפרט הגיוני. מאוד כמובן וזה גדולה

V (D)

1

1∑

i=1

f (X) = C · V (D) =

ˆ

D

Cdx

.σf = 0 מתקיים קבועה f שעבור לכך בהתאם זאת אחת דגימה ומספיקה שגיאה אין קבועה פונקציה עבור כלומר

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

:σf של ההשפעה עם להתמודד בשיטה כעת נדון ,E [EnMC ] ∈ O

(

σf · 1√n

)

כי כן אם ראינו

:Importance Sampling באמצעות נומרית אינטגרציה 2.2.2

בצורה שלנו הדגימות את לנצל רוצים שאנחנו מאחר אינטגרציה למטרת f ערכי של דגימה נבצע כאשר כללי באופן

בתחומים ערכים מעט ויחסית הפונקציה בערכי גדולה שונות יש שבהם בתחומים ערכים יותר לדגום נעדיף מיטבית

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

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

כי: נקבל כלשהי חד־ממדית צפיפות היא p אם

I :=

ˆ b

a

f (x) dx =

ˆ b

a

f (x)

p (x)p (x) dx = Ep

[f

p

]

≈ 1

n

n∑

i=1

f (Xi)

p (Xi)

.E [EnIS ] ∈ O

(

σ fp· 1√

n

)

מתקיים הזו בשיטה כי נקבל קודם שעשינו האנליזה פי על .X1, ..., Xni.i.d∼ p כאשר

מספיקה הייתה p מ־ אחת ודגימה σ fp= 0 מקבלים היינו f

p≡ C ש־ כך p את לבחור יכולים היינו אם 2.7 דוגמה

וזו f מ־ לדגום לדעת בעצם צריכים אנחנו p = C · f מ־ לדגום לדעת שכדי כמובן מדויק. באופן I את לחשב כדי

למעשה. לפתור רוצים שאנחנו הקשה הבעיה

את טובה בצורה תמדל p ש־ וגם בקלות יחסית p מ־ לדגום ניתן שבו באופן p את לבחור רוצים היינו מעשי באופן

. σ fp< σf ש־ לקבל כדי p ∈ Θ(f) ש־ כך p לבחור נרצה יותר פורמלי באופן ,f של הרעש

Importance באמצעות f (xi)ni=1 קטנה דגימה סמך על f (x) > 0 של האינטגרל את לחשב נרצה 2.8 דוגמה

עירוב ידי על המוגדרת p (x) לקחת נוכל כל לשם .f ל־ האפשר ככל שמקורבות p לבחור נרצה כך ולשם Samplingהבאה: מהצורה גאוסיאני

p (x) =

n∑

i=1

|f (xi)| · e−(x−xi)⊤σ2I(x−xi)

שבהן שנקודות נקבל p מהפילוג נדגום כאשר ולכן |f (xi)| ידי על שנתונות משקולות בעל הוא הנ"ל הגאוסיאני העירוב

משפר הנ"ל נמוכה, בהסתברות ידגמו לאפס קרובים f ערכי שבהן ונקודות גבוהה בהסתברות ידגמו גדולים f ערכי

רוצים. שהיינו כפי σ fp< σf כי שנקבל הסיכוי את

:Inverse Transform Sampling שיטת 2.2.3

חד־ממדית התפלגות מכל לדגום שמאפשרת Inverse-Transform Sampling בשם הידועה פרוצדורה נראה כעת

הבאות: העובדות על מתבססת הזו הפורצדורה .p חד־ממדית צפיפות מכל או F

32

Page 33: Numerical Analysis

:RN ב־ נומרית אינטגרציה נומרית:2.2 אינטגרציה 2

רציפה, F ש־ לכך שקול (הנ"ל F−1 קיימת כי נניח אם F מצטברת התפלגות ופונקציית U ∼ U ([0, 1]) בהנתן •כי: נקבל אטומים) להתפלגות שאין ולכך צפיפות F ל־ שיש לכך

F (x+ h)− F (x) = P (F (x) < U < F (x+ h)) = P(x ≤ F−1 (U) ≤ x+ h

)= P

(F−1 (U) ∈ [x, x+ h]

)

.F−1 (U) ∼ F כלומר ,F ידי על נתונה שלו המצטברת שההתפלגות מקרי משתנה הוא F−1 (U) לכן

כי: נקבל F (x) =´ x

−∞ p (s) ds כלומר ,p צפיפות ידי על נתונה F אם בפרט •

P(F−1 (U) ∈ [x, x+ h]

)= F (x+ h)− F (x) =

x+hˆ

x

p (s) ds

.p של אינטגרציה באמצעות היא ערכיה את לחשב היחידה הדרך ולכן סגורה צורה אין F של־ ייתכן כאשר

סגורה): בצורה מראש (נתונה F מצטברת התפלגות עם שמפולג מ"מ להגריל כדי מסקנה:

טבלה לחשב נאלץ אנליטית בצורה F את להפוך ניתן שלא במקרה .F−1 (U) את ונחשב U ∼ U ([0, 1]) נגריל •אינטרפולציה. באמצעות כללית בנקודה F−1 של חישוב ולבצע F−1 ערכי של דיסקרטית

סגורה): בצורה מראש (נתונה p צפיפות בעל מ"מ להרגיל כדי :2 מסקנה

יש p ל־ אם בפועל .F (x) =´ x

−∞ p (s) ds חישוב ידי על F ערכי של טבלה נחשב :F ערכי של טבלה ניצור •רגולרי שריג פני על נומרית אינטגרציה באמצעות נעשה הזה החישוב את אז Supp (p) ⊆ [a, b] חסום תומך

ועבור F (x) = 0 נגדיר x ≤ a עבור , F (x) =´ x

ap (s) ds את נחשב x ∈ (a, b) עבור כאשר [a, b] בקטע

.F (x) = 1 נגדיר x ≥ b

הקודמת. בטבלה שהתקבלו [0, 1] בקטע בדידים ערכים פני על F את נהפוך :F−1 ערכי של טבלה ניצור •

.F−1 (U) ∼ F את הקודם מהשלב הערכים על אינטרפולציה באמצעות ונחשב U ∼ U ([0, 1]) נגריל •

.p הצפיפות עם בקירוב מפולג F−1 (U) סה"כ •

ושגיאת הראשון בשלב האינטגרציה של הדיוק משגיאת שנובעת F−1 של בהערכה שגיאה כאן שיש ברור 2.9 הערה

עבור נקודות יותר בד"כ לנו יהיו האינטגרציה בשלב נקודות יותר שנדגום ככל השני. בשלב האינטרפולציה של הדיוק

כללי. באופן יעלה שלנו והדיוק הסופית האינטרפולציה

שקול וזה ממש עולה איננה F כאשר רק ייתכן זה עולה פונקציה היא F ש־ (מאחר הפיכה לא F שבו במקרה

או F−1 (u) = inf x ∈ R |F (x) ≥ u ידי על F של מוכלל הופכי להגדיר אפשר להתפלגות) אטומים שיש לכך

בדיוק. פרוצדורה אותה את ולבצע F−1 (u) = sup x ∈ R |F (x) ≤ u

:Importance Sampling באמצעות אינטגרציה עבור לשמש יכול הזה התהליך בפרט

כי: נקבל אז X1, ..., Xni.i.d∼ p נדגום אם [a, b] תומך עם p וצפיפות נתונה f פונקציה שעבור ראינו

a

f (x) dx ≈ 1

n

n∑

i=1

f (Xi)

p (Xi)

מתקיים X ∼ U ([a, b]) ו־ Y ∼ p שעבור כך כזו היא p אם בפרט

σ2fp

:= Var

(f (Y )

p (Y )

)

< Var (f (X)) = σ2f

המקורית. בשיטה השגיאה תוחלת סדר שהיה O(

σf1√n

)

על שעדיף O(

σ fp· 1√

n

)

של מסדר שגיאה תוחלת נקבל

33

Page 34: Numerical Analysis

:RN ב־ נומרית אינטגרציה נומרית:2.2 אינטגרציה 2

מקרית: דגימה באמצעות חד־ממדיים אינטגרלים לקרב שיטות שתי ראינו 2.10 הערה

.O(√

Var (f) · 1√n

)

של מסדר שגיאה עם Xi ∼ U ([a, b]) עבור´ b

af (x) dx ≈ 1

n

∑ni=1 f (Xi) חישוב .1

.O(√

Var(

fp

)

· 1√n

)

מסדר שגיאה עם Xi ∼ p עבור´ b

af (x) dx ≈ 1

n

∑ni=1

f(Xi)p(Xi)

חישוב .2

לקבל כדי אז גדול מאוד Var (f) אם אולם יקרה. יותר הרבה השנייה שהשיטה ברור קבוע n עבור חישובית מבחינה

לבחור אפשר אם מאידך החישובית. בעלות בגידול כרוך וזה גדול מאוד n לקחת נאלץ הראשונה בשיטה קטנה שגיאה

שווה שזה וייתכן קטן יותר n באמצעות קטנה שגיאה השנייה בשיטה לקבל נוכל אז Var(

fp

)

≪ Var (f) ש־ כך p

השנייה. השיטה של הנוספת החישובית העלות את לנו

:RN ב־ דגימה 2.2.4

התפלגות כל למשל חד־ממדיות. דגימות ידי על רב־ממדיות מהתפלגויות לדגום ניתן שבהם ספציפיים מקרים ישנם

מהצורה צפיפות בעלת תהיה תלויות בלתי ההתפלגות של שהשוליות כך p : RN → R≥0 צפיפות בעלת רב־ממדית

כבר. שראינו בשיטה לדגום ניתן שמהן ממדיות חד צפיפויות הן pi, ..., pN כאשר p (x1, ..., xN ) =∏N

i=1 pi (xi)

רב־נורמלית: מהתפלגות דגימה 2.11 דוגמה

מ"מ N של לדגימה שקול הנ"ל שכן בקלות די X ∼ N (0, IN) ממדית N סטנדרטית נורמלית מהתפלגות לדגום ניתן

ומטריצת µ תוחלת עם N־ממדית נורמלית מההתפלגות לדגום ניתן כן כמו חד־ממדיים. X1, ..., XNi.i.d∼ N (0, 1)

.N (µ,Σ) מפולג אשר Y = Σ12X + µ הוקטור חישוב ידי על Σ שונות

:(Mixture of Distributions) התפלגויות של מעירוב דגימה 2.12 דוגמה

מהצורה: קמור צירוף היא שלה שהצפיפות מעורבת מהתפלגות לדגום נרצה p1, ..., pk : RN → R≥0 צפיפויות בהנתן

P (x1, ..., xN ) :=

k∑

i=1

αipi (x1, ..., xN )

(אם בשני אחד תלויים בלתי בהכרח אינם p1, ..., pk הצפיפויות ידי על המוגדרים שהפילוגים כאשר ייתכן כאשר

מהן). אחת מכל לדגום איך כבר יודעים אנחנו אז חד־ממדיות צפיפויות למכפלת מתפרקת pi מהצפיפויות אחת כל

פשוט בלתי־תלויות התפלגויות כאשר בלבד בלתי־תלויות מהתפלגויות מדגימה עשיר יותר המעורב המודל ברור באופן

i ∈ 1, ..., k להגריל מספיק P המעורבת מהצפיפות לדגום שכדי נראה כעת .α1 = 1 ו־ k = 1 עבור מתקבלות

פונקציית את לו ויש 1, ..., k ב־ ערכים המקבל I במ"מ נתבונן .pi מהפילוג לדגום ואז αi ערכי סמך על מקרי באופן

i בהנתן מכן ולאחר זאת) עושים איך נראה (מיד I של מהפילוג i שדגמנו נניח .P (I = i) = αi ידי על הנתונה המסה

מנוסחת ,(X |I = i) ∼ pi מתקיים i ∈ 1, ..., k שלכל כך X המ"מ של הצפיפות מהי נמצא .(X |I = i) ∼ pi דגמנונקבל: צפיפויות) (עבור השלמה ההסתברות

pX (x1, ..., xn) =k∑

i=1

P (I = i) · pX|I (x1, ..., xn|I = i) =k∑

i=1

αi · pX|I (x1, ..., xn|I = i)

=k∑

i=1

αi · pi (x1, ..., xn) = P (x1, ..., xn)

.X ∼ P שדוגם אלגוריתם היא (X |I = i) ∼ pi דגימת מכן ולאחר i ∈ 1, ..., k דגימת כי לראות ניתן מכך

פונקציית עבור Inverse-Transform-Sampling ע"י I את נדגום ראשית בפועל הנ"ל האלגוריתם את לבצע כדי

שנגריל מספיק כך לשם .F (i) =∑i

j=1 αi המצטברת להתפלגות מתאימה אשר q (x) =∑k

j=1 αiδ (x− i) המסהF שכן F של להיפוך שקול למעשה (הנ"ל F (i) ≤ U ≤ F (i + 1) מתקיים שעבורו i את ונבחר U ∼ U ([0, 1])

חד־ממדית. דגימה באמצעות pi מ־ לדגום נותר i את שבחרנו לאחר מדרגות). פונקציית היא זה במקרה

34

Page 35: Numerical Analysis

:RN ב־ נומרית אינטגרציה נומרית:2.2 אינטגרציה 2

לראות אפשר מדרגות פונקציית למעשה שהיא בדיד מקרי משתנה של CDF ה־ של הצורה עקב 2.13 הערה

משגיאות סובלת לא 0 מסדר אינטרפולציה עם Inverse-Transform-Sampling באמצעות בדידה מהתפלגות שדגימה

רציפה. מהתפלגות דגימה של במקרה קודם שתיארנו האינטרפולציה

אם .1, ..., N על המוגדרים ~p2 ו־ ~p1 תלויים בלתי בדידים פילוגים שני נתונים שבה בדוגמה נתבונן 2.14 דוגמה

שהערכים וכמובן Rank (A) = 1 ,A = ~p1 · ~p⊤2 כי נקבל Aij = p1 (i) · p2 (j) מוגדר i, j שלכל כך A מטריצה נגדיר

.p (i) = p1 (i) · p2 (i) המכפלה פילוג של הערכים בדיוק הם Aii

בחירה שתחת נקבל α~p1~p⊤2 + (1− α) ~q1~q

⊤2 ב־ ונתבונן 1, ..., N על ~q1, ~q2 נוספים פילוגים שני נקח אם כעת

נקבל: ~p1, ~p2 ב־ תלויים בלתי שהם ~q1, ~q2 של מתאימה

Rank(α~p1~p

⊤2 + (1− α) ~q1~q

⊤2

)= 2

שתי של מכפלה באמצעות לקבל שניתן ממה עשיר יותר כבר הוא התפלגויות שתי של שעירוב לראות ניתן כלומר

על מכפלה פילוגי N של כעירוב לייצוג ניתן 1, ..., N על בדיד פילוג שכל להראות אפשר למעשה התפלגויות.

שזה אפשרי פילוג כל Mixture באמצעות לתאר אפשר 1, ..., N על בדידים פילוגים של במקרה ולכן 1, ..., Nמכפלות. באמצעות רק לעשות ניתן לא שכמובן משהו

:Rejection Sampling באמצעות Rn ב־ אינטגרציה 2.2.5

אחיד מפילוג לדגום אפשרי בלתי ואפילו קשה מאוד שיהיה ייתכן D ⊆ RN שרירותית מדידה קבוצה שבהנתן לב נשים

לא ולכן חד־ממדיים) פילוג של למכפלה האחיד הפילוג את לפרק ניתן לא אם (למשל כה עד שראינו בשיטות D על

כך A תיבה למצוא ניתן חסומה D ש־ בהנתן אולם, שראינו. בשיטות D על f : RN → R של אינטגרל לחשב נוכל

הבא: באופן D על f : RN → R האינטגרל את ולחשב D ⊆ A ש־

ˆ

D

f (~x) d~x =

ˆ

A

1D (~x) f (~x) d~x ≈ V (A)

n

n∑

i=1

1D

(

~Xi

)

f(

~Xi

)

; ~X1, ..., ~Xni.i.d∼ U (A)

ימין. באגף הסכום את לחשב יכולים אנחנו חד־ממדיות דגימות באמצעות A מ־ לדגום יודעים שאנחנו מאחר כאשר

לבחור נרצה ולכן מבוזבזת תהיה ולמעשה לחישוב דבר שום תתרום לא A\D מ־ שנדגום נקודה שכל היא הבעיה עיקר

שלנו ההסתברות יותר גדולה כך יותר גדול A\D של שהנפח ככל עדיין ,D את שחוסמת המינימלית התיבה את

.V(D)V(A) בדיוק היא D ב־ תהיה A מ־ מקרית דגימה שנקודת ההסתברות למעשה לחישוב. תורמות שלא נקודות לדגום

.O(

1√n

Var (1Df))

של מסדר היא השגיאה תוחלת כי לנו ידוע קודם שעשינו האנליזה סמך על דבר של בסיכומו

שהשגיאה לקבל אפשר f ועל D על מסוימים בתנאים אולם Var (1Df) ≥ Var (f) כי נקבל בפועל המקרים במרבית

.O(

1√n

Var (f))

של מסדר למעשה היא

נומרית: אינטגרציה סיכום 2.2.6

נומרית: לאינטגרציה שיטות כמה ראינו

ראינו האינטרפולטור. של ואינטגרציה פולינומיאלית אינטרפולציה על שהתבססו Newton-Cotes שיטות .1

שהשיטה ציינו ובפרט O(

n− (m+1)N

)

של גודל מסדר היא השגיאה מתאימות גזירות הנחות תחת הזו שבשיטה

בממד הגידול על לפצות כדי (m) האינטרפולציה מימד את להגדיל נאלץ שכן גבוהים מימדים עבור טובה לא הזו

כרצוננו. m את להגדיל ניתן לא נומרית יציבות של ומשיקולים (N )

,O(

1√n

Var (f))

של מסדר שגיאה שמתקבלת ראינו כאשר מקרית דגימה על שהתבססו Monte-Carlo שיטות .2

בממדים Newton-Cotes שיטות על משמעותית עדיפות הן הללו השיטות לרוב ולכן במימד תלות אין בפרט

נמוכים. בממדים לא אבל גבוהים

35

Page 36: Numerical Analysis

לינאריות: לא משוואות פתרון 3

לינאריות: לא משוואות פתרון 3

f : R → R כאשר f (x) = 0 מהצורה למשוואה פתרון של חיפוש תמיד למעשה הוא לינארית לא משוואה של פתרון

לינאריות. לא פונקציות של שורשים לחיפוש שקול לינאריות לא משוואות של פתרון כלומר לינארית. לא פונקציה היא

למצוא לנו מאפשר i = 1, 2, 3 עבור ‖x− xi‖ = di מהצורה שלוש־משוואות של פתרון x ∈ R3 בהנתן 3.1 דוגמה

מאחר משוואות ביותר משתמשים במציאות (כאשר GPS באמצעות מיקום בחישובי שמתרחש מה למעשה זה .x את

נוספות). שגיאות מיני וכל רעש ויש

:(Bisection Method) החצייה שיטת 3.1

ש־ כך a, b ∈ R לנו שידועים הוא בשיטה לשימוש התנאי ,f (x) = 0 ש־ כך x ∈ R נחפש רציפה f : R → R בהנתן

של הרציפות הביניים ערך משפט סמך על ולכן מנוגד) סימן בעלי הם f (b) ו־ f (a) שקול (באופן f (a) · f (b) < 0הבאה: בצורה איטרטיבית באופן פועלת השיטה .f (c) = 0 ש־ כך c ∈ [a, b] שקיים לנו מבטיחה f

.[c, b] או [a, c] ב־ ונתבונן c ב־ b או a את נחליף הערך של לסימן ובהתאם c = a+b2 עבור f (c) את נחשב •

.c של הערך את בסוף ונחזיר מראש קבועים ספים עבור |f (c)| ≥ ε וגם |a− b| > δ ש־ עוד כל כך נמשיך •

כדלהלן: הוא האלגוריתם f (a) < 0 ו־ f (b) > 0 אם מפורש יותר קצת באופן

BM(f, a, b, δ, ε):while |a− b| > δ:

c = a+b2

if f (c) > 0b = c

elsea = c

if |f (c)| < ε exitend.

e0 = |b− a| ברור באופן .n ה־ באיטרציה הפתרון מיקום לגבי שלנו אי־הוודאות אינטרוול אורך את en ב־ נסמן

כי: באינדוקציה נקבל מכן ולאחר

en+1 = max |c− a| , |b− c| = max

∣∣∣∣

a+ b

2− a

∣∣∣∣,

∣∣∣∣b− a+ b

2

∣∣∣∣

=

∣∣∣∣

b− a

2

∣∣∣∣=

en2

סופר־לינארית. שיטה היא הזו השיטה ולכןen+1

en= 1

2 < 1 כי לראות ניתן מכך

.µ ∈ (0,∞) עבור limn→∞

∣∣∣en+1

eαn

∣∣∣ < µ אם ריבועי,...) (לינארי, αסופר־ תקרא איטרטריבית שיטה 3.2 הגדרה

שכן: התכנסות לנו שמובטחת מכך להסיק ניתן בפרט

en+1 =en2

=en−1

4= ... =

e02n

n→∞−→ 0

:Newton-Raphson שיטת 3.2

החד־ממדי: המקרה 3.2.1

ברציפות) פעמיים גזירות גם נניח ההתכנסות קצב של הערכה לקבל (כדי גזירה פונקציה היא f : R → R ש־ נניח

x1 נגדיר המשוואה. של אמיתי פתרון הוא x כאשר f (x) = 0 המשוואה של לפתרון ראשוני ניחוש x0 ∈ R ויהא

הבאה: הלינארית המשוואה של הפתרון להיות

f′

(x0) (x− x0) + f (x0) = 0

36

Page 37: Numerical Analysis

:Newton-Raphson שיטת לינאריות:3.2 לא משוואות פתרון 3

פשוט x1 את שמצאנו בהנתן האיקס. ציר את חותך x0 בנקודה f ל־ המשיק שבה הנקודה פשוט הוא הנ"ל הפתרון

בסופו האיקס. ציר עם x1 בנקודה f ל־ המשיק של החיתוך נקודת שהוא x2 את ונמצא שוב שיטה אותה את נבצע

הסדרה כי נקבל בהמשך) מספיק" "קרוב בדיק זה מה (נראה x האמיתי לפתרון מספיק קרוב היה x0 אם דבר של

של: הפתרון הוא xi ש־ כך שמוגדרת xn∞n=1

f′

(xi−1) (x− xi−1) + f (xi−1) = 0

כדלהלן: הוא האלגוריתם .x ל־ מתכנסת היטב) מוגדר שהנ"ל (בהנחה xi = xi−1− f(xi−1)

f′(xi−1)

ע"י ברקורסיה ומפורשות

Newton(f, x0, ε):while |f (xi)| > ε:

set xi+1 = xi − f(xi)

f′ (xi)

כי: לראות ניתן מכך ,en = xn − x נגדיר ,n ה־ באיטרציה הזו השיטה של השגיאה את נעריך

en+1 = xn+1 − x = xn − f (xn)

f ′ (xn)− x = en − f (xn)

f ′ (xn)=

enf′

(xn)− f (xn)

f ′ (xn)

ש: כך (ξn ∈ [x, xn] (או ξn ∈ [xn, x] קיימת כי לנו ידוע x סביב f של שני מסדר טיילור פיתוח באמצעות

0 = f (x) = f (xn) + f′

(xn)

−en︷ ︸︸ ︷

(x− xn)+1

2(x− xn)

2f” (ξn)

נקבל: אגפים מהעברת מכך

enf′

(xn)− f (xn) =1

2(x− xn)

2f” (ξn) =

1

2e2nf

” (ξn)

נקבל: כך של ומהצבה

en+1 =1

2e2n

f” (ξn)

f ′ (xn)=⇒

∣∣∣∣

en+1

e2n

∣∣∣∣=

1

2

∣∣∣∣

f” (ξn)

f ′ (xn)

∣∣∣∣

כי: לב נשים כעת .

∣∣∣f”(ξn)

f′(xn)

∣∣∣n→∞−→ µ < 0 ש־ בתנאי סופר־ריבועי קצב בעלת היא ניוטון ששיטת לנו מראה הנ"ל

|en+1| = |en| ·∣∣∣∣en

f” (ξn)

2f ′ (xn)

∣∣∣∣≤ |en| ·

Mn︷ ︸︸ ︷

|en| supx,y∈In

∣∣∣∣

f” (x)

2f ′ (y)

∣∣∣∣

כי: נקבל מכך .rn ≥ |xn − x| עבור In = [x− rn, x+ rn] כאשר

|en+1| = |en| ·Mn = |en−1|Mn−1Mn = ... = |e0|n∏

i=1

Mn

כי: נקבל אז n לכל Mn ≤ C < 1 אם בפרט

|en+1| < |e0|Cn n→∞−→ 0 =⇒ xnn→∞−→ x

ש: במובן x לפתרון מספיק קרוב x0 את לבחור נרצה לכן

|e0| supx,y∈I0

∣∣∣∣

f” (x)

2f ′ (y)

∣∣∣∣= M0 < 1

.x לפתרון xn של התכנסות לנו שמובטחת נקבל זה במקרה .r = |x− x0| עבור I0 = [x− r, x+ r] כאשר

37

Page 38: Numerical Analysis

לינאריות: משוואות פתרון 4

היטב. מוגדרות למען נקודה בכל∣∣f” (x)

∣∣ < ∞ ו־ f

(x) 6= 0 ש־ לדרוש צריך כאן הדרך כל לאורך 3.3 הערה

שעבור מספיק בפועל בנגזרת. מחלקת שלנו העדכון נוסחת שכן נקודה בכל f′

(x) 6= 0 ש־ הנחנו אנחנו 3.4 הערה

x של סביבה וישנה f (x) של שורש הוא x אם לכך מעבר תתאפס. לא הנגזרת I0 בסביבה מתחילים אנחנו שבה x0

אם: בפועל אבל תעבוד לא השיטה לכאורה f′

(x) = f (x) = 0 שבה x לנקודה פרט f′

(x) 6= 0 שבה

limx→x

∣∣∣∣

f” (x)

f ′ (x)

∣∣∣∣= c < ∞

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

להתכנס. עשויה השיטה אז פיתול נקודת זו ואם תתכנס

.f של והשנייה הראשונה בנגזרת תלויים שהיו ריבועי בקצב להתכנסות נוסף ותנאי להתכנסות תנאי ראינו 3.5 הערה

f (x) = 1 − |x| עבור למשל נקודה, בכל גזירה תהיה f ש־ צריך לא תעבוד ניוטון ששיטת כדי בפועל 3.6 הערה

יש אם שני מצד .x0 = 0 ל־ פרט x0 של בחירה לכל אחד בצעד הנכון לפתרון נתכנס עדיין x = 0 ב־ גזירה שאיננה

f′

(xn) שבה לאיטרציה נגיע שלא להבטיח ניתן לא 1−|x| כמו פשוטה לא פונקציה עבור או אי־גזירות נקודות הרבה

תכשל. והשיטה מוגדרת תהיה לא

:RN ב־ Newton-Raphson שיטת 3.2.2

(fi לכל שני מסדר רציפות חלקיות נגזרות יש שקול (באופן ברציפות פעמיים דיפרנציאבילית f : RN → RN בהנתן

נקרב n איטרציה בכל בחד־ממד כמו .f (~x) = ~0 המשוואות למערכת פתרון נחפש לפתרון ~x0 ∈ RN ראשוני וניחוש

מוגדר: 1 ≤ i ≤ N שלכל כך המוגדרת gn : RN → RN לינארית פונקציה ידי על f את

gni (~x) = fi (~xn) + 〈(~x− ~xn) ,∇fi (~xn)〉

המשוואות מערכת את לכתוב שניתן לב נשים .gn (~xn+1) = ~0 פתרון ידי על ~xn+1 את נמצא הללו המשוואות בהנתן

הבאה: בצורה הזו

~0 = gn (~xn+1) = f (~xn) + Jf (~xn) · (~xn+1 − ~xn)

Jn (~xn) ש־ נניח אם מכך ([Jf (~xn)]ij = ∂fi(~xn)∂xj

) ~xn בנקודה f של היעקוביאן מטריצת היא Jf (~xn) כאשר

כי: נקבל הפיכה

~xn+1 = ~xn − J−1f (~xn) · f (~xn)

המשוואות מערכת את לפתור לחילופין Jfאו (~xn) את להפוך צריך האיטרטיבי החישוב את לבצע כדי לכן

−f (~xn) = Jf (~xn) · (~xn+1 − ~xn)

חישובית. מבחינה יעיל יותר בפועל שזה

.f של בנגזרות שתלויים התכנסות ולקצב להתכנסות מספיקים תנאים קיימים הרב־ממדי במקרה גם 3.7 הערה

לינאריות: משוואות פתרון 4

בפרט .A ∈ RN×N כאשר Ax = b בצורה להצגה ניתנת נעלמים N ו־ משוואות N ב־ לינארית משוואות מערכת

של סוגים שני על נדבר אנחנו .x = A−1b ידי על שנתון המערכת של יחיד פתרון קיים אז הפיכה A שאם לנו ידוע

לינאריים: פותרים

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

38

Page 39: Numerical Analysis

ריבועית: מטריצה של LU פירוק באמצעות מדויק פתרון 4.1 לינאריות: משוואות פתרון 4

אליו. מגיעים בהכרח לא אך המדויק לפתרון התכנסות מבטיחים איטרטיביים: פותרים •

Gauss-Jordan) גאוס־ג'ורדן אלימינציית היא הפיכה A עבור שעובדת מאוד מוכרת מדויקת שיטה 4.1 דוגמה

Reduced Row-Echelon (מציאת [A|b] המורחבת המטריצה של מלא דירוג באמצעות פתרון שמוצאת (Elimination.O(N3)היא הכוללת והעלות שורה־אלמנטריות פעולות של סדרה באמצעות מבוצע הנ"ל התהליך .(Form

ריבועית: מטריצה של LU פירוק באמצעות מדויק פתרון 4.1

.A = LU ו־ עליונה משולשית היא U תחתונה, משולשית L ש־ כך L,U ∈ RN×N קיימות A ∈ R

N×N שעבור נניח

תחתונה משולשית L ש־ מאחר .Lz = b אז z = Ux נסמן ואם LUx = b אז A = LU ו־ Ax = b שאם לב נשים

הבא: באופן Forward-Substitution באמצעות לפתור קל Lz = b המערכת את

z1 =b1l11

, for i = 2, ..., N : zi =1

lii

bi −∑

j<i

lijzj

עליונה: משולשית U ש־ כך על שמסתמך Back-Substition באמצעות Ux = z את לפתור ניתן זאת שפותרים לאחר

xN =zNuNN

, for i = N − 1 : xi =1

uii

zi −∑

j>i

uijxj

.O(N2)של סיבוכיות בעל הוא LU את שמצאנו בהנתן Back-Substition ואז Forward-Substition ביצוע

הרבה לפתור יש שבו במקרה הוא גאוס־ג'ורדן אלימינציית לעומת LU בפירוק שימוש של המשמעותי היתרון 4.2 הערה

את מחדש פעם כל לדרג נאלץ אנחנו גאוס־ג'ורדן אלימינציית שעבור בעוד שונים. b עבור Ax = b מהצורה מערכות

הפירוק עבור O(N3)אחת פעם לשלם אפשר LU פירוק באמצעות O

(N3)של בעלות [A|b] המורחבת המטריצה

.Back-Substition ואז Forward-Substition באמצעות המערכות פתרון עבור O(N2)לשלם ואז

קיים: שהנ"ל במקרה LU פירוק מוצאים כיצד 4.1.1

רק השיטה את נפתח אנחנו אבל הפיכות שאינן מטריצות עבור גם קיים להיות יכול LU פירוק בעקרון 4.3 הערה

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

עליונה משולשית U ו־ תחתונה משולשית L ש־ שמכך לב נשים ,LU פירוק קיים הפיכה A ∈ RN×N שעבור נניח

הבאה: מהצורה משוואות מערכות נקבל

i ≤ j =⇒ aij =∑

k≤i

likukj =⇒ uij =1

lii

(

aij −∑

k<i

likukj

)

i ≥ j =⇒ aij =∑

k≤j

likukj =⇒ lij =1

ujj

aij −∑

k<j

likukj

שכן: אפס אינם lii ו־ uii בהכרח אז הנדרש הפירוק שקיים בהנחה כי לנו ידוע הפיכה A עבור כאשר

0 6= det (A) = det (U) · det (L) =N∏

i=1

uii ·N∏

i=1

lii =⇒ uii, lii 6= 0

מקדמים N2+N ישנם אולם "משוואות" N2 קיימות LU = A השוויון ידי על שנוצרת המשוואות שבמערכת לב נשים

אם אולם פתרונות. אינסוף למעשה לה יהיו פתרון לה שקיים שבהנתן מערכת זוהי ומכך משולשיות) הן U ו־ L (שכן

סמך על יחיד. פתרון לקבל נוכל ולכן מקדמים N2 ו־ משוואות N2 לנו יהיו אז L,U של מהערכים N מראש נקבע

u1j =a1j

l11שנקבע בתנאי 1 ≤ i ≤ N לכל uii = 1 ש־ לקבוע נוכל אז 1 ≤ i ≤ N לכל li1 = ai1 נקבע אם כך

39

Page 40: Numerical Analysis

ריבועית: מטריצה של LU פירוק באמצעות מדויק פתרון לינאריות:4.1 משוואות פתרון 4

בשם הידוע U ו־ L למציאת הבא האלגוריתם את נקבל כך סמך על בהתאם. נעדכן מכן ולאחר 2 ≤ j ≤ N לכל

:Crout’s Algorithm

LUcrout(A):

for i = 1, ..., N :

li1 = ai1 and uii = 1.

end.

for j = 2, ..., N :

u1j =a1j

l11=

a1j

a11.

end

for i = 2, ..., N :

for j = 2, ..., i:

lij =

(

aij −∑

k<j

likukj

)

end

for j = i+ 1, ...., N :

uij =1lii

(

aij −∑

k<i

likukj

)

end

end

40

Page 41: Numerical Analysis

ריבועית: מטריצה של LU פירוק באמצעות מדויק פתרון לינאריות:4.1 משוואות פתרון 4

נוסף: אלגוריתם נקבל i לכל uii = 1 רק נקבע אם לחילופין

LUdecomp(A):

for i = 1, ..., N :

for j = i, ..., N :

lji =

(

aji −∑

k<i

ljkuki

)

end

for j = i+ 1, ..., N :

uij =1lii

(

aij −∑

k<i

likukj

)

end

end

הפנימית. והסכימה הלולאות עבור O(N3)הוא החישוב זמן המקרים בשני

l11 = a11 לוקחים שלנו האלגוריתמים בפועל אולם i לכל uii, lii 6= 0 בהכרח הפיכה A ש־ שבהנחה ראינו 4.4 הערה

a11 = 0 ש־ כך A הפיכה מטריצה עבור קורה מה השאלה נשאלת לכן סתירה. נקבל a11 = 0 אם ולכן המקרים בשני

לא אז LU פירוק קיים שאם שמראה תנאי קיים הפיכה מטריצה שעבור נראה אנחנו מיד אפשרות). בהחלט (שזו

פרמוטציה מטריצת לוקחים שבו LUP פירוק שנקרא מה באמצעות כך על להתגבר אפשר בפועל .a11 = 0 ש־ ייתכן

בו. נדון שלא משהו זה אבל PA = LU מהצורה פירוק ומוצאים P

לקבל ניתן כן אולם פירוקים. אינסוף ישנם בפועל אז A ∈ RN×N של LU פירוק קיים אם שציינו כפי 4.5 הערה

שהצגנו האלגוריתמים שני אחדות. רק יכיל U של או L של שהאלכסון הדרישה את מוסיפים כאשר יחיד פירוק

הנ"ל. הפירוק את בדיוק מחזירים

הבאה במטריצה נתבונן המטריצה, של גאוס לאלימנציית קשור מאוד מטריצה של LU פירוק למעשה 4.6 דוגמה

A =

1 −2 32 −5 120 2 −10

לתעד כדי השנייה. מהשורה הראשונה השורה את פעמיים שנחסיר בכך a21 את לאפס הוא באלימנציה הראשון הצעד

ונקבל: a22 הערך של במקום 2 הכופל את נרשום הזו הפעולה את

A(1) =

1 −2 3(2) −1 60 2 −10

נקבל: מכך ,a32 את לאפס כדי השלישית מהשורה השנייה השורה כפול −2 להחסיר הוא הבא הצעד

A(2) =

1 −2 3(2) −1 60 (−2) 2

היא: A של האלכסון) את איפסנו לא שכן קנוני דירוג לא (זהו המדורגת שהצורה קיבלנו מכך

U =

1 −2 30 −1 60 0 2

ידי על L מטריצה נגדיר ואם

L =

1 0 02 1 00 −2 1

המדורגת הצורה היא U ו־ האלימינציה פעולות את מתעדת למעשה L ש־ רואים אנחנו ובכך LU = A ש־ לוודא קל

.A המטריצה של קנוני) דירוג כדי עד לא כי (אם

41

Page 42: Numerical Analysis

ריבועית: מטריצה של LU פירוק באמצעות מדויק פתרון לינאריות:4.1 משוואות פתרון 4

:A הפיכה מטריצה של LU פירוק קיים מתי 4.1.2

:A ∈ RN×N ריבועית מטריצה בהנתן 4.7 תזכורת

וקבוצת I ⊆ 1, ..., N שורות קבוצת שמוחקים לאחר המתקבלת המטריצה הוא A המטריצה של AIJ מינור •.J ⊆ 1, ..., N עמודות

.I = J ⊆ 1, ..., N בוחרים כאשר עיקרי יקרא מינור •

1 ≤ k ≤ N עבור I = J = k, ..., N אם עיקרי־מוביל יקרא מינור •

מובילים. עיקריים מינורים N יש N ×N למטריצה בפרט מכך •

4.8 טענה

הפיכים. A של העיקריים־מובילים המינורים כל אמ"מ LU פירוק קיים A הפיכה למטריצה

הפיכים. הם הראשונים המובילים המינורים k אם רק LU פירוק קיים אז rankA = k אם כללי באופן 4.9 הערה

הפיכות. מטריצות עבור רק קיים LU שפירוק נניח אנחנו הקורס לצורך

M ∈ RN×N מטריצה בהנתן הפיכים. A של המובילים הראשיים המינורים כי נניח אחד, כיוון רק נוכיח הוכחה:

כעת .1 ≤ k ≤ N עבור I = J = k, ..., N כאשר שמתקבל המובילים העיקרי המינור את Mk ב־ נסמן כלשהי

:A של LU פירוק שקיים k על באינדוקציה נוכיח

סקלר פשוט הוא Ak ש־ נקבל k = 2 עבור טריוויאלית, והטענה ריקה מטריצה היא AN כי נקבל k = 1 עבור בסיס:

.u · l = Ak ש־ כך u, l סקלרים שקיימים ברור ולכן

כך Lk, Uk מטריצות קיימות מההנחה .Ak+1 של פירוק קיים כי ונראה Ak של LU פירוק שקיים כעת נניח צעד:

הפיכות. מטריצות גם הן Lk, Uk בהכרח ולכן הפיכה מטריצה היא Ak הטענה של מההנחה כן כמו ,Ak = LkUk ש־

הבא: השוויון את שמקיים u ∈ Rk בוקטור נתבונן

Lk · u = A1···k,k+1

ידי: על היטב מוגדר u הפיכה Lk ש־ מאחר .A של k+1 ה־ העמודה של הראשונים הערכים k הן A1···k,k+1 כאשר

u =(Lk)−1

A1···k,k+1

מתקיים: (A של k + 1 ה־ השורה של הראשונים הערכים k) Ak+1,1···k שעבור כך l ∈ Rk וקטור קיים אופן באותו

l =(Uk)−1 · Ak+1,1···k

המשוואה: את נפתור אם כעת

u · l + uk+1vk+1 = Ak+1,k+1

(l, lk+1) הוקטורים את נחבר שאם נקבל השוויון, את שיקיים זוג כל לבחור וניתן חופשיים גורמים הם uk+1lk+1 כאשר

הבאות: המטריצות את ונגדיר Uk, Lk למטריצות (u, uk+1) ו־

Uk+1 =

[[Uk] u0 uk+1

]

, Lk+1 =

[[Lk] 0l lk+1

]

.Ak+1 של LU פירוק קיים ולכן Lk+1Uk+1 = Ak+1 השוויון את יקיימו הללו המטריצות הבנייה מאופן מיידית אז

42

Page 43: Numerical Analysis

ריבועית: מטריצה של Cholesky פירוק באמצעות מדויק פתרון 4.2 לינאריות: משוואות פתרון 4

ריבועית: מטריצה של Cholesky פירוק באמצעות מדויק פתרון 4.2

מטריצה: של Cholesky פירוק 4.10 הגדרה

L ו־ A = L⊤L ש־ כך L ∈ RN×N קיימת אם קיים A ∈ R

N×N מטריצה של (L⊤L (פירוק Cholesky פירוק

האלכסון). על חיוביים ערכים בעלת תהיה L ש־ גם דורשים (לפעמים תחתונה משולשית

4.11 טענה

חיובית. ומוגדרת סימטרית היא אמ"מ L⊤L פירוק מקבלת A הפיכה מטריצה

שכן: סימטרית A בהכרח ומכך L⊤L פירוק שקיים נניח ⇐= הוכחה:

A = L⊤L =⇒ A⊤ =(L⊤L

)⊤= L⊤L = A

שכן: חיובית מוגדרת להיות חייבת L⊤L פירוק שמקבלת הפיכה מטריצה כל כן כמו

x⊤Ax = x⊤L⊤Lx = ‖Lx‖ ≥ 0

.x ∈ RN לכל x⊤Ax > 0 ומכך x ∈ R

N לכל ‖Lx‖ > 0 ולכן הפיכה L אז הפיכה A אם בפרט

וגדולים ממשיים שלה העצמיים הערכים כל אז חיובית מוגדרת בנוסף היא ואם לכסינה היא סימטרית מטריצה כל =⇒A של ו"ע הם שלה שהשורות\עמודות אורתונורמלית מטריצה היא U כאשר A = U⊤ΛU לרשום ניתן מכך מאפס.

שהע"ע מאחר היטב מוגדרת Λ12 (כאשר L = Λ

12U נסמן אם מכך האלכסון. על A של הע"ע עם אלכסונית היא Λ ו־

Q מטריצה נמצא אם אולם תחתונה, משולשית בהכרח איננה הנ"ל L אולם .A = L⊤L כי נקבל מאפס) גדולים

כי: נקבל אז תחתונה משולשית היא QL ש־ כך (QQ⊤ = I = Q⊤Q ש־ כך (מטריצה אורתוגונלית

A = L⊤L = L⊤IL = L⊤ (Q⊤Q)L = (QL)

⊤QL

אורתונורמלית מטריצה היא U ש־ שמכך לב נשים המבוקש. הפירוק את ותתן תחתונה משולשית תהיה L = RL ומכך

כי: לראות ניתן שכן אורתוגונלית הן Λ12U המטריצה של שהשורות נקבל

(

Λ12U)(

Λ12U)⊤

= Λ12UU⊤Λ

12 = Λ

שכן: אלכסונית מטריצה הייתה A אם אלא אורתוגונליות לא העמודות מאידך

(

Λ12U)⊤ (

Λ12U)

= U⊤Λ12Λ

12U = A

.vN , ..., v1 הקבוצה על גרם־שמידט תהליך את עליהן ונפעיל v1, ..., vN בסימון L = Λ12U של העמודות את נסמן

ובנוסף i 6= j לכל ri⊥rj כי לנו וידוע אורתונורמליים וקטורים הם אלו התהליך, של התוצר את r1, ..., rN ב־ נסמן

כי: נקבל מכך j > N − i+ 1 לכל 〈ri, vj〉 = 0 ולכן הפוך) סדר לקחנו (כי j > N − i+ 1 לכל ri⊥vj מתקיים

· · · rN · · ·· · ·

· · · r1 · · ·

︸ ︷︷ ︸

R

·

v1 · · · vN

︸ ︷︷ ︸

L

=

〈rN , v1〉 · · · 〈rN , vN 〉...

. . ....

〈r1, v1〉 · · · 〈r1, vN 〉

=

〈rN , v1〉 · · · 0...

. . ....

〈r1, v1〉 · · · 〈r1, vN 〉

:= L

.A = L⊤L ומקיימת תחתונה משולשית היא L = RL מכך

חיוביים. יהיו L של האלכסון שערכי גם דורשים אם אלא יחיד איננו הפירוק L⊤L פירוק קיים אם 4.12 הערה

43

Page 44: Numerical Analysis

לינאריות: משוואות לפתרון איטרטיביות שיטות לינאריות:4.3 משוואות פתרון 4

מטריצה: של Cholesky לפירוק האלגוריתם 4.2.1

מתקיים: האלכסון איברי עבור כי נקבל A = L⊤L פירוק שקיים בהנתן

akk =

k∑

i=1

l2k,i =⇒ l2kk = akk −k−1∑

i=1

l2k,i =⇒ lkk =

√√√√akk −

k−1∑

i=1

l2ki

מוגדר הנ"ל והשורש תחתונה משולשית L ש־ כך עקב מתאפסים k מ־ גדול אינדקס עם במכפלה האיברים כאשר

כי: נקבל j = k + 1, ..., N עבור כן כמו . ש־ מאחר וממשי היטב

akj =

N∑

i=1

Lki · L⊤ij =

k∑

i=1

lki · lji =⇒ lkkljk = akj −k−1∑

i=1

lki · lji

=⇒ ljk =1

lkk

(

akj −k−1∑

i=1

lki · lji)

כדלהלן: יהיה האלגוריתם לכן

Cholesky(A):

for k = 1, ..., N :

lkk =√

akk −∑k−1i=1 l2ki

for j = k + 1, ...., N :

ljk = 1lkk

(

akj −∑k−1

i=1 lki · lji)

end

end

כפולה. לולאה בתוך סכימה לנו יש שכן O(N3)היא החישובית העלות

LU פירוק אולם LU פירוק מציאת מאשר נומרית יציב ויותר מהיר יותר הוא L⊤L פירוק מציאת בפועל 4.13 הערה

שלהן. L⊤L פירוק קיים שלא מטריצות מאוד הרבה עבור קיים

יחיד בהכרח שאיננו L⊤L פירוק קיים חיובית־למחצה מוגדרת סימטרית מטריצה שלכל להראות אפשר 4.14 הערה

לקיומו). אנליטית הוכחה (ישנה הזו הפירוק לבניית אלגוריתמית צורה קיימת לא כאלו מטריצות עבור אולם

לינאריות: משוואות לפתרון איטרטיביות שיטות 4.3

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

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

מתקיים: הפיכה Q מטריצה לכל כזו מערכת בהנתן פתרון, לה שקיים Ax = b מהצורה במערכת שמדובר

Ax = b =⇒ (Q−Q)x+Ax = b =⇒ Qx = b− (A−Q)x

=⇒ x = Q−1 (b− (A−Q)x)

הבאה: מהצורה איטרטיבי עדכון ונבצע לפתור שקל x = Q−1 (b− (A−Q)x) מהצורה משוואות נרצה אנחנו

xn+1 = Q−1 (b− (A−Q)xn)

יקר חישוב שזהו A−1 את לחשב שבמקום הוא המרכזי הרעיון לפתרון. התחלתי ניחוש שהוא x0 עם מתחילים כאשר

לבצע נצטרך לא לכן ,A ערכי של כפונקציה סגורה בצורה פשוט נתון יהיה בד"כ והנ"ל Q−1 את רק לחשב נצטרך

מוגדרת: Q שבו באופן שנבדלות שיטות בכמה נדון כעת בכלל. מטריצות היפוך

.A של התחתון המשולשי החלק שהיא תחתונה משולשית Q לוקחים זו בשיטה :Gauss-Siedel שיטת •.A של האלכסון שהיא אלכסונית Q לוקחים זו בשיטה :Jacobi שיטת •קבוע. c 6= 0 עבור Q = cI לוקחים זו בשיטה :Richardson שיטת •

44

Page 45: Numerical Analysis

לינאריות: משוואות לפתרון איטרטיביות שיטות 4.3 לינאריות: משוואות פתרון 4

איטרטיביות: שיטות של התכנסות לאנליזת הקדמה 4.3.1

ידי: על RN על נורמה מוגדרת 1 ≤ p < ∞ לכל 4.15 תזכורת

‖x‖p =

(N∑

i=1

|xi|p) 1

p

.‖x‖∞ = maxi |xi| ידי על אינסוף" "נורמת מוגדרת כן כמו

מטריצה: של אופרטורית נורמה 4.16 הגדרה

נגדיר: בהתאמה A של והטווח התחום על ‖·‖q ו־ ‖·‖p ונורמות A ∈ RN×N מטריצה בהנתן

‖A‖p,q = sup06=x∈RN

‖Ax‖q‖x‖p

.1 ≤ p, q ≤ ∞ של בחירה לכל RN×N על נורמה מגדיר שהנ"ל להראות אפשר

.‖A‖p פשוט נסמן p = q עבור 4.17 הערה

הבאה: התכונה מתקיימת p, q ולכל 0 6= x ∈ RN שלכל לב נשים 4.18 הערה

‖Ax‖q = ‖x‖p‖Ax‖q‖x‖p

≤ ‖x‖p ‖A‖p,q

אחת בנורמה והתכנסות שקולות הנורמות כל RN ו־ RN×N כגון סוף־ממדיים וקטוריים מרחבים עבור 4.19 הערה

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

פשוטה: צורה יש מסוימות בחירות עבור אולם שרירותיים p, q עבור אופרטריות נורמות לחשב קשה לרוב 4.20 הערה

.M של Singular Values ה־ הם σ1, ..., σN כאשר ‖M‖2 = maxi σi מקבלים p = q = 2 עבור .1

מוחלט. בערך המקסימלי השורה סכום ־ ‖M‖1 = max1≤j≤N

∑Ni=1 |mij | מקבלים p, q = 1 עבור .2

מוחלט. בערך המקסימלי העמודה סכום ־ ‖M‖∞ = max1≤i≤N

∑Nj=1 |mij | מקבלים p, q = ∞ עבור .3

איטרטיביות: שיטות של להתכנסות מספיקים תנאים שני 4.3.2

את נסמן התכנסות. ותנאי בקצב לדון נרצה xn+1 = Q−1 (b− (A−Q)xn) מהצורה איטרטיבית שיטה בהנתן

נקבל: ומכך Ax = b כי נזכיר .en = xn − x ידי על n באיטרציה השגיאה את ונסמן x ע"י האמיתי הפתרון

en+1 = xn+1 − x = Q−1 (b− (A−Q)xn)− x

= Q−1 (Ax − (A−Q)xn)− x = Q−1 (A (x− xn) +Qxn)− x

= Q−1A (x− xn) + xn − x = en −Q−1Aen =(I −Q−1A

)en

כי: נקבל מכך

∥∥en+1

∥∥p=∥∥I −Q−1Aen

∥∥p

Operator Norm︷︸︸︷

≤∥∥I −Q−1A

∥∥p‖en‖p =⇒

∥∥en+1

∥∥p

‖en‖p≤∥∥I −Q−1A

∥∥p

45

Page 46: Numerical Analysis

לינאריות: משוואות לפתרון איטרטיביות שיטות 4.3 לינאריות: משוואות פתרון 4

שכן: התכנסות לנו מובטחת ולמעשה איטרציה בכל דועכת השגיאה כלשהו) p (עבור∥∥I −Q−1A

∥∥p< 1 אם לכן

∥∥en+1

∥∥p≤∥∥I −Q−1A

∥∥p‖en‖p ≤

∥∥I −Q−1A

∥∥2

p

∥∥en−1

∥∥p≤ .... ≤

∥∥I −Q−1A

∥∥n

p

∥∥e0∥∥p

n→∞−→ 0

הכרחי. תנאי לא זהו מאידך הזו, מהצורה איטרטיבית שיטה כל של להתכנסות מספיק תנאי מצאנו בכך

המקורית. הבעיה של לפתרון חזרנו הזה שבמקרה כמובן אבל∥∥I −Q−1A

∥∥p= 0 מקבלים Q = A עבור 4.21 הערה

מטריצה: של ספרטרלי רדיוס 4.22 הגדרה

.ρ (A) = maxi |λi| ע"י A של הספקטרלי הרדיוס את נגדיר λ1, ..., λN ע"ע עם M ∈ RN×N בהנתן

V =v1, ..., vN

שנסמנו שלה בסיס־עצמי קיים ולכן לכסינה היא

(I −Q−1A

)ש־ נניח הפיכה A ∈ R

N×N בהנתן

en את לייצג ניתן RN של הסטנדרטי בבסיס המיוצגות en הקירוב שגיאות בהנתן המתאימים. הע"ע λ1, ..., λN ויהיו

כי: לראות וניתן V בבסיס השגיאה של הייצוג הוא en הוקטור .en =∑N

i=1 eni v

i ע"י V בבסיס

en+1 =(I −Q−1A

)en =

(I −Q−1A

)N∑

i=1

eni vi =

N∑

i=1

eni ·(I −Q−1A

)vi

=

N∑

i=1

eni λivi = ... =

N∑

i=1

en−1i λ2

i vi = ... =

N∑

i=1

e0iλni v

i

מתקיים: p שלכל נקבל אורתונורמלי בבסיס שמדובר מאחר מכך

∥∥en+1

∥∥p=

∥∥∥∥∥

N∑

i=1

λni e

0i v

i

∥∥∥∥∥p

Orthonormality︷︸︸︷=

N∑

i=1

∣∣λn

i e0i

∣∣

=1︷ ︸︸ ︷∥∥vi∥∥p≤

=(ρ(I−Q−1A))n

︷ ︸︸ ︷(

maxi

|λi|)n

N∑

i=1

∣∣e0i∣∣ = ρ

(I −Q−1A

)n ·∥∥e0∥∥1

הבא: השוויון היא זאת לראות אחרת דרך התכנסות. ומובטחת ‖en‖pn→∞−→ 0 אז ρ

(I −Q−1A

)< 1 אם לכן

N∑

i=1

en+1i vi

def︷︸︸︷= en+1 =

N∑

i=1

eni λivi

זה שוויון ולכן הנ"ל בבסיס en+1 את המייצגים סקלרים של יחידה בחירה קיימת בסיס הוא v1, ..., vN ש־ מאחר

נקבל: וקטורית ובצורה 1 ≤ i ≤ N לכל en+1i = λie

ni ש־ לנו מראה

en+1 = Diag (λ1, ..., λN ) en = Diag (λn1 , ..., λ

nN ) e0

.1 ≤ i ≤ N לכל∣∣en+1

i

∣∣ n→∞−→ 0 אז maxi |λi| < 1 אם ולכן

∣∣en+1

i

∣∣ = |λi|n

∣∣e0i∣∣ ש־ נסיק מכך

להשתמש ניתן בהכרח לא ולכן לכסינה היא I −Q−1A ש־ מובטח Q,A של בחירה לכל לא כללי באופן 4.23 הערה∥∥I −Q−1A

∥∥2= maxi σi ש־ ומאחר σ1, ..., σN סינגולריים ערכים לחשב ניתן מטריצה לכל מאידך הזו. באנליזה

התכנסות. מובטחת אז maxi σi < 1 אם כי נקבל

ולכן: (I −Q−1A של (ע"ע λi > 1 ש־ כך i קיים אז ρ(I −Q−1A

)> 1 אם 4.24 הערה

∣∣en+1

i

∣∣ = |λi|n

∣∣e0i∣∣ n→∞−→ ∞

הכרחי תנאי הוא ρ(I −Q−1A

)< 1 התנאי לכן נתחיל. איפה משנה לא התכנסות תהיה לא שבו ציר ישנו כלומר

.xn+1 = Q−1 (b− (A−Q)xn) מהצורה איטרטיבית שיטה של להתכנסות ומספיק

46

Page 47: Numerical Analysis

לינאריות: משוואות לפתרון איטרטיביות שיטות לינאריות:4.3 משוואות פתרון 4

:Jacobi שיטת 4.3.3

:Jacobi שיטת של התכנסות אנליזת

ולכן:aij

aiiפשוט הם Q−1A איברי מכך ,Q−1 = Diag

(1

a11, ..., 1

aNN

)

ומכך Q = Diag (A) לוקחים Jacobi בשיטת

(I −Q−1A

)

ij=

0 i = jaij

aiii 6= j

כי: נקבל מכך

∥∥I −Q−1A

∥∥∞ = max

1≤i≤N

N∑

j=1

∣∣∣

(I −Q−1A

)

ij

∣∣∣ = max

1≤i≤N

j 6=i

∣∣∣∣

aijaii

∣∣∣∣= max

1≤i≤N

1

|aii|∑

j 6=i

|aij |

מטריצות עבור מתכנסת Jacobi שיטת x0 של בחירה לכל כי נסיק התכנסות מבטיח∥∥I −Q−1A

∥∥∞ < 1 ש־ מאחר

יתר מסכום גדולים האלכסון ערכי שבהן מטריצות כלומר .∀ 1 ≤ i ≤ N לכל∑

j 6=i |aij | < |aii| שמקיימות A.Diagonally Dominant Matrices נקראות כאלו מטריצות עמודה, באותה הערכים

47

Page 48: Numerical Analysis

לינאריות: משוואות לפתרון איטרטיביות שיטות לינאריות:4.3 משוואות פתרון 4

:Jacobi בשיטת לפתרון האלגוריתם

כדלהלן: הוא האלגוריתם ε > 0 מראש נתון שגיאה סף בהנתן

JacobiSolver(A, x0):

while ‖rn‖2 = ‖Axn − b‖2 ≥ ε:

for i = 1, ..., N :

xn+1i = 1

aii

(

bi −∑

j 6=i Aijxnj

)

end

end

של מסדר הוא∑

j 6=i Aijxnj של חישוב אז (O (N) הוא 0 שאינם A ב־ האיברים (מספר דלילה מטריצה היא A אם

.O(N2)של מסדר היא איטרציה כל כללית A עבור מאידך ,O (N) של עלות מסדר היא כזו איטרציה וכל O (1)

עבור לבצע. יש איטרציות כמה השאלה נשאלת אולם A הפיכת של העלות שהיא O(N3)מ־ טוב יותר חישוב זמן זהו

עצמו האיטרציות מספר שעבורן מטריצות של סוגים יש אולם איטרציות של קבוע מספר מספיק מסוימות מטריצות

מדויקת. בשיטה להשתמש עדיף שכבר ייתכן כזה ובמקרה N ב־ תלוי

:Gauss-Seidel שיטת 4.3.4

התכנסות: אנליזת

ו"ע v יהא .U = A −Q ו־ A של התחתון המשולשי החלק היא Q כאשר A = Q + U נרשום A ∈ RN×N בהנתן

ע"ע גם הוא v של ע"ע הוא λ שאם מאחר זאת לראות (ניתן ‖v‖∞ = 1 כי נניח ובה"כ λ ע"ע עם(I −Q−1A

)של

כי: לראות ניתן ,( v‖v‖

המנורמל הוקטור של

−Uv = (Q−A) v = Qv −Av = Q(I −Q−1A

)v = λQv

מתקיים: 1 ≤ i ≤ N לכל כי נקבל −Uv = λQv השוויון את נפתח ואם

−N∑

j=i+1

aijvj = λi∑

j=1

aijvj = λi−1∑

j=1

aijvj + λaiivi

=⇒ λaiivi = −

λi−1∑

j=1

aijvj +N∑

j=i+1

aijvj

כי: נקבל מכך

|λaiivi| ≤

∣∣∣∣∣∣

λi−1∑

j=1

aijvj +N∑

j=i+1

aijvj

∣∣∣∣∣∣

≤ |λ|i−1∑

j=1

|aijvj |+N∑

j=i+1

|aijvj |

≤ ‖v‖∞︸ ︷︷ ︸

=1

|λ|i−1∑

j=1

|aij |+∑

j=i+1

|aij |

= (|λ|S1 + S2)

נקבל: הנ"ל i ועבור |vi| = 1 ש־ כך i קיים ‖v‖∞ = 1 ש־ מכך כעת

|λ| |aii| = (|λ|S1 + S2) =⇒ |λ| (|aii| − S1) = S2

נקבל: אז Diagonally Dominant היא A ש־ נניח בנוסף אם לכן

|aii| >∑

j 6=i

|aij | = S1 + S2 =⇒ |aii| − S2 > S1

=⇒ S2 = |λ| (|aii| − S1) > |λ|S2 =⇒ |λ| < 1

התכנסות. ומובטחת 1 מ־ קטנים(I −Q−1A

)של הע"ע כל אז Diagonally Dominant היא A אם לכן

48

Page 49: Numerical Analysis

לינאריות: משוואות לפתרון איטרטיביות שיטות 4.3 לינאריות: משוואות פתרון 4

חיובית. מוגדרת סימטרית תהיה A ש־ הוא להתכנסות אחר מספיק שתנאי להראות אפשר 4.25 הערה

:Gauss-Seidel בשיטת לפתרון האלגוריתם

כי: נקבל A של התחתון המשולשי כחלק שהוגדרה Q עבור

xn+1 = Q−1 (b− (A−Q)xn) =⇒ Qxn+1 = b− (A−Q)xn

=⇒ Diag (A)xn+1 = b − (A−Q)xn + (Q−Diag (A))xn+1

מתקיים: 1 ≤ i ≤ N לכל כי נקבל מכך

aiixn+1i

= bi −N∑

j=i+1

aijxnj +

i−1∑

j=1

aijxn+1j

=⇒ xn+1i =

1

aii

bi −N∑

j=i+1

aijxnj +

i−1∑

j=1

aijxn+1j

אם אלא aii = 0 ש־ ייתכן לא כזו מטריצה עבור שכן הכרחי Diagonal-Dominance של שהתנאי לראות ניתן בפרט

החישוב סמך על ייתכן. לא הנ"ל בפרט ולכן פתירה מטריצה היא A ש־ מניחים אנחנו אולם לאפס שווה העמודה כל

הוא: שמתקבל האלגוריתם הנ"ל

GS-Solver(A, x0):

while ‖rn‖2 = ‖Axn − b‖2 ≥ ε:

for i = 1, ..., N :

xn+1i = 1

aii

(

bi −∑N

j=i+1 aijxnj +

∑i−1j=1 aijx

n+1j

)

end

end

כללית. A עבור O(N2)ו־ דלילה A עבור O (N) של איטרציה חישוב זמן עם In-Place נכתב xn ש־ לראות ניתן

.Jacobi שיטת מאשר יותר מהר מתכנסת GS שיטת שבד"כ להראות אפשר 4.26 הערה

:Richardson שיטת 4.3.5

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

פשוטה היא c 6= 0 עבור Q = cI לוקחים שבה Richardson שיטת .(‖Axn − b‖2 < ε ש־ להבטיח כדי כדי נדרשות

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

Qxn+1 = b− (A−Q)xn =⇒ cxn+1 = b − (A− cI)xn

=⇒ xn+1 = xn +1

c(b−Axn)

נקבל: כן כמו

en+1 =(I −Q−1A

)en =

(

I − 1

cA

)

en

ו"ע אותם להם ומתאימים 1 − 1cλi הם

(I − 1

cA)של שהע"ע לוודא קל ,A של הע"ע את λ1, ..., λN ב־ נסמן כעת

קורה זה מתי נבדוק ,ρ(I − 1

cA)< 1 שיתקיים הוא להתכנסות מספיק שתנאי ראינו .λi ל־ המתאימים אלו של כמו

כי: נקבל ומכך i לכל λi > 0 אז חיובית ומוגדרת סימטרית A ש־ נניח אם נתון. c 6= 0 עבור

ρ

(

I − 1

cA

)

= maxi

∣∣∣∣1− λi

c

∣∣∣∣< 1 ⇐⇒ ∀ i : −1 < 1− λi

c< 1 ⇐⇒ ∀ i : 0 <

λi

c< 2

⇐⇒ 0 <λmax

c< 2 ⇐⇒ 0 <

1

c<

2

λmax⇐⇒ c >

λmax2

49

Page 50: Numerical Analysis

לינאריות: משוואות לפתרון איטרטיביות שיטות לינאריות:4.3 משוואות פתרון 4

התכנסות לנו מובטחת c > λmax

2 לכל חיובית מוגדרת סימטרית A עבור לכן .A של המקסימלי הע"ע הוא λmax כאשר

נסמן האפשר. ככל מהירה התכנסות שיבטיח c > λmax2 לבחור כיצד השאלה נשאלת כעת .Richardson שיטת של

ב־ נסמן שאם ראינו סימטרית. A ש־ שהנחנו מאחר קיים הנ"ל כאשר I − 1cA של בסיס־עצמי V = v1, ..., vN ב־

עבור מכך .(I −Q−1A

)של הע"ע הם ηi כאשר en+1

i = ηieni מתקיים אז V בבסיס ביצוגו השגיאה וקטור את en

מתקיים: 1 ≤ i ≤ N לכל כי נקבל Q = cI

⋆ :∣∣en+1

i

∣∣ =

∣∣∣∣1− λi

c

∣∣∣∣|eni | = ... =

∣∣∣∣1− λi

c

∣∣∣∣

n∣∣e0i∣∣

אך העצמיים") "הצירים בכל (התכנסות הללו השגיאות כל של התכנסות לנו מובטחת אז ρ(I − 1

cA)< 1 שאם ראינו

לאפס יותר קרוב∣∣1− λi

c

∣∣ ש־ ככל יותר מהיר הקצב ברור באופן נתון. c עבור ההתכנסות קצב מהו השאלה נשאלת

כי: נקבל c >λmax

2 מקיים אשר נתון c ולכל

maxi

∣∣∣∣1− λi

c

∣∣∣∣= 1− λmin

c

נקח אם כעת .λmax ל־ המתאים בציר ביותר והמהיר λmin ל־ המתאים בציר הוא ביותר האיטי ההתכנסות קצב לכן

מיידית התכנסות עם ציר יש ולכן mini

∣∣∣1− λi

λmax

∣∣∣ = 0 ש־ נקבל וגם c > λmax

2 התנאי את נקיים אז c = λmax

.1− λmin

λmaxשל פקטור בעל הוא ביותר האיטי ההתכנסות קצב ומאידך

.κ (A) =∣∣∣λmax

λmin

∣∣∣ ע"י A של Condition Number ה־ את נגדיר λ1, ..., λN ע"ע עם A ∈ R

N×N בהנתן 4.27 הגדרה

נקבל: מכך ,A ל־ שמתאים הבסיס־העצמי הוא V כזכור כאשר V en = en כי לנו שידוע נזכיר

∣∣∣∣1− λmin

c

∣∣∣∣

n∥∥e0∥∥2= max

i

∣∣∣∣1− λi

c

∣∣∣∣

n

·∥∥e0∥∥2= max

i

∣∣∣∣1− λi

c

∣∣∣∣

n

·

√√√√

N∑

i=1

|e0i |2

=

√√√√

N∑

i=1

(

maxi

∣∣∣∣1− λi

c

∣∣∣∣

n)2

|e0i |2=

√√√√

N∑

i=1

(

maxi

∣∣∣∣1− λi

c

∣∣∣∣

n

|e0i |)2

√√√√

N∑

i=1

(∣∣∣∣1− λi

c

∣∣∣∣

n

|e0i |)2 ⋆︷︸︸︷=

√√√√

N∑

i=1

∣∣en+1

i

∣∣2=∥∥en+1

∥∥2

2=∥∥V en+1

∥∥2

2

V is orthonormal︷︸︸︷=

∥∥en+1

∥∥2

הבא התנאי את נקבל c = λmax ועבור∥∥en+1

∥∥2< ε ש־ לנו מובטח

∣∣1− λmin

c

∣∣n< ε כאשר נעצור אם לכן

∣∣∣∣1− 1

κ (A)

∣∣∣∣

n

=

∣∣∣∣1− λmin

λmax

∣∣∣∣

n

< ε

מתקיים מאוד גדולים κ := κ (A) ערכי עבור אז קבוע) a) n = κ (A) · a שאם לב נשים כעת

(

1− 1

κ

)n

=

(

1− 1

κ

)κa

≈ e−a = e−nκ

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

(

1− 1

κ

)n

≃ e−nκ < ε =⇒ −n

κ< log ε =⇒ n = κ · (− log ε)

האיטרציות מספר מאוד גדול κ (A) עם מטריצות שעבור נסיק מכך חיובי. − log ε כי נקבל 0 < ε ≪ 1 עבור כאשר

היא Richardson שיטת של הכללי הריצה זמן ולכן O (κ (A) |log ε|) הוא ‖en‖2 < ε לקבל כדי לבצע שנדרש

מלאה. A עבור O(N2 · κ (A)

)ו־ דלילה A עבור O (N · κ (A))

50

Page 51: Numerical Analysis

לינאריות: משוואות לפתרון איטרטיביות שיטות 4.3 לינאריות: משוואות פתרון 4

.Jacobi ושיטת GS שיטת של הכללי הריצה זמן גם שזהו להראות אפשר 4.28 הערה

4.29 מסקנה

ו־ דלילה A עבור O (N · κ (A)) הוא השיטה של הכללי הריצה זמני כה עד עסקנו שבהן השיטות שלושת עבור

יותר. גרועה אסימפטוטיקה נקבל κ (A) ∈ O (Nα) כאשר ולכן מלאה A עבור O(N2 · κ (A)

)

כי: נקבל b = Ax ש־ מכך .rn := b−Axn ידי על הנתונה n באיטרציה הקירוב בשארית נתבונן כעת

rn = Ax︸︷︷︸

b

−Axn = A (x− xn) = −Aen =⇒ ‖Axn − b‖2 = ‖rn‖2 = ‖Aen‖2 =⇒ ‖en‖2 =∥∥A−1rn

∥∥2

באלגוריתמים בפועל אולם ‖en‖2 < ε תקיים en שהשגיאה לקבל כדי שנדרש האיטרציות במספר דנו כאן עד

גישה בפועל לנו שאין היא לכך הסיבה .‖rn‖2 השארית נורמת של במונחים מוגדר היה שלנו העצירה תנאי עצמם

מהפיכה להמנע מנסים שאנחנו מאחר לנו עוזר שלא ‖en‖2 =∥∥A−1rn

∥∥2לשוויון פרט השגיאה לנורמת לשגיאה

השוויון סמך על שכן מדויק ולא היוריסטי עצירה תנאי למעשה הוא ‖rn‖2 < ε העצירה תנאי בפועל לכן .A של

‖rn‖2 ו־ ‖en‖2 בין הקשר בפועל השארית. נורמת את לנפח עשויה A−1 ש־ לראות אפשר∥∥A−1rn

∥∥2= ‖en‖2

השגיאה. נורמת את מייצגת פחות השארית נורמת כך גדול יותר κ (A) ש־ ככל ,κ (A) ידי על בדיוק מאופיין

גדול: Condition-Number על לפצות כדי Pre-Conditioning ב־ שימוש

בעלות מטריצות עם לעבוד שנעדיף ברור ולכן κ (A) ב־ תלוי עסקנו שבהן השיטות של ההתכנסות קצב שראינו כפי

גם יקיים הזו המערכת של פתרון כל P מטריצה לכל ,κ (A) ≫ 1 ו־ Ax = b ש־ נניח נמוך. Condition Numberאת לפתור כדי שראינו בשיטות להשתמש לנו עדיף ולכן κ (PA) ≪ κ (A) ש־ ייתכן אולם .PAx = Pb המערכת את

right-preconditioning לעשות ניתן מאידך .left-preconditioning נקרא שכזו P ב־ שימוש .PAx = Pb המערכת

pre-conditioning לעשות אפשר כן כמו .κ (AP ) ≪ κ (A) ש־ בתקווה x = Py עבור APy = b נפתור כאשר

סימטריה). תהיה Q = P⊤ נבחר (אם κ (PAQ) ≪ κ (A) כי נקווה כאשר PAQy = Pb ולפתור דו־צדדי

Diagonally- שהן מטריצות עבור התכנסות מובטחת כה עד בהן שדנו האיטרטיביות השיטות לשלושת 4.30 הערה

להתכנסות. הכרחי תנאי לא זהו אולם Dominant

:Steepest-Descent שיטת ־ אופטימיזציה באמצעות פתרון 4.3.6

חלקה פונקציה זוהי f (x) = x⊤Ax2 − x⊤b ידי על f : RN → R ונגדיר חיובית ומוגדרת סימטרית A ש־ נניח

המערכת לפתרון לגשת ניתן מכך .Ax = b מקיים f של מקומי אקסטרמום כל ולכן ∇f (x) = Ax − b שמקיימת

כנ"ל: מינימום קיים בהכרח מדוע נראה כעת .minx∈RN f (x) האופטימזציה בעיית של פתרון ידי על Ax = b

B ועבור 〈u, v〉B = u⊤Bv ידי על RN × R

N ב־ ריבועית תבנית להגדיר ניתן B ∈ RN×N בהנתן 4.31 תזכורת

ע"י המוגדרת נורמה משרה אשר חיובית) מוגדרת B אמ"מ (למעשה פנימית מכפלה אפילו זוהי חיובית מוגדרות

‖v‖2B = 〈u, u〉B = u⊤Bu

ומתקיים: חיובית ומוגדרת סימטרית היא A−1 גם הפיכה) (וגם חיובית ומוגדרת סימטרית A עבור כעת

∇‖Ax − b‖A−1 = ∇(x⊤Ax − 2x⊤b

)= 2∇f (x)

יחיד. והוא מינימום שקיים לנו מובטח נורמה שזוהי ומאחר ‖Ax − b‖A−1 למזעור שקול f (x) מזעור לכן

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

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

כי: לב נשים סקלר. הוא αn כאשר minαn f (xn + αndn) את ונמזער dn ∈ RN

∂αnf (xn + αndn) = (dn)

⊤ ∇f (xn + αndn) = (dn)⊤[A (xn + αndn)− b]

= (dn)⊤ (Axn − b) + αn (dn)⊤ Adn

51

Page 52: Numerical Analysis

לינאריות: משוואות לפתרון איטרטיביות שיטות 4.3 לינאריות: משוואות פתרון 4

ע"י: השארית את ונגדיר (Ax = b (כאשר en = xn − x ע"י השגיאה את נגדיר

rn = b−Axn = (Ax−Axn) = A (x− xn) = −Aen

נקבל: זה בסימון

∂αnf (xn + αndn) = − (dn)

⊤rn + αn (dn)

⊤Adn

כאשר: מתקבל minαn f (xn + αndn) של פתרון לכן

0 =∂

∂αnf (xn + αndn) = − (dn)

⊤rn + αn (dn)

⊤Adn

=⇒ αn (dn)⊤Adn = (dn)

⊤rn =⇒ αn =

(dn)⊤rn

(dn)⊤Adn

היטב. מוגדר הנ"ל ולכן (dn)⊤Adn > 0 כי לנו ידוע חיובית ומוגדרת סימטרית A ש־ שהנחנו מאחר

הבא: באופן נתון והוא Steepest-Descent מכונה המתקבל האלגוריתם

Steepest-Descent(A, x0):

while ‖Axn − b‖2 > ε:

set dn = b−Axn = rn

αn = (dn)⊤rn

(dn)⊤Adn

update xn+1 = xn + αnrn

end

לכיוון ההפוך הכיוון זהו שכן הגיונית dn = b−Axn = rn להיות איטרציה בכל החדש הכיוון של הבחירה 4.32 הערה

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

עבור O(N2)ו־ דלילה מטריצה עבור O (N) הוא איטרציה כל עבור החישוב זמן התכנסות: וקצב חישובית עלות

קמורה) פונקציה היא המטרה שפונקציית מאחר (למשל מתכנס תמיד הנ"ל שהאלגוריתם להראות אפשר מלאה. מטריצה

משמעותית יותר הרבה בצורה מותחת שהמטריצה צירים יש גדול κ (A) (כאשר O (κ (A)) הוא האיטרציות ומספר

עבור O (N · κ (A)) הוא השיטה של הכללי הריצה זמן סה"כ מזגזגים). העדכון בשלב הכיוונים ולכן אחרים מצירים

מלאה. A עבור O(N2 · κ (A)

)ו־ דלילה A

כי: נקבל השתמשנו שבהם בסימונים כי לב נשים

xn+1 − x = xn − x+ αnrn =⇒ en+1 = en+1 + αnrn

האלגוריתם: של מיידית התכנסות מתקבלת שבהם מעניינים מקרים שני נבחן

נקבל: מכך ו"ע), הוא v ∈ RN (כל λ ל־ שווים שלה הע"ע שכל חיובית מוגדרת מטריצה היא A ש־ נניח .1

α0 =

(r0)⊤

r0

(r0)⊤Ar0

=

(e0)⊤

A⊤Ae0

e0A3e0=

λ2

(

e0)⊤

e0

λ3(

e0)⊤

e0=

1

λ

שכן: מיידית התכנסות יש כי נקבל מכך

e1 = e0 + α0r0 = e0 − α0Ae0 = e0 − α0λe0 = e0 − 1

λλe0 = 0

52

Page 53: Numerical Analysis

לינאריות: משוואות לפתרון איטרטיביות שיטות לינאריות:4.3 משוואות פתרון 4

נקבל: מכך ,λ ע"ע עם A של ו"ע הוא e0 ש־ נניח .2

e1 = e0 + α0r0 = e0 − α0Ae0 = e0 − α0λe0

פרקטי איננו הזה שהמקרה כמובן מיידית. התכנסות ויש e1 = 0 ש־ נקבל ולכן α0 = 1λנקבל קודם כמו שוב

זאת. להבטיח דרך שום לנו ואין A של ו"ע הוא הראשון השגיאה וקטור שאיכשהו מניח הוא שכן

מתקיים: השתמשנו שבהם בסימונים כי לב נשים המקורית: לבעיה נחזור כעת

rn+1 = b−Axn+1 = b−A (xn + αndn) = b −A

(

xn +(dn)

⊤rn

(dn)⊤Adn

rn

)

= b−Axn

︸ ︷︷ ︸

rn

− (dn)⊤rn

(dn)⊤Adn

Arn =

(

I − (dn)⊤rn

(dn)⊤Adn

A

)

rn

נקבל: מכך

⟨dn, rn+1

⟩= (dn)

⊤rn+1 = (dn)

⊤(

I − (dn)⊤rn

(dn)⊤Adn

A

)

rn

= (dn)⊤ rn − (dn)⊤rn

(dn)⊤Arn

(dn)⊤ Arn = (dn)⊤ rn − (dn)⊤ rn = 0

נקבל: שקול באופן הקודם. החיפוש לכיוון ניצבת הבא בשלב השארית כלומר ,⟨dn, rn+1

⟩= 0 לכן

⟨dn, en+1

A= (dn)⊤ Aen+1 = (dn)⊤ Aen+1 = − (rn)⊤ rn+1 = 0

הקודם. החיפוש לכיוון ניצבת הבא בשלב השגיאה 〈·, ·〉A הפנימית במכפלה כלומר

ניצבים. החיפוש וכיווני השאריות כלומר ,⟨dn, dn+1

⟩=⟨rn, rn+1

⟩= 0 ש־ קיבלנו dn = rn ש־ מאחר 4.33 הערה

כי נקבל איטרציות N לאחר אז RN של A־אורתוגונלי בסיס יהיו שהם כך

diN−1

i=0את לבחור נוכל אם מסקנה:

כזכור: במפורש, זאת נראה .eN+1 = 0 בהכרח ולכן אורתוגונליים וקטורים N ל־ 〈·, ·〉A במכפלה ניצב יהיה eN+1

en+1 = xn+1 − x = xn − x+ αndn = en + αndn

ונקבל: e0 =∑N−1

i=0 aidi בתור

diN−1

i=0בבסיס e0 את נייצג

e1 = e0 + α0d0 =N−1∑

i=0

aidi + α0d0

diN

i=1בבסיס e1 של בייצוג מופיע לא d0 ש־ נסיק e1⊥Ad

0 ש־ לנו מבטיחה α0 =(d0)

⊤r0

(d0)⊤Ad0 שבחירת מאחר

נקח כאשר אינדוקטיבי באופן הזה התהליך את נמשיך ואם e1 =∑N−1

i=1 aidi נקבל מכך .α0 = −a0 בהכרח ולכן

מתקיים: צעדים n < N לאחר כי נקבל αn = (dn)⊤rn

(dn)⊤Adn

en+1 = en + αndn =

N−1∑

i=n

aidi + αndn =⇒ αn = −an

כי: נקבל אכן A־אורתונורמלי בסיס הואdiN−1

i=0אם לכן

eN = eN−1 + αN−1dN−1 =

N−1∑

i=N−1

aidi + αN−1dN−1 = aN−1d

N−1 +

−aN−1︷ ︸︸ ︷

αN−1 dN−1 = 0

53

Page 54: Numerical Analysis

לינאריות: משוואות לפתרון איטרטיביות שיטות לינאריות:4.3 משוואות פתרון 4

A־אורתוגונליים: כיוונים לייצר כדי גרם־שמידט בתהליך נשתמש פשוט הזו השיטה את ליישם כדי

Improved-SD(A, x0):

while ‖rn‖2 = ‖Axn − b‖2 > ε:

dn = rn −∑n−1

i=0 di⟨di, rn

A

xn+1 = xn +(

(dn)⊤rn

(dn)⊤Adn

)

dn

end

יציבות חוסר עקב בפועל אולם איטרציות N ב־ מתכנס בהכרח הנ"ל האלגוריתם לכאורה חישובית: ועלות התכנסות

נדרשות בפועל לכך מעבר מכונה. שגיאת עד־כדי רק אלא מדויק לפתרון מגיע באמת לא הוא גרם־שמידט של נומרית

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

O(N3)ו־ דלילה A עבור O

(N2)היא איטרציה כל של שהעלות מקבלים אנחנו העדכון בצעד גרם־שמידט ביצוע

השיטה של הכללי הריצה זמן ולכן O(√

κ (A))

הוא הנדרש האיטרציות שמספר להראות אפשר מלאה. A עבור

מלאה. A עבור O(

N3√

κ (A))

ו־ דלילה A עבור O(

N2√

κ (A))

הוא

:Conjugate-Gradient שיטת 4.3.7

מלאה. A עבור O(

N2√

κ (A))

ו־ דלילה A עבור O(

N√

κ (A))

של מסדר ריצה זמני שנותנת שיטה עכשיו נראה

ש־ לנו מבטיח אשר A־אורתונורמלי בסיס הם d0, ..., dN−1 ש־ קיבלנו שבו שלנו המשופר SD באלגוריתם נשתמש

כן: וכמו d0 = r0 נסמן .1 ≤ i ≤ n עבור en+1⊥Adi

Dn = Spand0, ..., dn

= Span

r0, ..., rn

כי: לב נשים .d0, ..., dn של גרם־שמידט ע"י שהתקבלו הוקטורים הם r0, ..., rn כאשר

rn+1 = b−Axn+1 = b−A (xn + αndn) = b −Axn − αnAdn = rn − αnAdn

נקבל: מכך

Dn = Spanr0, ..., rn

= Span

r0, r0 + α0Ad0, r1 + α1Ad1, ..., rn−1 + αn−1Adn−1

= Spand0, Ad0, Ad1, ..., Adn−1

= Span

d0+ADn−1 = Dn−1 +ADn−1

כי נקבל אז 1 ≤ i ≤ n לכל מתקיים הנ"ל ואם en+1⊥Adi אמ"מ rn+1⊥di ש־ ראינו כעת

rn+1⊥Dn = Dn−1 +ADn−1 =⇒ rn+1⊥ADn−1 =⇒ rn+1⊥ADn−1

ומכך: 1 ≤ i ≤ n− 2 לכל⟨di, rn

A= 0 כי נסיק מכך

dn = rn +

n−1∑

i=0

di⟨di, rn

A= rn + αn−1

⟨dn−1, rn

A

ידי: על שנתון Conjugate-Gradient לאלגוריתם הופך Improved-SD האלגוריתם מכך

Conjate-Gradient(A, x0):

while ‖rn‖2 = ‖Axn − b‖2 > ε:

dn = rn + αn−1⟨dn−1, rn

A

xn+1 = xn +(

(dn)⊤rn

(dn)⊤Adn

)

dn

end.

54

Page 55: Numerical Analysis

:(Eigen-Decomposition) ספקטרליים פירוקים 5

O(N2)ו־ דלילה A עבור O (N) הוא איטרציה לכל הריצה זמן ולכן בחישוב הכבד השלב את שחסכנו לראות ניתן

טובה. יותר נומרית יציבות מקבלים גם אנחנו גרם־שמידט מבצעים לא כבר שאנחנו מאחר כן כמו מלאה. A עבור

כה: עד שראינו השיטות כל של החישוב זמני את נסכם

Dense Sparse

Jacobi, GS, Richardson, SD O(N2κ (A)

)O(N1κ (A)

)

Improved-SD O(

N3√

κ (A))

O(

N2√

κ (A))

Conjugate-Gradient O(

N2√

κ (A))

O(

N√

κ (A))

Positive- ו־ סימטריות מטריצות עבור רק מוגדרות Conjugate-Gradient ו־ Steepest-Descent שיטות 4.34 הערה

שיטות מאידך .(SemiDefinite עבור מראים ובתרגיל Positive-Definite עבור כאן (הראינו SemiDefiniteמתכנסת. השיטה שעבורה מטריצה כל עבור עובדות GS/Jacobi/Richardson

:(Eigen-Decomposition) ספקטרליים פירוקים 5

הנ"ל. הבסיס של והע"ע הו"ע את לחשב נרצה (לכסינה), בסיס־עצמי לה שקיים מטריצה היא A ∈ RN×N ש־ נניח

:Power-Method שיטת 5.1

נתבונן .λN < ... < λ2 < λ1 ע"ע עם A ∈ RN×N של אורתונורמלי בסיס־עצמי הוא V = v1, ..., vN ש־ נניח

הוא: שלה העדכון ותנאי כלשהו x0 ∈ RN ב־ שמתחילה האיטרטיבית בשיטה

xn+1 =Axn

‖Axn‖2=

Anx0

‖Anx0‖2

כי: ונקבל x0 =∑N

i=1 aivi ידי על V בבסיס אותו נייצג x0 בהנתן

xn+1 =Anx0

‖Anx0‖2=

An−1∑N

i=1 aiAvi∥∥∥An−1

∑Ni=1 aiAvi

∥∥∥2

=An−1

∑Ni=1 aiλvi∥

∥∥An−1

∑Ni=1 aiλvi

∥∥∥2

= ... =

∑Ni=1 aiviλ

ni∥

∥∥∑N

i=1 aiviλni

∥∥∥2

†︷︸︸︷=

∑Ni=1 aiviλ

ni

√∑N

i=1 (aiλni )

2=

∑Ni=1 aiλ

ni

√∑N

i=1 (aiλni )

2· vi

n≫1︷︸︸︷≃ a1λ

n1

|a1λn1 |v1 = sgn (a1λ

n1 ) v1

שכן: v1, ..., vN של מאורתונורמליות נובע המסומן המעבר כאשר

∥∥∥∥∥

N∑

i=1

aiλni vi

∥∥∥∥∥2

=

√√√√

⟨N∑

i=1

aiλni vi,

N∑

j=1

ajλnj vj

=

√√√√

N∑

i=1

N∑

j=1

aiλni ajλ

nj 〈vivj〉

√√√√

N∑

i=1

N∑

j=1

aiλni ajλ

nj δij =

√√√√

n∑

i=1

(aiλni )

2

ונקבל: D :=

√∑N

i=1 (aiλni )

2נסמן ההתכנסות, קצב מהו נשאל סימן), כדי (עד xn n→∞−→ v1 כי הראינו בכך

xn+1 =N∑

i=1

aiλni

D· vi =

a1λn1

Dv1 +

N∑

i=2

aiλni

D· vi

︸ ︷︷ ︸

Error

55

Page 56: Numerical Analysis

:Power-Method שיטת 5.1:(Eigen-Decomposition) ספקטרליים פירוקים 5

כי: נקבל λN < ... < λ2 < λ1 כי שהנחנו מאחר

‖E‖2 =

∥∥∥∥∥

N∑

i=2

aiλni

D· vi

∥∥∥∥∥2

Orthonormality︷︸︸︷=

1

D

√√√√

N∑

i=2

(aiλni )

2=

√∑N

i=2 (aiλni )

2

√∑N

i=1 (aiλni )

2

†︷︸︸︷

<N |λn

2 | |a2|√

(a1λn1 )

2= N

∣∣∣∣

λ2

λ1

∣∣∣∣

n

·∣∣∣∣

a2a1

∣∣∣∣

נקבל: מכך .2 ≤ i ≤ N לכל |λn2a2| ≥ |λn

i ai| גדול מספיק n שעבור בכך השתמשנו המסומן במעבר כאשר

‖E‖2 < N

∣∣∣∣

λ2

λ1

∣∣∣∣

n

· |a2||a1|< ε =⇒ log

(∣∣∣∣

a2a1

∣∣∣∣N

)

+ n log

(∣∣∣∣

λ2

λ1

∣∣∣∣

)

< log ε =⇒ n >log ε− log

(∣∣∣a2

a1

∣∣∣

)

+ log (N)

log(∣∣∣λ2

λ1

∣∣∣

)

גם תלות שישנה לנו שמראה a1, a2 ב־ שתלוי בפקטור ,ε,N ב־ תלוי הנדרשות האיטרציות שמספר לראות ניתן

קרובים. יותר λ2 ו־ λ1 ש־ ככל לגדול n ל־ שגורם λ2, λ1 ב־ שתלוי פקטור ישנו כן וכמו x0 בבחירת

כללי באופן .v1 שבמציאת לקושי מדד מהווה שהוא לראות וניתן Spectral-Gap ה־ בתור ידוע

∣∣∣λ2

λ1

∣∣∣ הערך 5.1 הערה

הקודמים. החיפושים של ההשפעה את שננקה לאחר λi למציאת שידרשו האיטרציות למספר מדד הוא

∣∣∣

λi

λi+1

∣∣∣ יותר

שמתווספות מכיוון בפועל אבל אותה" "אכלנו ולכאורה שגויה הזו האנליזה אז a1 = 0 שאם לב נשים 5.2 הערה

.x0 של בחירה לכל יעבוד האלגוריתם של מחשב שמימוש נקבל הללו לחישובים מכונה שגיאות

.v1, ..., vk שמצאנו בהנתן vk+1 נמצא כיצד השאלה נשאלת ,v1 את למצוא שיטה קיבלנו λ2 6= λ1 ש־ בהנתן כעת

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

קודם. כמו xn+1 = Axn ראשית מעדכנים איטרציה ובכל כלשהו x0 עם מתחילים .1

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

xn+1 =xn+1 −

∑ki=1

⟨xn+1, vk

⟩vk

∥∥∥xn+1 −

∑ki=1 〈xn+1, vk〉 vk

∥∥∥

עצמי). וקטור כמו מתנהג xn כמה עד שבודק עצירה תנאי לבחור (צריך עצירה לתנאי הגעה עד ממשיכים .3

(היינו התהליך תחילת לפני אותו ביצענו ולא האיטרציה לתוך גרם־שמידט תהליך את שהכנסנו לראות ניתן 5.3 הערה

אבל חישובית מבחינה יקר מאוד זה כרגיל), xn+1 = Axn לעדכן ואז x0 = x0 −∑k

i=1

⟨xn+1, vk

⟩vk לקחת יכולים

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

:v⊤Av את נחשב v1, ..., vN העצמיים הוקטורים את שמצאנו לאחר העצמיים הערכים את למצוא כדי

λi = λi

‖v‖2=1︷︸︸︷

v⊤v = v⊤λv = v⊤Av

הוא: איטרציה לכל והמחיר O(

log ε−log(∣

a2a1

)

+log(N)

log(∣

λ2λ1

)

)

הוא האיטרציות שמספר ראינו ריצה: זמן

מובילים. עצמיים וקטורים k עבור O(N2 +Nk2

)ו־ יחיד ו"ע למציאת O

(N2)מלאה: A עבור •

מובילים. עצמיים וקטורים k עבור O(N +Nk2

)= O

(Nk2

)ו־ יחיד ו"ע למציאת O (N) דלילה: A עבור •

56

Page 57: Numerical Analysis

:Inverse Power-Method שיטת 5.2:(Eigen-Decomposition) ספקטרליים פירוקים 5

אז ריבוי עם ע"ע יש ואם ושונים סדורים שהע"ע הניחה שעשינו האנליזה שונים: אינם הע"ע אם קורב מה 5.4 הערה

שהאלגוריתם להראות אפשר שונה קצת אנליזה באמצעות אולם, מתכנס. לא והאלגוריתם עובדת לא האנליזה לכאורה

Eigenspace ה־ בתוך לינאריות קומבינציות שהם ו"ע נקבל אנחנו הזהים הע"ע שעבור זה שיקרה ומה עובד עדיין

מרחב. באותו נוספים אורתוגונליים ו"ע ונמצא נמשיך האלו הוקטורים עם גרם־שמידט נבצע וכאשר הרלוונטי

הו"ע למציאת טוב בפרט וזה העצמיים הערכים גודל לפי מסודר באופן הו"ע כל את למצוא לנו מאפשרת זו שיטה

לע"ע שמתאימים הו"ע את ספציפית למצוא לנו מאפשרת לא השיטה שני מצד גדולים. לע"ע ספציפית שמתאימים

זאת. לעשות לעיתים לעשות לנו תאפשר שנציג הבאה השיטה מסוים. בטווח ע"ע או מסוימים ע"ע קטנים,

:Inverse Power-Method שיטת 5.2

הבאה: מהצורה הוא העדכון תנאי זו בשיטה A ∈ RN×N לכסינה מטריצה בהנתן

.(A− ηI)xn+1 = xn המשוואות מערכת פתרון פי על מעדכנים .1

.xn+1 = xn+1

‖xn+1‖ ומגדירים מנרמלים .2

ועדכון מטריצה היפוך ידי על או (A− ηI)xn+1 = xn המשוואות מערכת פתרון ע"י או לבצע ניתן העדכון שלב את

במטריצה (למשל A המטריצה על קודם ידע סמך על להשתמש שיטה באיזו נבחר בפועל .xn+1 = (A− ηI)−1

xn

ניתן תמיד אך היפוך לבצע ניתן לא גבוה מאוד (בממד N של כפונקציה וגם להפוך) מאשר לפתור עדיף דלילה

הם (A− ηI) של הע"ע אז A של הע"ע הם λi שאם לב נשים כעת משוואות) מערכת לפתרון באלגוריתם להשתמש

כי: לראות וניתן ξi =1

λi−η

argmini |λi − η| = argmaxi |ξi|

שימושי (הנ"ל λi ל־ קרוב שמאוד η בחירת ידי על מסוים עצמי ערך למציאת לכוון לנו מאפשרת η בחירת לכן

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

Power-Method ב־ ולהשתמש שנרצה ככל טוב Spectral-Gap לקבל אפשר η בחירת ידי על ולכןξi+1

ξi= λi−η

λi+1−η

.Inverse Power-Methods נקרא הנ"ל ,(A− ηI) המטריצה עבור

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

מעבר דלילה\מלאה. מטריצה עבור שונה יהיה שוב והנ"ל לפתרון) Jacobi/GS כמו שיטות או (הפיכה העדכון את

וקטורים k למצוא כדי ובנוסף Power-Method ה־ של מהאנליזה לנו שידוע להתכנסות האיטרציות מספר את יש לכך

.k2 של בפקטור יגדל הריצה זמן ולכן גרם־שמידט לבצע שוב נצטרך עצמיים

סימטריות): מטריצות (עבור Lanczos שיטת 5.3

Power-Method ב־ .1 ≤ i ≤ n עבור Aix0 הוקטורים את שחישבנו ונניח סימטרית מטריצה היא A ש־ נניח

להשתמש מציעה Lanczos שיטת .v1 את לקרב כדי Anx0 ב־ רק והשתמשנו הראשונים הוקטורים כל את זרקנו

גרם־שמידט נבצע ,0 ≤ i ≤ N − 1 עבור uk = Akx0 נסמן במקום. הללו הוקטורים של לינאריות בקומבינציות

נתבונן כעת .N × N מגודל U מטריצה של כעמדות הללו הוקטורים את ונשים uiN−1i=0 הוקטורים את ונקבל

TA כי נקבל גרם־שמידט שביצענו מאחר ולכן[U⊤AU

]

ij= 〈ui, uj〉A ש־ לראות ניתן ,TA := U⊤AU במטריצה

היא ומכך סימטרית TA גם ולכן סימטרית A אולם (Conjugate-Gradient של באנליזה (כמו תחתונה משולשית היא

.(|i− j| > 1 כאשר [TA]ij = 0 ) טרי־דיאגונלית למעשה

שלא לכך פרט פנימית מכפלה של התכונות כל את מקיימת 〈u, v〉A ש־ לנו מובטח סימטרית A ש־ מאחר 5.5 הערה

חיובית). מוגדרת גם תהיה A ש־ נדרש זה (בשביל 〈u, u〉A ≥ 0 ש־ לנו מובטח

ולכן: אורתונורמלית מטריצה היא U ש־ לנו מבטיח גרם־שמידט תהליך כעת

TA = U⊤AU = U−1AU

57

Page 58: Numerical Analysis

סימטריות): מטריצות (עבור Jacobi Iteration שיטת 5.4:(Eigen-Decomposition) ספקטרליים פירוקים 5

לחשב קל יותר הרבה ולכן טרי־דיאגונלית היא TA אולם זהים. ע"ע להן יש ולכן דומות מטריצות הן UA ו־ A כלומר

TA של ע"ע שהם λ1, ..., λN שמצאנו בהנחה השיטה. לב וזהו (O(N2)בזמן QR פירוק ע"י (למשל שלה וו"ע ע"ע

ומכך: TA = U⊤AU =⇒ A = UTAU⊤ שכן A של ו"ע הם vi = Uvi ש־ נקבל v1, ..., vN ו"ע עם (A של גם (ולכן

Avi = UTAU⊤vi = UTAU

⊤Uvi = UTAvi = Uλivi = λiUvi = λivi

הוא TA של והו"ע הע"ע ומציאת O(N3)הוא גרם־שמידט ביצוע ,O

(N3)היא

Aix0

N

i=0מציאת ריצה: זמן

.(Power-Method ב־ O(N4)(לעומת A של והו"ע הע"ע כל למציאת O

(N3)הוא הריצה זמן סה"כ מכך .O

(N2)

לכסינה. מטריצה לכל Lanczos שיטת את מכלילה אשר Arnoldi שיטת שנקראת נוספת שיטה ישנה 5.6 הערה

סימטריות): מטריצות (עבור Jacobi Iteration שיטת 5.4

.A = U⊤ΛU ספקטרלי פירוק עם סימטרית מטריצה A ∈ RN×N תהא

הבא: באופן Ri,j,θ הסיבוב מטריצת את θ ∈ (0, 2π] ולכל 1 ≤ i, j ≤ N לכל נגדיר

[Ri,j,θ]kl =

cos θ k, l = i, i

sin θ k, l = i, j

− sin θ k, l = j, i

cos θ k, l = j, j

1 other diagonal elements

0 otherwise

ידי: על מוגדרים איבריה ,A′

= Ri,j,θ ·A · R⊤i,j,θ מהצורה במטריצה נתבונן כעת

A′

kl =(cos2 θ − sin2 θ

)Akl + sin θ cos θ (Akk −All)

הוא: שלה שהפתרון משוואה נקבל ללכסן) (כדי A′

kl = 0 ש־ נדרוש אם Akl 6= 0 ש־ כך k 6= l בהנתן

2 cot (2θ) =cos2 θ − sin2 θ

sin θ cos θ=

Akk −All

Akl

=⇒ θ =1

2cot−1

(Akk −All

2Akl

)

את ללכסן כדי איטרטיבי באופן הזה בתהליך להשתמש נרצה אנחנו .A′

kl = 0 ש־ לכך תוביל כנ"ל θ של בחירה כלומר

מאופסים. ישארו לא איפסנו שכבר שהאיברים להיות יכול שלב עוד וביצענו אחד בשלב ערך איפסנו שאם ברור אך Aאי־השוויון מתקיים i 6= j של בחירה שלכל להראות אפשר Ri,j,θ המטריצות של תכונות סמך על אולם,

∥∥∥A

′∥∥∥

2

FO=∑

k 6=l

A′2kl <

i6=j

A2kl = ‖A‖2FO

שאינם האיברים של במשקל רק שמתחשבת האלכסון) ללא פרוביניוס (נורמת ‖B‖FO =√∑

k 6=l B2kl בנורמה כלומר

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

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

Jacobi-Iteration(A):

set R(0) = I , A(0) = A

While∥∥A(n)

∥∥FO

> ε:

find k 6= l such that A(n)kl 6= 0:

compute θ = 12 cot

−1

(

A(n)kk

−A(n)ll

2A(n)kl

)

58

Page 59: Numerical Analysis

סימטריות): מטריצות (עבור Jacobi Iteration שיטת 5.4:(Eigen-Decomposition) ספקטרליים פירוקים 5

update R(n+1) = Rk,l,θ ·R(n)

update A(n+1) = Rk,l,θA(n)R⊤

k,l,θ

end

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

היא R(n) המטריצה .A של לע"ע הקירוב הם A(n) של האלכסון וערכי Λ האלכסונית המטריצה עבור הקירוב היא

להראות ואפשר O(N3)הוא איטרציה כל של החישוב זמן .A של לו"ע קירוב הן עמודותיה ולכן U עבור הקירוב

.O (log ε) הוא התכנסות עבור הנדרש האיטרציות שמספר

59