תוספות
cover image

חדו"א 1
יד ביד

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

למעשה, פולינומי טיילור רק מתחילים את סיפורו של טיילור, והוא מגיע לשיאו בהמשך הקורס או בקורסי המשך כשלומדים על טורי טיילור. נזרוק מילה על אותם “טורים” כהעשרה בסוף הפרק זה.

לי יש עוד סיבה אישית לכתוב את הסולחה הזו: טיילור, בדומה לרציפות במידה שווה, הוא נושא שלעיתים קרובות מאוד מוצא את דרכו למבחן. כלומר, לא להבין לעומק את הנושא של טיילור זה לסכן 20-0 נקודות בלי למצמץ. כמו נושאים אחרים (או לפחות רוב הנושאים) במתמטיקה, גם לרעיון של פולינומי טיילור יש הרבה הגיון בסופו של דבר, ואם עוברים על התאוריה לאט לאט לפעמים מגלים שהיא לא נוראית.

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

פונקציות הן מסובכות

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

חישוב ערכי פונקציות

קחו למשל את הפונקציה sin(x)\sin\left(x\right). כולכם וודאי יודעים לחשב את sin(0)\sin(0^{\circ}) או sin(90)\sin\left(90^{\circ}\right). חלקכם אולי עדיין זוכרים את sin(30)\sin\left(30^{\circ}\right). אבל מי מכם, אבירים ואבירות, יכול לספר לנו מה הוא הערך של sin(37)\sin\left(37^{\circ}\right). כן כן, הסינוס של 37 מעלות. אני במצבים כאלו פונה לידידי הטוב – המחשבון – ושואל אותו את אותה שאלה. אם המחשבונים שלכם דומים לשלי, כנראה גם אתם תקבלו את התשובה sin(37)=0.6018150232\sin\left(37^{\circ}\right)=0.6018150232 אך יש לי בשורה קשה לבשר. זה לא הערך של sin(37)\sin\left(37^{\circ}\right). למזלנו זה גם לא מספר כל כך רחוק ממנו. הסיבה שזה לא sin(37)\sin\left(37^{\circ}\right) היא ש- sin(37)\sin\left(37^{\circ}\right) הוא מספר אי-רציונלי. תכונה מהותית של מספרים אי-רציונלים היא שהפיתוח העשרוני שלהם אינו מחזורי בשום שלב.

מה הכוונה במחזורי? בואו נקח לדוגמה מספר רציונלי, 13\frac{1}{3}. הפיתוח העשרוני שלו כפי שאנו יודעים כיום הוא 13=0.33\frac{1}{3}=0.3\overline{3} ראיתם את הקו הזה שהשלוש קיבל בסוף? זו דרך מקובלת לסמן “ומכאן זה ממשיך עם עוד ספרות של 3 לנצח נצחים”.

בקיצור החל מהספרה הראשונה, הפיתוח העשרוני של 13\frac{1}{3} חוזר על עצמו. זה נכון גם למספר הרציונלי 12\frac{1}{2}. איך? ככה 12=0.500\frac{1}{2}=0.50\overline{0}

רק שכאן התבנית המחזורית מתחילה החל מהספרה השנייה. יש מספרים שהתבנית המחזורית שלהם היא קצת יותר מורכבת, כמו למשל 17=0.142857\frac{1}{7}=0.\overline{142857} כלומר אותן 6 ספרות חוזרות על עצמן כל הזמן.

זה יפה במספרים רציונליים, אבל במספרים אי-רציונליים אין תבנית שחוזרת על עצמה. וכשהמחשבון מחזיר לנו את הערך 0.60181502320.6018150232 הוא למעשה מתכוון 0.6018150232000.60181502320\overline{0}, כלומר שאחרי הספרות שהוא מחזיר יש רק אפסים. באותו מידה הוא יכל להחזיר לנו את המספר הרציונלי 60181502321010\frac{6018150232}{10^{10}} עכשיו תחשבו רגע מה זה אומר לדעת את הערך של מספר אי-רציונלי. זה אומר לדעת את כל הספרות שלו אחרי הנקודה העשרונית. אבל אם הן אף פעם לא חוזרות על עצמן, ויש אינסוף ספרות, זאת אומרת שלדעת מספר אי-רציונלי דורש ממנו כמות אינסופית של ספרות – רק בשביל לזכור מספר אחד!

מפחיד קצת. אז מה עושים בפועל? לא זוכרים את כל הספרות, זוכרים רק חלק. זה בדיוק מה שהמחשבון שלכם מציג כשאתם מחשבים את sin(37)\sin\left(37^{\circ}\right). נשמע קצת חובבני אבל היי, הנחיתו ככה אנשים על הירח ב-1969. הנקודה היותר מעניינת היא, שה-10 ספרות שהמחשבון כן מציג, הן מדויקות. כלומר אם בעזרת קסמים היינו יכולים לראות את הפיתוח העשרוני המלא (והאינסופי) של sin(37)\sin\left(37^{\circ}\right), אלו היו 10 הספרות הראשונות בו.

איך אגב אני יודע ש-sin(37)\sin\left(37^{\circ}\right) הוא אי-רציונלי? שמח ששאלתם. מתמטיקאי קנדי בשם אייבן נייבן (Ivan Niven) הוכיח משפט שזכה לשם המפתיע “משפט נייבן” לפיו בטווח הזוויות 0900^{\circ}-90^{\circ} הערכים הרציונליים היחידים θ\theta עבורם sin(θ)\sin\left(\theta\right) הוא גם רציונלי הם 00^{\circ}, 3030^{\circ} ו-9090^{\circ}. כלומר עבור כל מספר רציונלי אחר, למשל 3737^{\circ}, נקבל כי הסינוס שלו אינו רציונלי.

מספיק עם ההעשרה, איך המחשבון יודע לחשב את עשר הספרות האלו? אני אתן לכם טוויסט מעניין כבר עכשיו: המחשבון משתמש רק ב-4 פעולות חשבון יסודיות כדי לחשב את הערך הזה.

דרך אגב, סינוס היא לא הבעיה היחידה. זה נכון גם לשאר הפונקציות הטריגונומטריות ולעוד פונקציות חשובות כמו ex\mathrm{e}^{x} ו-ln(x)\ln\left(x\right).

חישוב אינטגרלים

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

תזכורת קטנה מימי התיכון הזוהרים: למדנו על דבר שנקרא אינטגרל מסויים, זה למעשה מכשיר שמקבל פונקציה f(x)f\left(x\right), ותחום [a,b]\left[a,b\right] ומחזיר את השטח תחת הפונקציה גרף f(x)f\left(x\right) בין הנקודות aa ל-bb. נהוג לסמן את החישוב הזה כך abf(x)dx\int_{a}^{b}f\left(x\right)\mathrm{d}x בתיכון למדנו איך מחשבים את השטח הזה בעזרת הפונקציה הקדומה. הפונקציה הקדומה, F(x)F\left(x\right), היא הפונקציה שאם גוזרים אותה מקבלים את הפונקציה המקורית, כלומר F(x)=f(x)F'\left(x\right)=f\left(x\right). השיטה עובדת באופן הבא abf(x)dx=F(b)F(a)\int_{a}^{b}f\left(x\right)\mathrm{d}x=F\left(b\right)-F\left(a\right) לכן כל מה שצריך כדי להיות מסוגלים לחשב את השטח תחת פונקציה מסויימת f(x)f\left(x\right), זה לדעת מה היא הפונקציה הקדומה לה F(x)F\left(x\right).

בענף ההסתברות המכובד, ישנה פונקציה מאוד חשובה, שגרסתה הפשוטה ביותר היא ex2\mathrm{e}^{-x^{2}}.

פעמון גאוס
פעמון גאוס

הצורה המכובדת הזו זכתה לשם פעמון גאוס, או פשוט גאוסיאן. מה שבאמת חשוב בפונקציה הזו, זה השטח תחתה, זה שהיינו מקבלים אם היינו מחשבים את האינטגרל abex2dx\int_{a}^{b}\mathrm{e}^{-x^{2}}\mathrm{d}x השטח תחת הפונקציה קשור להסתברות שדברים יקרו, ולכן הוא חשוב. אז מה הבעיה אתם שואלים? בואו נמצא את הפונקציה הקדומה של ex2\mathrm{e}^{-x^{2}} ונשתמש בשיטה המגניבה מהתיכון. אז הנה הבעיה: לפונקציה הקדומה של ex2\mathrm{e}^{-x^{2}} אין צורה אלמנטרית. כלומר אין אריתמטיקה והרכבה של פונקציות אלמנטריות שמהווה את הפונקציה הקדומה הזו. האם זה אומר שאין פונקציה כזו? חמור מכך, יש משפט שמוכיח שחייבת להיות פונקציה כזו! משפט די בסיסי בחדו”א מבטיח שלכל פונקציה רציפה יש פונקציה קדומה, אבל לצערנו הוא לא מבטיח שיהיה ניתן לכתוב אותה כאריתמטיקה והרכבה של פונקציות אלמנטריות. זה לא ממש מיוחד רק לפונקציה הזו, זה נכון לעוד שלל פונקציות כמו sinxx\frac{\sin x}{x} וגם ln(lnx)\ln\left(\ln x\right). רשימה של עוד פונקציות כאלו תוכלו למצוא כאן.

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

פולינומים הם פשוטים

משפחת הפולינומים היא משפחת פונקציות מאוד פשוטה. צורתו הכללית של פולינום מסדר nn היא Pn(x)=anxn+an1xn1++a2x2+a1x+a0P_{n}\left(x\right)=a_{n}x^{n}+a_{n-1}x^{n-1}+\cdots+a_{2}x^{2}+a_{1}x+a_{0} למה אני טוען שאלו פונקציות “פשוטות”? ובכן, מול האתגרים שהוצגו קודם הן מאוד פשוטות. כדי לחשב למשל את הערכים שלהן עבור xx-ים שונים, צריך רק לדעת כפל, חיבור וחיסור. נניח שיש לנו את הפולינום P(x)=2x417x+3P(x)=2x^{4}-17x+3 ואנו רוצים לדעת את הערך שלו ב-x=5x=5. כל מה שנצטרך לעשות זה:

  1. לחבר ל-33 את 17517\cdot5.
  2. לחבר לתוצאה הזו את 2542\cdot5^{4}.

אולי להעלות את 5 בחזקת 4 זה לא כיף חיים, אבל זה לא שאנחנו לא יודעים איך לעשות את זה.

גם הסיפור עם האינטגרלים הוא מאוד פשוט. יש כלל שעובד תמיד עבור ביטויים מהצורה cxnc\cdot x^{n}, והוא אומר שהפונקציה הקדומה לביטוי כזה היא cn+1xn+1\frac{c}{n+1}x^{n+1}. מאחר שהאינטגרלים (כמו הנגזרות) פועלים באופן לינארי, לא קשה לחשב את הפונקציה הקדומה של כל פולינום.

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

בואו נחליף את הפונקציות המסובכות בפולינומים!

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

קחו לדוגמה את סינוס. לסינוס יש אינסוף נקודות קיצון. ומה עם פולינומים? האם לפולינומים יכולות להיות אינסוף נקודות קיצון? בואו נעשה קצת חושבים. אם הפולינומים שלנו מסדר 1, דהיינו P(x)=a1x+a0P\left(x\right)=a_{1}x+a_{0}, כמה נקודות קיצון יהיו לו לכל היותר? אפס – זה קו ישר.

ואם הפולינום שלנו הוא מסדר 2, דהיינו P(x)=a2x2+a1x+a0P\left(x\right)=a_{2}x^{2}+a_{1}x+a_{0}, כמה נקודות קיצון יהיו לו לכל היותר? אחת – זו פרבולה.

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

התבנית הזו ממשיכה גם לסדרים גבוהים יותר. לפולינום מסדר nn יהיו לכל היותר n1n-1 נקודות קיצון. אז האם פולינום מסדר כלשהו יוכל אי פעם לקבל אינסוף נקודות קיצון? התשובה היא לא1.

בואו נקח עוד דוגמה לכישלון הפולינומים לייצג כל פונקציה. קחו לדוגמה את הפונקציה ex\mathrm{e}^{x}. אנחנו יודעים שהפונקציה הזו שואפת לאינסוף מהר מאוד. כמה מהר? מהר יותר מכל פולינום. הדרך להראות את זה היא בעזרת כלל לופיטל. נניח שיש לנו פולינום מסדר nn כלשהו ואנחנו עושים קרב השאפות limxxnex\lim_{x\to\infty}\frac{x^{n}}{\mathrm{e}^{x}} במצב כזה אם הגבול יצא \infty סימן שהמונה שואף יותר מהר לאינסוף, ואם הגבול יוצא 00 אז המכנה הוא דווקא המהיר מבין השניים. בחישוב ראשוני נראה כי ערך הגבול הוא “\frac{\infty}{\infty}”, ולכן (מאחר שעוד כמה תנאים חשובים מתקיימים) זו הזדמנות מצויינת להשתמש בכלל לופיטל. גזירת המכנה משאירה אותו כפי שהוא וגזירת המונה נותנת nxn1nx^{n-1}. אם נקח את הגבול עכשיו limxnxn1ex\lim_{x\to\infty}\frac{nx^{n-1}}{\mathrm{e}^{x}} נקבל שוב “\frac{\infty}{\infty}”. תכונה נחמדה שלא הרבה מכירים היא, שאם תנאי המשפט מתקיימים, אפשר להשתמש שוב בלופיטל. גזירה נוספת תשאיר את המכנה כמו שהוא ותוריד את המונה בעוד מעלה. אם נמשיך באופן הזה nn פעמים נגיע למצב של הגבול limxn!ex\lim_{x\to\infty}\frac{n!}{\mathrm{e}^{x}} (מוזמנים להמשיך לגזור ולהשתכנע שזה אכן כך.) אבל את ערך הגבול הזה אנחנו יודעים – אפס. ולכן שרשרת הלופיטלים הזו גוררת כי גם הגבול המקורי בו התעניינו הוא אפס. שימו לב שלא הנחנו שום דבר על סדר הפולינום ולכן זה נכון לכל סדר. כלומר כל סדר סופי של פולינום ישאף חלש יותר לאינסוף מ-ex\mathrm{e}^{x}.

בקיצור, נראה שהרעיון שלנו להחליף פונקציות בפולינומים לא באמת יעבוד. לפחות לא לכל xRx\in\mathbb{R}. אבל מה אם נתפשר?

הפשרה

בואו נחזור רגע לאתגרים שהציבו לנו הפונקציות המסובכות בהתחלה. רצינו נניח לחשב את sin(37)\sin\left(37\right) (נעזוב רגע את המעלות ונעבוד ברדיאנים). אם היינו רוצים למצוא פולינום שיחליף את סינוס לצורך חישוב sin(37)\sin\left(37\right), האם באמת יש צורך בפולינום שיקבל את אותם הערכים כמו sin(x)\sin\left(x\right) לכל xx? ברור שלא. ספציפית עבור החישוב הזה, מצידנו שיקבל את הערך הנכון רק ב-x=37x=37 ויחזיר 4.244.24 לכל xx אחר.

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

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

שתי התכונות של כל קירוב

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

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

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

הדבר הראשון הוא הערכת השגיאה. חייבת להיות לנו איזו שיטה (שמגובה מן הסתם במשפטים מתמטיים) להעריך כמה הקירוב שלנו קרוב (או רחוק) מהערך האמיתי שאנחנו מעוניינים בו. כמובן שלא נוכל לדעת במדויק מה השגיאה, שכן אז נוכל לתקן את הקירוב שלנו לערך המדויק, מה שלא יכולנו לעשות מלכתחילה. אבל גם ידיעת סדר גודל השגיאה זה דבר טוב. חשבו רגע על המחשבון שלי שחישב את sin(37)\sin\left(37^{\circ}\right). הוא החזיר לי 10 ספרות אחרי הנקודה העשרונית. אם שיטת הקירוב יכולה להבטיח שהשגיאה שהיא נותנת היא בסדר גודל של 101110^{-11}, אז כנראה שעשר הספרות שחישבנו הן באמת הספרות האמיתיות של הערך הרצוי, והשגיאה קטנה כל כך שהיא תשפיע רק על הספרה ה-11 והלאה.

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

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

פולינומי טיילור

בואו נמציא את פולינומי טיילור. כן כן, נגלה יחדיו איך הם עובדים. נעשה את זה על ידי משחק. באיור הבא מוצג לכם בשחור גרף הפונקציה f(x)=exf\left(x\right)=\mathrm{e}^{x}. בקורס הוכחתם או תוכיחו כי e\mathrm{e} הוא אינו מספר רציונלי, ולכן חישוב ערכי הפונקציה עבור ערכי xx שאינם 00 זה לא דבר פשוט.

אנחנו נתחיל את המשחק בניסיון למצוא פולינום מסדר 0 – פונקציה קבועה – שיהיה קרוב במיוחד ל-ex\mathrm{e}^{x} בסביבת ראשית הצירים. (למעשה המשפט הזה רומז שנקודת הפיתוח שלנו היא x0=0x_{0}=0.) הפולינום שלנו כרגע הוא מהצורה P(x)=a0P\left(x\right)=a_{0} בתחתית הגרף יש לכם בקר ששולט על הערך של a0a_{0}. נסו לשחק איתו והביאו אותו למצב בו נקבל קירוב טוב במיוחד ל-f(x)f\left(x\right) בסביבת x0=0x_{0}=0.

במקרה הזה אין באמת הרבה אפשרויות טובות, והבחירה הטובה ביותר תהיה כזו בה הפולינום שלנו חותך את גרף הפונקציה ב-x=0x=0. כלומר הבחירה הטובה היא P(0)=a0=f(0)=1P\left(0\right)=a_{0}=f\left(0\right)=1

מימין לאיור יש כפתור שנקרא ORDER, הוא קובע את סדר הפולינום. העלו את סדר הפולינום כך שיהיה ממעלה 1. כלומר אנו עובדים עם פולינום מהצורה P(x)=a0+a1xP\left(x\right)=a_{0}+a_{1}x

עתה נוסף לכם בקר חדש ששולט על הערך של a1a_{1}. לעת עתה, השאירו את a0=1a_{0}=1 כפי שהיה קודם. נסו לשנות את הערך של a1a_{1} כך שבסביבת הראשית, הפולינום שלנו יהיה קרוב במיוחד לערך הפונקציה. שימו לב שבאזור הראשית ex\mathrm{e}^{x} היא פונקציה עולה, ולכן טבעי ש-a1a_{1}, אשר קובע את שיפוע הישר שלנו, יהיה חיובי. אך איזה ערך של a1a_{1} מחמם את הלב במיוחד? זה שהופך את הישר שלנו לישר המשיק לגרף הפונקציה בראשית. זכרו ששיפוע המשיק לפונקציה בנקודה מסויימת הוא בדיוק ערך הנגזרת של הפונקציה באותו נקודה. לכן על מנת לקבל את הערך האופטימלי ל-a1a_{1}, נבחר כך ש- P(0)=a1=f(0)=1P'(0)=a_{1}=f'\left(0\right)=1

למה אינטואיטיבית זה היה רעיון טוב? ובכן, אחרי שקיבענו את a0a_{0}, אנחנו יודעים שבנקודת הפיתוח (הראשית) הפונקציה והפולינום שלנו מתלכדים. כאשר העלנו את סדר הפולינום להיות 1, הוספנו לו את היכולות להשתנות עם שינוי ב-xx. כאשר קבענו ששיפוע הישר שלנו יהיה כשיפוע המשיק, אנחנו בעצם דואגים שקרוב מאוד לראשית הישר שלנו והפונקציה שלנו משתנים באותו הקצב. אגב שימו לב שכל ניסיון לשנות עכשיו את a0a_{0} יהפוך את הקירוב שלנו לפחות טוב.

הקירוב שקיבלנו כבר טוב הרבה יותר מהקירוב הקודם, ונראה שהפונקציות מתלכדות בתחום [0.1,0.1]\left[-0.1,0.1\right]. תעלו עכשיו בעזרת הכפתור ORDER את סדר הפולינום להיות 2, דהיינו פרבולה P(x)=a0+a1x+a2x2P\left(x\right)=a_{0}+a_{1}x+a_{2}x^{2}

שוב, יתווסף בקר חדש השולט על ערכו של a2a_{2}. שחקו איתו ונסו ליצור קירוב טוב יותר בעזרתו. שימו לב שהפונקציה ex\mathrm{e}^{x} “מקופלת” כלפי מעלה. כידוע עבור פרבולות, אם המקדם של x2x^{2} חיובי אז הפרבולה מקופלת כלפי מעלה, ואם הוא שלילי אז היא מקופלת כלפי מטה. לכן הגיוני כי ערך טוב ל-a2a_{2} יהיה חיובי. אך כמה חיובי?

הפעם קצת קשה יותר לשים את האצבע מה הוא הערך האופיטמלי. לדעתי נראה שהוא בין 0.40.4 ל-0.60.6. זכרו שהמטרה שלנו היא למצוא את הקירוב הטוב ביותר בסביבת x=0x=0. אולי אנחנו יכולים להעזר בקו המחשבה בבחירת a0a_{0} ו-a1a_{1}. המקדם a2a_{2} שולט כמה מהר משתנה קצב השינוי של הפולינום, כלומר כמה מהר גדלה הנגזרת. כמו מקודם, מאחר שדאגנו שהנגזרות של הפולינום והפונקציה יהיו שוות בראשית, שווה לדאוג שהן גם ישתנו בקצב זהה סביב הראשית. לפיכך בחירה מושכלת ל-a2a_{2} תגיע מהשוואת נגזרות שניות, כלומר P(0)=2a2=f(0)=1P''\left(0\right)=2a_{2}=f''\left(0\right)=1 כלומר נבחר a2=12a_{2}=\frac{1}{2}. שימו לב שהקירוב החדש שלנו נראה מאוד דומה לפונקציה כאשר xx נע בין 0.5-0.5 ל-0.50.5.

אתן לכם עכשיו עוד הסבר אינטואטיבי לאופן בו אנו בוחרים את המקדמים. נניח שבדרך קסם, הצלחנו למצוא את המקדמים כך שבסביבת נקודת הפיתוח (כרגע x0=0x_{0}=0), מתקיים כי הפולינום שלנו מאוד קרוב לערך הפוקנציה, כלומר f(x)a0+a1x+a2x2+an1xn1+anxnf\left(x\right)\approx a_{0}+a_{1}x+a_{2}x^{2}\cdots+a_{n-1}x^{n-1}+a_{n}x^{n}

מאחר שהשיוויון הזה נכון בסביבת x=0x=0, זה נכון גם עבור הנגזרת f(x)a1+2a2x++(n1)an1xn2+nanxn1f'\left(x\right)\approx a_{1}+2a_{2}x+\cdots+\left(n-1\right)a_{n-1}x^{n-2}+na_{n}x^{n-1} וגם עבור הנגזרת השנייה f(x)2a2++(n1)nanxn2f''\left(x\right)\approx2a_{2}+\cdots+\left(n-1\right)na_{n}x^{n-2} וכך עד הנגזרת ה-nn-ית f(n)(x)123(n1)nan=n!anf^{\left(n\right)}\left(x\right)\approx1\cdot2\cdot3\cdots\left(n-1\right)\cdot na_{n}=n!a_{n} עבור הצבת x=0x=0 נקבל את מערכת השיווניום {f(0)=a0f(0)=a1f(0)=2a2f(n)(0)=n!an\begin{cases} f\left(0\right)=a_{0}\\ f'\left(0\right)=a_{1}\\ f''\left(0\right)=2a_{2}\\ \vdots\\ f^{\left(n\right)}\left(0\right)=n!a_{n} \end{cases} כלומר המקדמים בייצוג הפולינומיאלי של הפונקציה הם כאלו שיצרו שיוויון נגזרות בנקודת הפיתוח f(x)f(0)+f(0)x+f(0)2x2+f(n1)(0)(n1)!xn1+f(n)(0)n!xnf\left(x\right)\approx f\left(0\right)+f'\left(0\right)x+\frac{f''\left(0\right)}{2}x^{2}\cdots+\frac{f^{\left(n-1\right)}\left(0\right)}{\left(n-1\right)!}x^{n-1}+\frac{f^{\left(n\right)}\left(0\right)}{n!}x^{n}

ומה עושים אם רוצים להזיז את נקודת הפיתוח? למשל שהפולינום יהיה קרוב לפונקציה בסביבת נקודה אחרת, נניח x0x_{0} כללית? אז פשוט דורשים שיוויון נגזרות ב-x0x_{0} במקום בראשית. דבר נחמד שנוהגים לעשות במצב כזה הוא להגדיר את הפולינום ביחס לנקודת הפיתוח P(x)=a0+a1(xx0)+a2(xx0)2+an1(xx0)n1+an(xx0)nP\left(x\right)=a_{0}+a_{1}\left(x-x_{0}\right)+a_{2}\left(x-x_{0}\right)^{2}\cdots+a_{n-1}\left(x-x_{0}\right)^{n-1}+a_{n}\left(x-x_{0}\right)^{n} הסיבה לכך היא שמערכת המשוואות שמתקבלת עבור המקדמים מהשוואת נגזרות היא כזאת שלכל משתנה יש משוואה אחת בה הוא מופיע בה. אם זה לא הכי ברור לכם, נסו לכתוב את מערכת המשוואות שיוצאת מהשוואת נגזרות בנקודה x0x_{0} בעודכם משתמשים בצורת הפולינום המקורית שהצגנו.

שימו לב למשהו חשוב בנוגע לקיום של פולינום טיילור. על מנת להרכיב את הפולינום אנחנו חייבים כי הפונקציה תהיה גזירה בנקודת הפיתוח, ומספר הפעמים שהיא צריכה להיות גזירה צריך להיות לפחות הסדר של הפולינום שאנו רוצים לייצר שם. על מנת לקבוע את המקדמים של פולינום טיילור מסדר nn, נדרשנו לדעת את הנגזרות של הפונקציה בנקודת הפיתוח עד סדר nn. עוד דבר חשוב שעולה מזה הוא שאנחנו צריכים לדעת לחשב את הנגזרות בנקודת הפיתוח במדויק, בלי טריקים. לא סתם פיתחנו פולינום טיילור של ex\mathrm{e}^{x} סביב x=0x=0. בנקודה x=0x=0 כל הנגזרות של הפונקציה הן גם ex\mathrm{e}^{x} וערכן ב-x=0x=0 הוא 11. עבור כל xx אחר אין לנו דרך לדעת את ערכי הנגזרות במדויק.

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

קיום הרגולציות

משפט טיילור אומר כי

משפט טיילור

תהי ff גזירה n+1n+1 פעמים בסביבת הנקודה x0x_{0} ותהי xx נקודה כלשהי בסביבה. נסמן ב-Pn(x)P_{n}\left(x\right) את פולינום טיילור של ff מסדר nn סביב x0x_{0}. אזי קיימת נקודה cc בין xx לבין x0x_{0} כך שמתקיים f(x)=Pn(x)+Rn(x)f\left(x\right)=P_{n}\left(x\right)+R_{n}\left(x\right) כאשר Rn(x)=f(n+1)(c)(n+1)!(xx0)n+1R_{n}\left(x\right)=\frac{f^{\left(n+1\right)}\left(c\right)}{\left(n+1\right)!}\left(x-x_{0}\right)^{n+1}

אז מה הסיפור כאן? ראשית לקחנו איזו פונקציה מסובכת ff שאנחנו יודעים שיש לה n+1n+1 נגזרות סביב נקודה מסויימת (נקודת הפיתוח x0x_{0}), ואנחנו מעוניים לחשב את ערכה בנקודה xx שנמצאת בסביבת הגזירות הזו. המשפט אומר לנו שערך הפונקציה בנקודה זו f(x)f\left(x\right) שווה לערך הפולינום שלנו בנקודה זו Pn(x)P_{n}\left(x\right) ועוד שגיאה Rn(x)R_{n}\left(x\right). עד כה שום דבר לא מפתיע. הקאצ’ הוא שהמשפט נותן לנו צורה לאותה שגיאה, וספציפית Rn(x)=f(n+1)(c)(n+1)!(xx0)n+1R_{n}\left(x\right)=\frac{f^{\left(n+1\right)}\left(c\right)}{\left(n+1\right)!}\left(x-x_{0}\right)^{n+1} שימו לב שזו רק הערכה לשגיאה, מהסיבה שהמשפט לא מספר לנו מה הוא cc, אלא רק מבטיח כי קיים כזה וכי הוא נמצא בין הנקודה שלנו xx לנקודת הפיתוח.

איך זה יכול לעזור לנו? ובכן אם אנחנו מכירים קצת את הפונקציה שלנו ואת נגזרותיה, אולי אנחנו יודעים לומר משהו על הביטוי f(n+1)(c)f^{\left(n+1\right)}\left(c\right) גם בלי לחשב אותו במפורש. נניח למשל שאנחנו רוצים לחשב את הערך של e\mathrm{e}. אפשר לראות את זה כמקרה פרטי של חישוב ערך הפונקציה f(x)=exf\left(x\right)=\mathrm{e}^{x} כאשר x=1x=1. בואו ננסה להפעיל את המשפט.

נניח שיש לנו סבלנות לחשב פולינום טיילור רק מסדר 1 סביב x0=0x_{0}=0. כדי להשתמש במשפט אנחנו צריכים שהנקודה בה אנחנו מעוניינים בערך הפונקציה xx תהיה בתוך הסביבה בה הפונקציה שלנו גזירה 2=1+1=n+12=1+1=n+1 פעמים. הסביבה די נתונה לבחירתנו כי ff הנוכחית גזירה בכל R\mathbb{R} אינסוף פעמים. אז נניח שאנחנו משתמשים במשפט טיילור בסביבה (2,2)\left(-2,2\right). זו סביבה של נקודת הפיתוח x0=0x_{0}=0 שם הפונקציה ff גזירה פעמיים. מה אומר משפט טיילור עבור x=1x=1? שקיימת נקודה cc בין x0=0x_{0}=0 לבין x=1x=10<c<10<c<1 – כך שמתקיים exf(x)=1+xP1(x)+R1(x)\underbrace{\mathrm{e}^{x}}_{f\left(x\right)}=\underbrace{1+x}_{P_{1}\left(x\right)}+R_{1}\left(x\right) וספציפית עבור x=1x=1 נקבל e=2+R1(1)\mathrm{e}=2+R_{1}\left(1\right) ולפי משפט טיילור, גודל השגיאה שלנו יהיה R1(1)=f(n+1)(c)(n+1)!(xx0)n+1=f(c)2!(10)2=ec2!(10)2=ec2\begin{aligned}\left|R_{1}\left(1\right)\right| & =\left|\frac{f^{\left(n+1\right)}\left(c\right)}{\left(n+1\right)!}\left(x-x_{0}\right)^{n+1}\right|\\ & =\left|\frac{f^{''}\left(c\right)}{2!}\left(1-0\right)^{2}\right|\\ & =\left|\frac{\mathrm{e}^{c}}{2!}\left(1-0\right)^{2}\right|\\ & =\frac{\mathrm{e}^{c}}{2} \end{aligned} (השתמשנו בערך מוחלט כי ברוב המקרים לא אכפת לנו אם השגיאה חיובית או שלילית, אלא רק גודלה.) מה זה עוזר לנו? אנחנו יכולים להשתמש בידע קודם ש-f(x)f\left(x\right) היא פונקציה עולה, ש-c<1c<1, ושאנחנו יודעים נגיד ש-e<3\mathrm{e}<3. ולכן R1(1)=ec2<e12<32\left|R_{1}\left(1\right)\right|=\frac{\mathrm{e}^{c}}{2}<\frac{\mathrm{e}^{1}}{2}<\frac{3}{2}

כלומר ההערכה שלנו ש-e2\mathrm{e}\approx2 רחוקה לכל היותר ב-1.51.5 יחידות מהערך האמיתי. וזה באמת נכון.

אתם יכולים קצת להתבאס שכן זה קירוב די מעאפן. אז בואו אראה לכם עוד שימוש טוב מאוד למשפט טיילור, והוא לקבוע איזה סדר יהיה טוב לנו. נניח שהיינו רוצים שהשגיאה שלנו תהיה קטנה מ-10310^{-3}. אנחנו צריכים לבחור את סדר הפולינום (ובהתאם את סדר השארית). נניח שאנחנו לוקחים פולינום מסדר nn כלשהו (nn הוא הנעלם כרגע שצריך למצוא את ערכו). במקרה של ff שלנו אנחנו יכולים להיות בטוחים שהיא תהיה גזירה n+1n+1 פעמים בסביבת הראשית (נקודת הפיתוח), ולכן עבור x=1x=1 לפי משפט טיילור, קיימת 0<c<10<c<1 כך שמתקיים שהשגיאה בחישוב ערך הפונקציה היא Rn(1)=f(n+1)(c)(n+1)!(10)n+1=ec(n+1)!<3(n+1)!\begin{aligned}\left|R_{n}\left(1\right)\right| & =\left|\frac{f^{\left(n+1\right)}\left(c\right)}{\left(n+1\right)!}\left(1-0\right)^{n+1}\right|\\ & =\frac{\mathrm{e}^{c}}{\left(n+1\right)!}\\ & <\frac{3}{\left(n+1\right)!} \end{aligned} כלומר אנחנו רואים שהשגיאה נופלת בקצב של 1(n+1)!\frac{1}{\left(n+1\right)!}. אז כל מה שאנחנו צריכים זה לבחור nn מספיק גדול (וכשמדובר בעצרות לא נצטרך להתקדם הרבה), למשל n=6n=6, ונקבל שהשגיאה חסומה על ידי Rn(1)<37!0.0005<103\left|R_{n}\left(1\right)\right|<\frac{3}{7!}\approx0.0005<10^{-3}

משפט טיילור מבטיח לנו דרך להעריך את השגיאה שלנו, אם אנחנו יודעים דבר או שניים על הנגזרות של הפונקציה שאנחנו מקרבים (כדי להעריך את f(n+1)(c)f^{\left(n+1\right)}\left(c\right) על אף שלא יודעים את cc). בנוסף, ראינו בדוגמה האחרונה עובדה חיה ונושמה שהעלאת סדר הפולינום משפרת את השגיאה. אך זה לא במקרה, התופעה שחזינו בה מתוארת במשפט רחב יותר שנדון בו בקרוב.

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

משפט – קצב קטינת השארית בדרך לנקודת הפיתוח

תהי ff גזירה nn פעמים בנקודה x0x_{0} ויהי Pn(x)P_{n}\left(x\right) פולינום טיילור של ff סביב x0x_{0} מסדר nn. נסמן Rn(x)=f(x)Pn(x)R_{n}\left(x\right)=f\left(x\right)-P_{n}\left(x\right) אזי מתקיים limxx0Rn(x)(xx0)n=0\lim_{x\to x_{0}}\frac{R_{n}\left(x\right)}{\left(x-x_{0}\right)^{n}}=0

מה כל כך מיוחד במשפט הזה? בואו נבין לעומק. כאשר xx שואף ל-x0x_{0}, המכנה שואף ל-0, ודי מהר אם nn גדול. ומה לגבי המונה? ובכן גם המונה שואף לאפס שכן הקירוב שלנו הוא הכי טוב בנקודה עצמה ובסביבתה הקרובה. אז מה שהמשפט הזה בעצם מספר לנו, זה שעל אף שהמונה והמכנה שואפים שניהם לאפס, המונה שואף הרבה יותר מהר לאפס, ולכן כל המנה הזו גבולה 0. יש הנוהגים להשתמש בסימון אסימפטוטי כדי לתאר את הגבול הזה, ואומרים Rn(x)=o((xx0)n)R_{n}\left(x\right)=o\left(\left(x-x_{0}\right)^{n}\right) או ליתר דיוק Rn(x)o((xx0)n)R_{n}\left(x\right)\in o\left(\left(x-x_{0}\right)^{n}\right). o((xx0)n)o\left(\left(x-x_{0}\right)^{n}\right) זו למעשה קבוצת כל הפונקציה שמקיימות את הגבול שנמצא במשפט הנ”ל.

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

הקטנת השארית בפיתוח טיילור

תהי ff גזירה אינסוף פעמים בסביבת הנקודה x0x_{0}. אם קיים 0<K0<K כך שהנגזרות מכל סדר חסומות על ידיו במשותף, כלומר לכל xx בסביבה זו מתקיים nN:f(n)(x)<K\forall n\in\mathbb{N}:\quad\left|f^{\left(n\right)}\left(x\right)\right|<K אזי לכל xx בסביבה זו מתקיים כי limnRn(x)=0\lim_{n\to\infty}R_{n}\left(x\right)=0

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

התנאי השני הוא קצת יותר בעייתי. הוא דורש מאיתנו למצוא חסם משותף לכל הנגזרות ולכל xx בסביבה. זו עלולה להראות משימה פשוטה. אם הפונקציה גזירה אינסוף פעמים נניח, והסביבה של x0x_{0} היא קטע סגור, אז למעשה כל פונקציה היא רציפה בקטע סגור ולכן חסומה שם לפי ויירשטראס. אהא! אבל ויירשטראס לא מבטיח שלכל נגזרת יהיה את אותו החסם. ולכן זהו לא תנאי מאוד טריוואלי ולפעמים דורש עבודה על מנת למצוא לו מועמד מתאים.

במקרה של ex\mathrm{e}^{x} הוא כן טריוואלי. חשבו על הדוגמה שראינו קודם. התבוננו בסביבה (2,2)\left(-2,2\right) של הראשית שם ex\mathrm{e}^{x} גזירה אינסוף פעמים. כל הנגזרות גם הן ex\mathrm{e}^{x} ולכן אם הן חסומות לכולם יהיה את אותו החסם. חסם טריוואלי אפשר לקבל מהמונוטוניות עלייה של ex\mathrm{e}^{x} x(2,2):ex<e2<32=9\forall x\in\left(-2,2\right):\quad\mathrm{e}^{x}<\mathrm{e}^{2}<3^{2}=9

ולכן תנאי המשפט אכן תקפים עבור ex\mathrm{e}^{x}.

דוגמה ידועה לפונקציה עבורה המשפט אינו מתקיים היא f(x)=e1/x2f\left(x\right)=\mathrm{e}^{-1/x^{2}}. אני מזמין אתכם להיכנס לדסמוס ולשרטט את הפונקציה ונגזרותיה. טיפ של אלופים: אם תכתוב בשורה הראשונה בדסמוס f(x)=f\left(x\right)=\dots, ולא ישר תכתוב את הביטוי, תוכלו לכתוב בשורות הבאות f(x)f'\left(x\right) ו-f(x)f''\left(x\right) ודסמוס אוטומטית ישרטט לכם את הנגזרות. משרטוט הנגזרות אפשר לראות בוודאות שלא ניתן לחסום אותן במשותף, ולכן תנאי המשפט לא מתקיימים.

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

מה את בדיוק שארית, והאם אפשר להעלים אותך?

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

השארית Rn(x)R_{n}\left(x\right) עשתה בחלק האחרון דבר מאוד מוזר. ראשית היא השתתפה בגבול limxx0Rn(x)(xx0)n=0\lim_{x\to x_{0}}\frac{R_{n}\left(x\right)}{\left(x-x_{0}\right)^{n}}=0 וכן גם בגבול limnRn(x)=0\lim_{n\to\infty}R_{n}\left(x\right)=0 הגבול הראשון הוא גבול על פונקציות כאשר xx שואף ל-x0x_{0}, בעוד הגבול השני הוא גבול על סדרות כאשר nn שואף לאינסוף. זה כמובן מעלה את השאלה מה היא בדיוק השארית: פונקציה או סדרה? אינטואיטיבית (לפחות לי) מרגיש שהיא יותר פונקציה. הרי יש לנו פונקציה שאנחנו רוצים לקרב f(x)f\left(x\right), יש לנו פולינום שמקרב אותה Pn(x)P_{n}\left(x\right), והשארית Rn(x)R_{n}\left(x\right) מודדת לכל xx מה היא השגיאה בין הפונקציה לקירוב. נשמע פונקציה עבורי. אבל באותה מידה יכולנו להתקבע על xx ספיצפי, ולהתחיל להגדיל את סדר הפולינום על מנת לבחון כיצד השארית משתנה. נשמע די סדרתי.

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

  1. לכל nNn\in\mathbb{N}, מקבלים פונקציה Rn(x)R_{n}\left(x\right) במשתנה xx.
  2. לכל xRx\in\mathbb{R}, מקבלים סדרה Rn(x)R_{n}\left(x\right) במשתנה nn.

כלומר זה תלוי מה מקבעים ומה מזיזים. סדרות פונקציות הן אובייקט עשיר במיוחד בתכונותיו. ניתן לבדוק עבור סדרת פונקציות עבור אילו ערכי xx מקבלים סדרה מתכנסת. ניתן לשמור לכל xx את גבולו ולדון בפונקציית הגבול של סדרת הפונקציות R(x)=limnRn(x)R\left(x\right)=\lim_{n\to\infty}R_{n}\left(x\right). ניתן לשאול שאלות כמו: אילו תכונות של הפונקציות בסדרה מועברות בירושה לפונקציית הגבול. האם עצם זה שלכל nNn\in\mathbb{N}, Rn(x)R_{n}\left(x\right) היא פונקציה רציפה אומר שגם פונקציית הגבול R(x)R\left(x\right) תהיה רציפה? האם גזירות מועברת בירושה? האם ניתן לומר משהו על קצב ההתכנסות של הסדרה עבור כל xx ספציפי? אשאיר לכם את הסקרנות להמשך. מעניין לציין שבפרק הזה מתחבאת לה עוד סדרת פונקציות, מזהים מי זו? Pn(x)P_{n}\left(x\right) – הפולינום טיילור שלנו!

שאלה נוספת שנרמזה לאורך כל הפרק הזה קשורה לפולינומים מסדר אינסופי. זוכרים שלפולינום מסדר nn יש לכל היותר n1n-1 נקודות קיצון, וכדי להחליף במדויק את סינוס צריך אינסוף נקודות קיצון? אז אולי אפשר לנסות לסדר את זה. עם פולינום מסדר אינסופי.

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

אז למדתם הרבה בקורס הזה על סדרות ומתי הן מתכנסות ומתי הן לא מתכנסות ושלל תופעות מרתקות אחרות. דבר נוסף שניתן לעשות עם איברי הסדרה זה לסכום אותם. נגיד לסכום nn איברים Sn=a1+a2++anS_{n}=a_{1}+a_{2}+\cdots+a_{n} נהוג גם להשתמש בסימון קצת יותר קומפקטי Sn=k=1nakS_{n}=\sum_{k=1}^{n}a_{k}. לכל nNn\in\mathbb{N}, נקבל סכום חלקי אחרי של הסדרה. למעשה לכל סדרה ניתן לשייך סדרה של סכומים חלקיים S1,S2,,SnS_{1},S_{2},\dots,S_{n} כאשר S1=a1,S2=a1+a2,Sn=k=1nakS_{1}=a_{1},\quad S_{2}=a_{1}+a_{2},\quad S_{n}=\sum_{k=1}^{n}a_{k} ומה למדנו 3 חודשים בקורס הזה כשיש לנו סדרות?? לשאול את עצמנו מה הגבול שלהן. רק שפה אנחנו מטיילים על חבל דק. מה זאת אומרת להסתכל על הגבול של סדרת הסכומים החלקיים? זה אומר להתסכל על limnSn\lim_{n\to\infty}S_{n} שזה בעצם אומר להסתכל על limnk=1nak\lim_{n\to\infty}\sum_{k=1}^{n}a_{k} כלומר להסתכל לאן מתקרב הסכום ככל שסוכמים יותר איברים. יש ניחושים בקהל? ובכן יכולים לקרות המון דברים. זה יכול כמובן להתפוצץ ל-±\pm\infty, אבל זה יכול גם להתכנס למספר סופי. (זה יכול גם לא להתכנס בכלל.) הרבה מהשאלות על סכומים אינסופיים כאלו קשורות באילו תכונות צריכות להיות לסדרה ana_{n}, על מנת שסדרת הסכומים החלקיים שלה תתכנס או לא תתכנס. אגב, כאשר קיים הגבול של סדרת הסכומים החלקיים, נהוג לסמן אותו כך k=1ak\sum_{k=1}^{\infty}a_{k} ולקרוא לו טור (באנגלית Series).

עכשיו נשחק קצת באש. לפני שתי דקות קלות למדנו על סוג חדש של סדרות – סדרות פונקציות. לפני דקה קלה למדנו על משהו חדש שאפשר לעשות עם סדרות – טורים. אתם מבינים לאן אני חותר? כן, אפשר לנסות לעשות סכומים אינסופיים של סדרות פונקציות, הלא הם טורי פונקציות. כמובן שגם כאן אפשר לשאול שאלות רבות על אותם יצורים מופלאים, אבל אני רוצה למקד אותכם בסדרת פונקציות אחת מעניינת An(x)=anxnA_{n}\left(x\right)=a_{n}x^{n} מה כל כך מיוחד בסדרת הפונקציות הזו? ובכן בואו נסתכל על סכום חלקי שלה Pn(x)=k=0nAk(x)=a0+a1x+a2x2++anxnP_{n}\left(x\right)=\sum_{k=0}^{n}A_{k}\left(x\right)=a_{0}+a_{1}x+a_{2}x^{2}+\cdots+a_{n}x^{n} או וואו, זה פולינום. כלומר ניתן להסתכל על כל הפולינומים שאנו מכירים כסכומים חלקיים של סדרת פונקציות. לכן גם כאן אנחנו יכולים להיות שובבים ולקחת גבול nn\to\infty. אם הכל עובר חלק, כמו למשל תחת התנאים של משפט הנגזרות החסומות במשותף, אנחנו נשארים ביד עם טור חזקות. הטור הזה, עבור ערכי xx מסויימים שווה ממש לפונקציה אותו הוא מחליף, וניתן לעשות עליו אינטגרלים ולגזור אותו (תחת תנאים מסוימים כמובן) ובכך לממש את החזון להחליף את הפונקציות המסובכות בפולינומים, בערך.

עבור sin(x)\sin\left(x\right) יש טור חזקות. עבור הפונקציה הקדומה של הפעמון גאוס יש טור חזקות. טורי חזקות הם גם כלי מאוד שימושי לפתרון משוואות דיפרנציאליות חלקיות והם הבסיס לסוג טורים יותר מתוחכם הנקרא “טורי לורן”.

סיכום

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

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


  1. אולי אתם מרגישים את התחושה הקסומה הזאת באוויר. “מה אם היינו יכולים לקחת פולינום מסדר אינסופי”. אלו הם טורי טיילור חברים וחברות, ונדבר עליהם מאוחר יותר. 

החכמתם? נהנתם? מוזמנים להזמין לי כוס קפה :)