אנליזה וקטורית – תכונות בסיסיות של הנגזרת

אז הכרנו את הנגזרת של פונקציה \(f:\mathbb{R}^{n}\to\mathbb{R}^{m}\) וראינו איך אפשר לחשב אותה באמצעות נגזרות חלקיות. בואו נעבור עכשיו לכמה תוצאות תיאורטיות כלליות וקלות יחסית, כדי שנתרגל; עד סוף הפוסט נגיע להצגת תוצאה לא טריוויאלית ושימושית – משפט הפונקציה ההפוכה. אבל נתחיל מהבסיס.

נתחיל בתכונה אחת שנובעת כמעט מייד מכך שפונקציה היא גזירה אבל טרם הראיתי זאת במפורש, והגיע הזמן כי נשתמש בה בהמשך: רציפות. נזכיר ש-\(f\) היא פונקציה רציפה ב-\(a\) אם \(\lim_{x\to a}f\left(x\right)=f\left(a\right)\) – או, באופן שקול, אם \(\lim_{h\to0}f\left(a+h\right)-f\left(a\right)=0\). זו תכונה מאוד מאוד מועילה במקרים רבים כי היא מבטיחה ש-\(f\) לא יכולה "להתפרע" יותר מדי כשמתקרבים לנקודה כלשהי. עכשיו, אם \(f\) גזירה ב-\(a\) היא גם רציפה שם. למה? כי נניח ש-\(\lim_{h\to0}\frac{f\left(a+h\right)-f\left(a\right)-Df\left(a\right)h}{\left|h\right|}=0\) ועכשיו ננסה לכתוב את \(\lim_{h\to0}f\left(a+h\right)-f\left(a\right)\) בעזרת הגבול ההוא:

\(\lim_{h\to0}f\left(a+h\right)-f\left(a\right)=\lim_{h\to0}\left|h\right|\left[\frac{f\left(a+h\right)-f\left(a\right)-Df\left(a\right)\cdot h}{\left|h\right|}\right]+Df\left(a\right)\cdot h\)

ומה קיבלנו פה? גבול שמערב כמה חלקים. ה-\(\left|h\right|\) שואף כמובן לאפס. ה-\(\left[\frac{f\left(a+h\right)-f\left(a\right)-Df\left(a\right)\cdot h}{\left|h\right|}\right]\) גם, כי הנחנו שהפונקציה גזירה. לכן כל המחובר השמאלי שואף לאפס. במחובר הימני אנחנו מקבלים מטריצה קבועה כפול וקטור ששואף לאפס – קל לראות שזה שואף לאפס (טפלו בכל רכיב בנפרד; זו פונקציה רציפה חד ממדית), וזה מסיים את ההוכחה.

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

פונקציה פשוטה במיוחד היא פונקציה קבועה: \(f\left(x\right)=c\) עבור \(c\in\mathbb{R}^{m}\) קבוע כלשהו. מכיוון שעבור פונקציה ממשית קבועה הנגזרת היא 0, נקבל כאן שהנגזרות החלקיות בכל מקום הן 0. אלו נגזרות חלקיות רציפות, ולכן \(f\) המקורית גזירה והנגזרת שלה היא מטריצת אפסים, כלומר \(Df\left(a\right)=0\) כשכאן 0 היא טרנספורמציית האפס. עוד פונקציה פשוטה במיוחד היא טרנספורמציה לינארית \(T:\mathbb{R}^{n}\to\mathbb{R}^{m}\). כאן אפילו אין טעם לדבר על נגזרות חלקיות כשההגדרה הבסיסית עובדת מייד ומראה לנו ש-\(T\) היא (כמובן) הדיפרנציאל של עצמה: \(\lim_{h\to0}\frac{T\left(a+h\right)-T\left(a\right)-T\left(h\right)}{h}=\lim_{h\to0}\frac{T\left(a+h-a-h\right)}{h}=\lim_{h\to0}\frac{T\left(0\right)}{h}=0\). דוגמה לטרנספורמציה לינארית פשוטה שכזו היא חיבור: \(s\left(x,y\right)=x+y\) (זו פונקציה \(s:\mathbb{R}^{2}\to\mathbb{R}\)), אז אנחנו יודעים לגזור גם אותה.

ומה על כפל? \(p:\mathbb{R}^{2}\to\mathbb{R}\) המוגדרת על ידי \(p\left(x,y\right)=xy\)? גזירה חלקית מראה שהנגזרת בנקודה \(\left(a,b\right)\) היא \(\left(b,a\right)\), כלומר הדיפרנציאל הוא \(bx+ay\).

מה שנחמד בפונקציות החיבור והכפל הללו הוא שהן יאפשרו לנו לטפל בחיבור וכפל של פונקציות סקלריות כלליות. למשל, אם \(f,g:\mathbb{R}^{n}\to\mathbb{R}\) ואנחנו מגדירים \(h=f+g\), אז \(h=s\left(f,g\right)\). יש לנו כאן הרכבה של פונקציה \(\mathbb{R}^{n}\to\mathbb{R}^{2}\) שבנויה על הזוג \(\left(f,g\right)\), עם הפונקציה \(s:\mathbb{R}^{2}\to\mathbb{R}\). אם נדע איך לגזור הרכבה, נדע לגזור גם חיבור וכפל של פונקציות, בלי שום מאמץ מחשבתי נוסף מצידנו. אז זו הבעיה שאפתור עכשיו.

הכלל שמתאר את העובדה שהרכבה של פונקציות גזירות הוא גזיר ונותן את הנוסחה לביצוע הגזירה נקרא כלל השרשרת. אתם בוודאי מכירים את הגרסה שלו עבור פונקציות ממשיות. בואו נתחיל מלראות אותה. מאוד קל לזכור את הגרסה הזו אם משתמשים בסימון של לייבניץ לגזירת פונקציות: אם \(f\left(x\right)\) היא פונקציה עם המשתנה היחיד \(x\), אז במקום לכתוב \(f^{\prime}\) (בערך הכתיב שבו ניוטון השתמש), אפשר לכתוב \(\frac{df}{dx}\). אחת הסיבות לכתיב הזה היא שקל לזכור את כלל השרשרת בעזרתו.

אם \(y:\mathbb{R}\to\mathbb{R}\) היא פונקציה, ואנחנו מסתכלים על ההרכבה \(f\left(y\left(x\right)\right)\), אז הנגזרת שלה היא \(\frac{df}{dx}=\frac{df}{dy}\frac{dy}{dx}\). הבעיה היא – וזה משהו שאני מרגיש ביתר שאת עכשיו, כשאני מנסה לכתוב את הפוסט הזה בצורה מסודרת – שזה כתיב מאוד לא פורמלי שקל לאבד בו דקויות. בואו נסתכל שוב על המשוואה \(\frac{df}{dx}=\frac{df}{dy}\frac{dy}{dx}\). כאן נראה ש-\(f\) היא פונקציה של שני משתנים שונים: המשתנה \(x\), באגף שמאל; והמשתנה \(y\), באגף ימין. אבל הרי \(y\) הוא לא באמת משתנה; הוא פונקציה. ומה שמופיע באגף ימין הוא בעצם לא \(f\), הוא פונקציה מסובכת יותר שמתקבלת מהרכבת \(f\) על \(y\). בקיצור, הסימון הזה יכול להיות מועיל אבל הוא גם מסוכן למי שלא שולט בו, ואני אישית לא אוהב אותו. וזה בלי שניכנס בכלל לתלונות על כך שמתרחש פה משהו שנקרא כמו "צמצום דיפרנציאלים" – משהו שבוודאי אין לו משמעות פורמלית עבור רמת החומר שבדרך כלל נלמדת באינפי 1.

אז הנה העסק בכתיב ניוטוני. נניח ש-\(f,g;\mathbb{R}\to\mathbb{R}\) ונגדיר \(h\left(x\right)=f\left(g\left(x\right)\right)\) (לפעמים זה מסומן ב-\(f\circ g\) ולפעמים ב-\(g\circ f\), תלוי איזה ספר אתם קוראים, ויש הגיון מאחורי שתי שיטות הסימון; לכן אני שונא גם את הסימון הזה). אז כלל השרשרת אומר לנו ש-\(h^{\prime}\left(x\right)=f^{\prime}\left(g\left(x\right)\right)g^{\prime}\left(x\right)\). כלומר, הנגזרת ב-\(x\) שווה למכפלה של הנגזרת של \(g\) ב-\(x\), כפול הנגזרת של \(f\), אבל לא ב-\(x\) אלא בנקודה שאליה \(g\) מעביר את \(x\) (ההבחנה הזו היא עניין מבלבל). למשל, אם \(g\left(x\right)=x^{2}\) ו-\(f\left(x\right)=\sin x\) אז \(h\left(x\right)=\sin\left(x^{2}\right)\) ולכן \(h^{\prime}\left(x\right)=\cos\left(x^{2}\right)\cdot2x\) (ולא \(\cos\left(x\right)\cdot2x\)).

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

\(h^{\prime}\left(a\right)=\lim_{t\to0}\frac{h\left(a+t\right)-h\left(a\right)}{t}=\lim_{x\to a}\frac{h\left(x\right)-h\left(a\right)}{x-a}\)

תוך שימוש בניסוח הזה, פשוט מפרקים את הביטוי של הנגזרת למכפלה של שני ביטויי נגזרת מתאימים על ידי כפל וחילוק ב-\(g\left(x\right)-g\left(a\right)\):

\(h^{\prime}\left(a\right)=\lim_{x\to a}\frac{h\left(x\right)-h\left(a\right)}{x-a}=\lim_{x\to a}\frac{f\left(g\left(x\right)\right)-f\left(g\left(a\right)\right)}{g\left(x\right)-g\left(a\right)}\frac{g\left(x\right)-g\left(a\right)}{x-a}=f^{\prime}\left(g\left(a\right)\right)g^{\prime}\left(a\right)\)

כמובן, צריך להיות זהירים פה ולהסביר יותר במדויק למה \(\lim_{x\to a}\frac{f\left(g\left(x\right)\right)-f\left(g\left(a\right)\right)}{g\left(x\right)-g\left(a\right)}=f^{\prime}\left(g\left(a\right)\right)\); הרי יכולות לצוץ כל מני בעיות משונות בגלל ש-\(g\) יכולה להתנהג מוזר (מה קורה אם \(g\left(x\right)=g\left(a\right)\) עבור \(x\ne a\) כלשהו?). אני מביא את חצי ההוכחה הזו כדי שנרגיש מאיפה הנוסחה מגיעה בכלל. הוכחה מלאה ומדוייקת אני אתן עכשיו למשפט הכללי, עבור פונקציות וקטוריות כלליות; מן הסתם נקבל את כלל השרשרת המקורי בתור מקרה פרטי.

אז איך בכלל מנוסח המשפט הכללי? אם אני רוצה להרכיב את \(f\) על \(g\) אני צריך שהטווח של \(g\) יהיה מאותו מימד כמו התמונה של \(f\), כלומר \(g:\mathbb{R}^{n}\to\mathbb{R}^{k}\) ואילו \(f:\mathbb{R}^{k}\to\mathbb{R}^{m}\). שימו לב ל-\(k\) המשותף הזה. עכשיו נגדיר \(h\left(x\right)=f\left(g\left(x\right)\right)\) וקיבלנו פונקציה \(h:\mathbb{R}^{n}\to\mathbb{R}^{m}\) נטולת \(k\). בהינתן \(a\in\mathbb{R}^{n}\) אנחנו רוצים לדעת מהי \(Dh\left(a\right)\); זוהי מטריצה \(m\times n\) (זוכרים? כל שורה של המטריצה היא גרדיאנט של אחד מהרכיבים של \(h\); יש ל-\(h\) \(m\) רכיבים והאורך של כל גרדיאנט הוא \(n\)). אם נרצה פשוט לקחת את הנוסחה של כלל השרשרת החד ממדי ולכתוב אותה מחדש, נקבל את הדבר הבא:

\(Dh\left(a\right)=Df\left(g\left(a\right)\right)\cdot Dg\left(a\right)\)

מה יש לנו כאן? ובכן, \(Df\left(g\left(a\right)\right)\) היא מטריצה \(m\times k\) ואילו \(Dg\left(a\right)\) היא מטריצה \(k\times n\). לכן המכפלה שלהן – ובסדר הזה, הנגזרת של \(f\) משמאל והנגזרת של \(g\) מימין – נותנת לנו באמת מטריצה \(m\times n\). כך שנראה שהנוסחה עובדת! רק יהיה צריך להוכיח אותה. הבעיה היא שמייד ברור שההוכחה האלגנטית של המקרה החד ממדי לא תעבוד. כי אנחנו כבר לא עובדים עם ביטוי נחמד כמו \(\lim_{x\to a}\frac{h\left(x\right)-h\left(a\right)}{x-a}\) אלא עם המפלצת \(\lim_{t\to0}\frac{h\left(a+t\right)-h\left(a\right)-Dh\left(a\right)t}{\left|t\right|}\) שבה \(t\) הוא בכלל וקטור והמטרה שלנו היא לא להראות שהגבול קיים אלא שהוא אפס. לכו תפתחו את זה למכפלה של שני גבולות שונים, שבהם מה ששואף לאפס שייך למרחבים ממימד אחר, והדיפרנציאלים המעורבים הם ממימדים שונים, וכו' וכו' וכו'. בקיצור, זה הולך להיות יותר טכני. בשורה התחתונה מה שנעשה הוא פשוט לבוא עם פטיש גדול ולהתחיל לדפוק על ההוכחה עד שזה יסתדר – אין כאן חוכמה גדולה ובעיקר יש טיפול שנראה קצת משמים בכל מני ביטויים. סביר להניח שחלקכם יאבדו אותי כאן ויכולים פשוט לקפוץ אל "עכשיו אפשר לשכוח מכל המהומה הטכנית" שאחר כך; מי שבאמת רוצה להבין, אני ממליץ על כתיבת ההוכחה בעצמכם במקביל אלי (הדרך היחידה שבה אני ממש מבין את ההוכחה היא על ידי כך שאני כותב אותה).

בתור התחלה, אנחנו לא מניחים ש-\(f,g\) בהכרח מוגדרות לכל \(\mathbb{R}^{n}\) ו-\(\mathbb{R}^{k}\), בהתאמה (הרבה פעמים אנחנו רוצים להשתמש בכלל השרשרת גם לפונקציות שמוגדרות רק עבור חלק מהתחום הזה). כל מה שאנחנו מניחים הוא ש-\(g\) היא גזירה ב-\(a\) ו-\(f\) גזירה ב-\(g\left(a\right)\). מכך אני רוצה להסיק ש-\(h\) גזירה ב-\(a\) ולמצוא את הנגזרת שלה. לצורך כך אני רוצה להיות מסוגל לדבר על ערכים של \(h\) בסביבה של \(a\), כי זה מה שמופיע בהגדרת הנגזרת – כלומר, על ערכים מהצורה \(h\left(a+t\right)\) עבור \(t\) קטן. הטענה היא שעבור \(t\) קטן מספיק (כלומר, \(\left|t\right|<\delta\) עבור \(\delta>0\) מסויים), הביטוי \(h\left(a+t\right)\) יהיה מוגדר. עכשיו, מכיוון שאנחנו יודעים ש-\(f\) רציפה ב-\(g\left(a\right)\) בפרט קיים \(\varepsilon>0\) כך ש-\(f\) מוגדרת לכל \(y\) כך ש-\(\left|y-g\left(a\right)\right|<\varepsilon\). מהרציפות של \(g\) עולה שקיים \(\delta>0\) כך ש-שאם \(\left|x-a\right|<\delta\) אז \(g\) מוגדרת ב-\(x\) ומתקיים \(\left|g\left(x\right)-g\left(a\right)\right|<\varepsilon\) (זו ההגדרה של רציפות, כשפותחים אותה לאפסילון-דלתא). קיבלנו את ה-\(\delta\) שרצינו.

אם כן, בואו ניקח \(t\) כך ש-\(\left|t\right|<\delta\). זה אומר ש-\(\left|g\left(a+t\right)-g\left(a\right)\right|<\varepsilon\) ולכן \(f\) מוגדרת ב-\(g\left(a+t\right)\). כעת, מכיוון ש-\(f\) גזירה, זה אומר שמתקיים הגבול הבא:

\(\lim_{s\to0}\frac{f\left(g\left(a\right)+s\right)-f\left(g\left(a\right)\right)-Df\left(g\left(a\right)\right)s}{\left|s\right|}=0\)

בואו נרשום את הביטוי שבתוך הגבול בתור פונקציה של \(s\): \(F\left(s\right)=\frac{f\left(g\left(a\right)+s\right)-f\left(g\left(a\right)\right)-Df\left(g\left(a\right)\right)s}{\left|s\right|}\). הפונקציה הזו מוגדרת לכל \(s\) כך ש-\(0<\left|s\right|<\varepsilon\) (עבור \(s\)-ים גדולים יותר לא מובטח ש-\(f\left(g\left(a\right)+s\right)\) תהיה מוגדרת) ומה שאני רוצה לעשות הוא להציב במקום \(s\) את \(g\left(a+t\right)-g\left(a\right)\) (שראינו לפני רגע שאכן קטן בערכו המוחלט מאפסילון), בערך כמו מה שעושים בהוכחת כלל השרשרת הרגיל. ההצבה הזו מועילה לי במיוחד בטיפול בגורם \(f\left(g\left(a\right)+k\right)\): כרגע הוא לא משהו שאני יכול לכתוב עם \(h\), הפונקציה שאני רוצה בסופו של דבר לגזור; אבל אחרי ההצבה הזו נקבל את \(f\left(g\left(a+t\right)\right)=h\left(a+t\right)\).

אם כן, בואו ניקח את המשוואה שהגדירה את \(F\left(s\right)\) ונטפל בה קצת – נכפול ב-\(\left|s\right|\), נעביר אגפים ונקבל

\(f\left(g\left(a\right)+s\right)-f\left(g\left(a\right)\right)=\left|s\right|F\left(k\right)+Df\left(g\left(a\right)\right)s\)

לעת עתה אשתמש בקיצור \(\Delta g=g\left(a+t\right)-g\left(a\right)\) כי זה יחסוך לי כתיבה. אם כן, אחרי הצבת \(s=\Delta g\) אני מקבל

\(h\left(a+t\right)-h\left(a\right)=\left|\Delta g\right|F\left(\Delta g\right)+Df\left(g\left(a\right)\right)\cdot\Delta g\)

בואו ונסתכל על הגורם הכי ימני במשוואה הזו: \(Df\left(g\left(a\right)\right)\cdot\Delta g\). זה קצת מזכיר לנו את מה שאנחנו מצפים שיופיע בנוסחה הסופית: \(Df\left(g\left(a\right)\right)\cdot Dg\left(a\right)\). כך שהשלב המתבקש הבא הוא לנסות ולמצוא תיאור נחמד יותר עבור \(\Delta g\). אפשר לשכוח לרגע מהמשוואה שקיבלנו ולהתמקד בניתוח שלו.

לצורך כך, בואו ניזכר בכך שגם \(g\) היא פונקציה גזירה, ולכן אפשר לכתוב עבורה פונקציה דומה לזו שכתבנו עבור \(f\), רק פשוטה יותר:

\(G\left(t\right)=\frac{g\left(a+t\right)-g\left(a\right)-Dg\left(a\right)t}{\left|t\right|}\)

הפונקציה הזו מוגדרת לכל \(0<\left|t\right|<\delta\), ואפשר להגדיר \(G\left(0\right)=0\) ונקבל ש-\(G\) הזו גם רציפה לכל \(\left|t\right|<\delta\). ושוב, על ידי כפל והעברת אגפים נקבל

\(\Delta g=\left|t\right|G\left(t\right)+Dg\left(a\right)t\)

קיבלנו את התיאור עבור \(\Delta g\) שרצינו. עכשיו, בואו נחזור אל \(h\). המטרה שלנו, כזכור, היא לחשב את הגבול הבא:

\(\frac{h\left(a+t\right)-h\left(a\right)-Dh\left(a\right)t}{\left|t\right|}\)

כאשר ההימור שלנו למועמדת לתפקיד \(Dh\left(a\right)\) היא \(Df\left(g\left(a\right)\right)\cdot Dg\left(a\right)\). במילים אחרות, אנחנו רוצים לחשב את הגבול של

\(\frac{h\left(a+t\right)-h\left(a\right)-Df\left(g\left(a\right)\right)\cdot Dg\left(a\right)\cdot t}{\left|t\right|}\)

(שימו לב שאני כותב את \(Df\left(g\left(a\right)\right)\cdot Dg\left(a\right)\cdot t\) בלי סוגריים; זה תקין, מכיוון שכפל מטריצות הוא אסוציאטיבי).

עכשיו, נחליף את \(h\left(a+t\right)-h\left(a\right)\) בתיאור שמצאנו למעלה, ונקבל:

\(\frac{\left|\Delta g\right|F\left(\Delta g\right)+Df\left(g\left(a\right)\right)\cdot\Delta g-Df\left(g\left(a\right)\right)\cdot Dg\left(a\right)\cdot t}{\left|t\right|}\)

ועכשיו נציב את ה-\(\Delta g\) שמצאנו, ונקבל:

\(\frac{\left|\Delta g\right|F\left(\Delta g\right)+\left|t\right|Df\left(g\left(a\right)\right)G\left(t\right)+Df\left(g\left(a\right)\right)\cdot Dg\left(a\right)\cdot t-Df\left(g\left(a\right)\right)\cdot Dg\left(a\right)\cdot t}{\left|t\right|}\)

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

\(\frac{\left|\Delta g\right|F\left(\Delta g\right)}{\left|t\right|}+Df\left(g\left(a\right)\right)G\left(t\right)\)

ואנחנו רוצים להראות שהוא שואף לאפס כאשר \(t\) שואף לאפס. מה שיש כאן הוא חשבון מכולת סטנדרטי של אינפי – מראים שיש לנו סכום של גורמים כך שכל גורם כולל חלק ששואף לאפס, וחלק שהוא חסום ולכן "לא מפריע" לו. נתחיל עם \(Df\left(g\left(a\right)\right)G\left(t\right)\). כאן \(Df\left(g\left(a\right)\right)\) הוא מספר קבוע בעוד ש-\(G\left(t\right)\) שואפת כמובן לאפס (למה "כמובן"? בטח איבדתם אותי לגמרי כבר; \(G\left(t\right)\) היא הפונקציה שמתארת את הגבול שמגדיר את הגזירות של \(g\)). הביטוי \(\frac{\left|\Delta g\right|}{\left|t\right|}F\left(\Delta g\right)\) מאתגר קצת יותר. מכיוון ש-\(g\) רציפה, הרי ש-\(\Delta g=g\left(a+t\right)-g\left(a\right)\) שואפת לאפס כאשר \(t\) שואף לאפס, ומכיוון ש-\(F\) שואפת לאפס כשהקלט שלה שואף לאפס (מאותה סיבה של \(G\)) קיבלנו ש-\(F\left(\Delta g\right)\) שואפת לאפס. נשאר רק להראות ש-\(\frac{\left|\Delta g\right|}{\left|t\right|}\) חסומה.

לצורך כך, זכרו שראינו כי \(\Delta g=\left|t\right|G\left(t\right)+Dg\left(a\right)t\). ניקח נורמה בשני האגפים ונקבל

\(\left|\Delta g\right|\le\left|t\right|\left|G\left(t\right)\right|+\left|Dg\left(a\right)\right|\left|t\right|=\left|t\right|\left(\left|G\left(t\right)\right|+k\left|Dg\left(a\right)\right|\right)\)

המעבר האחרון עשוי להיות קצת מבלבל עבור מי שלא מכיר. זכרו ש-\(Dg\left(a\right)\) היא מטריצה מסדר \(k\times n\) . לכן הביטוי \(\left|Dg\left(a\right)\right|\) עבורה שונה מאשר עבור, נאמר \(\left|t\right|\) – כאן זו נורמה של מטריצה. במקרה שלנו, ההגדרה של הנורמה הזו פשוטה – חשבו על המטריצה בתור וקטור ארוך, וקחו את הנורמה הרגילה שלה. כעת, \(Dg\left(a\right)\cdot t\) זו מכפלה שלוקחת וקטור מגודל \(n\) ומחזירה וקטור מגודל \(k\), שהכניסות שלו הן מכפלות סקלריות של \(t\) עם \(k\) שורות \(Dg\left(a\right)\). קל לראות, באמצעות שימוש באי-שוויון המשולש, שמתקיים \(\left|Dg\left(a\right)\cdot t\right|\le k\left|Dg\left(a\right)\right|\left|t\right|\), ומכאן המעבר שלי.

קיבלנו ש-\(\frac{\left|\Delta g\right|}{\left|t\right|}=\left|G\left(t\right)\right|+k\left|Dg\left(a\right)\right|\). כעת, \(G\left(t\right)\) רציפה ושואפת לאפס ולכן גם \(\left|G\left(t\right)\right|\), ולכן היא בוודאי חסומה; ואילו \(k\left|Dg\left(a\right)\right|\) הוא קבוע. זה מסיים את ההוכחה.

עכשיו אפשר לשכוח מכל המהומה הטכנית הזו ולקטוף באלגנטיות את הפירות. ראינו שהדיפרנציאל של \(s\left(x,y\right)=x+y\) בכל נקודה הוא \(s\) עצמה. כעת, נניח שיש לנו שתי פונקציות \(f:\mathbb{R}^{n}\to\mathbb{R}\) ו-\(g:\mathbb{R}^{n}\to\mathbb{R}\) ואנחנו רוצים לגזור את \(f+g\), מה עושים? נשים לב לכך ש-\(h\left(x\right)=\left(f+g\right)\left(x\right)=s\left(f,g\right)\left(x\right)\) (כאן \(f,g\) זו בעצם דרך לתאר פונקציה מ-\(\mathbb{R}^{n}\) אל \(\mathbb{R}^{2}\) ש-\(f,g\) הם רכיביה), ולכן נגזור על פי כלל השרשרת ונקבל

\(Dh\left(a\right)=Ds\left(f\left(a\right),g\left(a\right)\right)D\left(f\left(a\right),g\left(a\right)\right)=s\left(Df\left(a\right),Dg\left(a\right)\right)=Df\left(a\right)+Dg\left(a\right)\)

לא מפתיע, כמובן, אבל נחמד מאוד שזה מתקבל כך. קצת יותר מעניין יהיה לעשות את אותו דבר עבור כפל. שם הדיפרנציאל של \(xy\) בנקודה \(\left(a,b\right)\) היה \(bx+ay\). אצלנו, הנקודה \(\left(a,b\right)\) היא בעצם \(\left(f\left(a\right),g\left(a\right)\right)\) ולכן נקבל מכלל השרשרת בסופו של דבר את \(g\left(a\right)Df\left(a\right)+f\left(a\right)Dg\left(a\right)\).

אם כן, אנחנו יודעים כעת איך מחשבים את הנגזרת של פונקציות מורכבות יחסית – כאלו שמתקבלות מפונקציות פשוטות על ידי חיבור, כפל והרכבה. מה עם חיסור וחילוק? אפשר להרכיב את הפונקציה \(g\left(x\right)=-x\) על כל פונקציה שנרצה ולקבל בקלות ש-\(D\left(-f\right)=-Df\), ולכן \(D\left(f-g\right)=Df-Dg\).

חילוק, כמובן, יהיה בעייתי יותר, כי לא ניתן לחלק באפס. אנחנו רוצים להרכיב את \(g\left(x\right)=\frac{1}{x}\) (שהנגזרת שלה היא \(-\frac{1}{x^{2}}\), על פי כללי הגזירה הרגילים) על הפונקציה \(f\), אבל בשביל זה אנחנו צריכים לדרוש ש-\(f\) תהיה שונה מאפס בנקודה שבה אנחנו מחשבים את הנגזרת. כלומר, אם \(f\left(a\right)\ne0\) אז \(D\frac{1}{f}\left(a\right)=D\left(g\left(f\right)\right)\left(a\right)=-\frac{1}{f^{2}\left(a\right)}Df\left(a\right)\).

מכאן גם אפשר לקבל את הנגזרת הכללית של מנת שתי פונקציות: \(D\frac{h}{f}=D\left(\frac{1}{f}\cdot h\right)=D\frac{1}{f}h+\frac{1}{f}Dh=-\frac{hDf}{f^{2}}+\frac{1}{f}Dh=\frac{fDh-hDf}{f^{2}}\) – שוב, תחת ההנחה שאנחנו מחשבים את הפונקציות הללו רק בנקודות שבהן \(f\) שונה מאפס.

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

נניח שיש לנו פונקציה \(f:\mathbb{R}^{n}\to\mathbb{R}^{n}\) (שימו לב – כאן גם התחום וגם הטווח הם מאותו מימד \(n\)). אז \(g:\mathbb{R}^{n}\to\mathbb{R}^{n}\) היא הפונקציה ההפוכה ל-\(f\) אם \(f\left(g\left(x\right)\right)=g\left(f\left(x\right)\right)=x\) לכל \(x\in\mathbb{R}^{n}\). לא תמיד קיימת כזו, כמובן (חשבו על \(f\left(x\right)=0\)). אם קיימת, מסמנים אותה לרוב ב-\(f^{-1}\). יותר מזה, לעתים קרובות לא קיימת ל-\(f\) הופכית על כל \(\mathbb{R}^{n}\), אבל אם נגביל את התחום של \(f\) לתת-קבוצה \(A\subseteq\mathbb{R}^{n}\) נקבל משהו הפיך. דוגמה קלאסית היא הפונקציה \(f\left(x\right)=x^{2}\); היא לא חד-חד-ערכית על הממשיים כי \(f\left(x\right)=f\left(-x\right)\); מצד שני, על הממשיים האי-שליליים היא כן חד-חד-ערכית והפיכה; ההופכית שלה היא \(g\left(x\right)=\sqrt{x}\) (המוסכמה הרגילה היא ש-\(\sqrt{x}\) כאשר \(x\) ממשי מחזיר את השורש האי-שלילי אם קיימים שני שורשים).

נניח שגם \(f\) וגם \(f^{-1}\) הן גזירות, ונניח שאנחנו יודעים מה הנגזרת של \(f\); האם אפשר למצוא ממנה את הנגזרת של \(f^{-1}\)? למשל, אנחנו יודעים שהנגזרת של \(\sin x\) היא מאוד פשוטה: \(\cos x\). אבל איך אפשר לקבל מזה את הנגזרת של \(\arcsin x\)? אני ממש לא זוכר את הנגזרת הזו בעל פה; בואו נראה אם נצליח לפתח אותה מחדש (כמובן, אנחנו מדברים פה על המקרה של אינפי בסיסי, אבל לא יהיה הבדל אמיתי בינו ובין המקרה הכללי).

הטריק הוא להשתמש בכלל השרשרת. אם \(f\left(f^{-1}\right)=I\) כאשר \(I\) היא פונקציית הזהות \(I\left(x\right)=x\), אז מצבנו טוב כי אנחנו יודעים בדיוק מהו \(DI\): כבר אמרנו שהנגזרת של פונקציה לינארית היא היא עצמה, כלומר \(DI\left(a\right)=I\) לכל \(a\). נסמן \(b=f^{-1}\left(a\right)\) ועכשיו אפשר להשתמש בכלל השרשרת ולקבל ש-\(I=Df\left(b\right)Df^{-1}\left(a\right)\). היינו רוצים עכשיו "לחלק" ב-\(Df\left(b\right)\), אבל צריך להיזהר פה: זה לא מספר שאפשר סתם לחלק בו. זו טרנספורמציה לינארית. "לחלק" בהקשר של טרנספורמציות לינאריות פירושו לכפול בהופכי. לכן אני צריך להניח ש-\(Df\left(b\right)\) הפיכה בכלל, וזה שקול לכך ש-\(\det Df\left(b\right)\ne0\) (מי שלא מכיר את \(\det\) – נו נו נו! אמרתי שצריך אלגברה לינארית. הנה הפוסט שלי על דטרמיננטות). במקרה שבו זה נכון, אז נקבל ש-\(Df^{-1}\left(a\right)=\left(Df\left(b\right)\right)^{-1}\) – אלגנטי ויפה.

כדי להבין את הנוסחה הזו, בואו נפעיל אותה במקרה של \(\mbox{arcsin}\). עבור פונקציות במשתנה יחיד, זכרו שמה שאנחנו קוראים לו \(Df\left(a\right)\) הוא בעצם הפונקציה הלינארית \(f^{\prime}\left(a\right)x\). הפונקציה הזו הפיכה אם ורק אם \(f^{\prime}\left(a\right)\ne0\) ואז ההופכית שלה היא פשוט \(\frac{1}{f^{\prime}\left(a\right)}x\). כלומר, הנוסחה במקרה הזה הופכת להיות \(\left(f^{-1}\right)^{\prime}\left(a\right)=\frac{1}{f^{\prime}\left(b\right)}\). לכן קיבלנו ש-\(\arcsin^{\prime}\left(a\right)=\frac{1}{\sin^{\prime}\left(\arcsin a\right)}=\frac{1}{\cos\left(\arcsin a\right)}\). כאן אנחנו לכאורה נתקעים, כי איך מחשבים קוסינוס של ארקסינוס? אבל מספיק לזכור את הזהות הבסיסית ביותר שקשורה לסינוסים וקוסינוסים – שהם מתארים נקודה על מעגל היחידה, ולכן \(\cos^{2}x+\sin^{2}x=1\) לכל \(x\). מכאן אפשר לחלץ ולקבל ש-\(\cos x=\sqrt{1-\sin^{2}x}\) עבור \(-\frac{\pi}{2}\le x\le\frac{\pi}{2}\) (עבור ערכי \(x\) אחרים צריך לפעמים לקחת את השורש השלילי). כלומר, \(\cos\left(\arcsin\left(a\right)\right)=\sqrt{1-\sin^{2}\left(\arcsin a\right)}=\sqrt{1-a^{2}}\). מסקנה: \(\arcsin^{\prime}\left(a\right)=\frac{1}{\sqrt{1-a^{2}}}\).

משהו כאן בבירור לא עובד כאשר \(a=\pm1\), כלומר כאשר הקלט ל-\(\sin\) הוא כזה שיחזיר 1 או \(-1\), כלומר \(\pm\frac{\pi}{2}\), כלומר הנגזרת שמצאנו עובדת רק עבור \(-\frac{\pi}{2}<a<\frac{\pi}{2}\) ואילו בשתי נקודות הקצה הללו משהו "מתפוצץ" (מה שמסביר, מנקודת מבט שונה, למה נאלצתי להצטמצם לתחום הזה). מה בעצם השתבש? אלו הן בדיוק נקודות המקסימום והמינימום של \(\sin\); אחרי \(\frac{\pi}{2}\), למשל, היא מתחילה "ליפול" בעוד שקודם היא עלתה. זה אומר שהיא כבר לא תהיה חד-חד-ערכית ולכן לא הפיכה, ולכן מראש היינו חייבים להצטמצם עם \(\arcsin\) לקטע הזה. עכשיו, דרך נחמדה לדמיין פונקציה הופכית במימד אחד היא לקחת את הגרף של הפונקציה ולסובב אותו ב-90 מעלות נגד כיוון השעון, ואז לשקף ביחס לציר \(y\); אם אתם לא מאמינים תנסו לעשות את זה עם \(f\left(x\right)=x^{2}\). מן הסתם כשעושים דבר כזה, אז נקודה שבה המשיק של \(\sin x\) היה אופקי (שיפוע 0) תהפוך לנקודה שבה המשיק של \(\arcsin x\) יהיה אנכי (שיפוע "אינסוף"), מה שמסביר את הפיצוץ הזה.

אם כן, למדנו דבר מעניין – שאם \(\det Df\left(a\right)\ne0\) אז הנגזרת של \(f^{-1}\) ב-\(a\) שווה ל-\(\left[Df\left(f^{-1}\left(a\right)\right)\right]^{-1}\). אבל שימו לב לשלוש ההנחות שיש לנו כאן:

  1. \(Df\left(a\right)\) הפיכה.
  2. \(f^{-1}\) קיימת.
  3. \(f^{-1}\) גזירה.

אם שלוש ההנחות הללו התקיימו, אנחנו יודעים לחשב את הנגזרת של \(f^{-1}\). אבל האמת היא שמתקיים פה קסם – אם \(f\) היא גזירה ברציפות (כלומר, בעלת נגזרת רציפה) אז די בכך ש-\(Df\left(a\right)\) תהיה הפיכה על מנת להבטיח שקיימת ל-\(f\) הופכית בסביבה של \(a\), ושההופכית הזו תהיה גזירה (למעשה, אם \(f\) גזירה ברציפות \(r\) פעמים, כך גם הנגזרת של ההופכית). הקסם הזה, שנקרא משפט הפונקציה ההפוכה, הוא המשפט הלא טריוויאלי הראשון שאנחנו הולכים לראות, ומייד אחר כך נראה שימוש יפה שלו – משפט הפונקציות הסתומות. מכיוון שזה לא הולך להיות קצר או פשוט, נחכה עם זה (כולל הניסוח הפורמלי) עד לפוסט הבא. לעת עתה, טיזר – בואו נבין אינטואיטיבית למה זה עובד כמעט מייד בפונקציות \(f:\mathbb{R}\to\mathbb{R}\). אם \(f^{\prime}\left(a\right)\ne0\) והנגזרת רציפה, זה אומר שיש סביבה של \(a\) שבה \(f^{\prime}\left(a\right)\) נמצאת כולה מעל 0 או מתחת ל-0. במקרה הראשון זה אומר ש-\(f\) עולה בסביבה הזו, ובמקרה השני – שהיא יורדת. בכל מקרה, היא מונוטונית. פונקציה מונוטונית היא, כמובן, הפיכה (עדיין צריך להוכיח שהיא גזירה, אבל לא נדבר על זה פה). כמובן שעבור פונקציות במימד גבוה יותר העסק כבר לא יהיה כל כך פשוט כי זה שהנגזרת היא טרנספורמציה לינארית הפיכה לא יגרור שהפונקציה היא מונוטונית; בפוסט הבא ניכנס לפרטים המלוכלכים.

אנליזה וקטורית – נגזרת ונגזרת חלקית

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

האינטואיציה הסטנדרטית מאחורי נגזרת של פונקציה \(f:\mathbb{R}\to\mathbb{R}\) היא למצוא את "קצב השינוי הרגעי" של פונקציה בנקודה מסויימת \(a\in\mathbb{R}\). אינטואיציה סטנדרטית נוספת היא למצוא את המשיק לגרף הפונקציה באותה נקודה – קו ישר שבנקודה הזו הכיוון שלו הוא כמו הכיוון של הפונקציה. את "קצב השינוי הרגעי" לוקחים על ידי חישוב של קצב השינוי הממוצע לאורך פרק זמן, ואז מקטינים את פרק הזמן כך שהוא שואף לאפס; את המשיק מוצאים על ידי כך שמחשבים את המיתר בין גרף הפונקציה ב-\(a\) ונקודה נוספת \(b\), קרובה אליה, ואז אנחנו משאיפים את \(b\) אל \(a\). עבור האינטואיציה הראשונה, מה שאנחנו מוצאים הוא מספר ממשי; עבור האינטואיציה השניה מה שאנחנו מוצאים הוא פונקציה לינארית (קו ישר). הקשר בין השניים מיידי: המספר הממשי (המספר הנגזר) הוא השיפוע של הפונקציה הלינארית, שבתורה מכונה הדיפרנציאל של הפונקציה.

הפורמליזם של האינטואיציה הראשונה הוא זה:

\(f^{\prime}\left(a\right)=\lim_{h\to0}\frac{f\left(a+h\right)-f\left(a\right)}{h}\)

הביטוי \(\frac{f\left(a+h\right)-f\left(a\right)}{h}\) הוא בדיוק השינוי הממוצע בין ערך הפונקציה ב-\(a\) וערכה בנקודה אחרת \(b\), רק שבמקום לכתוב \(\frac{f\left(b\right)-f\left(a\right)}{b-a}\) יותר קל לסמן \(b=a+h\) ולהמשיך משם.

את הביטוי הזה באופן די ברור אי אפשר להכליל כמו שהוא. בואו ניקח פונקציה \(F:\mathbb{R}^{n}\to\mathbb{R}^{m}\) וננסה לכתוב את הביטוי הזה עבורה:

\(\lim_{h\to0}\frac{F\left(a+h\right)-F\left(a\right)}{h}\)

מה נשבר כאן? ובכן, \(h\) היא חלק מהקלט של \(F\), ולכן \(h\in\mathbb{R}^{n}\) היא וקטור. במונה אנחנו מקבלים את הפלט של \(F\), גם כן וקטור, רק שב-\(\mathbb{R}^{m}\). אנחנו לא יודעים איך לאכול את הביטוי הזה מבחינה מתמטית; אין לנו דרך לחלק וקטורים אלו באלו, למעט במקרה שבו \(n=1\) (וכפי שנראה בהמשך, המקרה שבו \(n=1\) הוא אכן פשוט במיוחד, גם אם \(m>1\)). אגב, כאן אנחנו מתפצלים מהאנליזה המרוכבת; שם מה שקורה הוא שמחלקים במספר מרוכב, שמצד אחד אמנם נראה כמו וקטור דו ממדי של מספרים ממשיים, ומצד שני במרוכבים כן ידוע לנו איך לבצע את החלוקה.

דרך אפשרית להתמודד עם הבעיה הזו היא לא לחלק ב-\(h\) אלא בנורמה של \(h\), כלומר ב-\(\left|h\right|\). בדרך הזו נקבל "נגזרת" שהיא וקטור ב-\(\mathbb{R}^{m}\) ולא לגמרי ברור מה היא אומרת – חסרה לנו אינטואיציה.

אז בואו נעבור להגדרה השניה, עם המשיק. אמרנו ש-\(f^{\prime}\left(a\right)\) הוא השיפוע של המשיק, כלומר המשיק הוא הפונקציה \(f^{\prime}\left(a\right)\left(x-a\right)+f\left(a\right)\) (זו גאומטריה אנליטית: אם יש לנו ישר עם שיפוע \(m\) שעובר דרך \(\left(a,b\right)\) אז משוואותו היא \(y=m\left(x-a\right)+b\)). החלק שמעניין אותנו במשיק הוא הפונקציה \(T\left(x\right)=f^{\prime}\left(a\right)x\) – זו טרנספורמציה לינארית (המשיק עצמו איננו טרנספורמציה לינארית באופן כללי כי הוא לא עובר דרך ראשית הצירים). לחלק הזה אנחנו קוראים הדיפרנציאל של \(f\) בנקודה \(a\). כדי לראות למה הוא מעניין, בואו נחזור אל הנוסחה:

\(f^{\prime}\left(a\right)=\lim_{h\to0}\frac{f\left(a+h\right)-f\left(a\right)}{h}\)

נעביר אגפים:

\(\lim_{h\to0}\frac{f\left(a+h\right)-f\left(a\right)}{h}-f^{\prime}\left(a\right)=0\)

נעלה למונה:

\(\lim_{h\to0}\frac{f\left(a+h\right)-f\left(a\right)-f^{\prime}\left(a\right)h}{h}=0\)

וקיבלנו:

\(\lim_{h\to0}\frac{f\left(a+h\right)-f\left(a\right)-T\left(h\right)}{h}=0\)

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

את ההגדרה הזו אפשר להכליל בצורה פשוטה לפונקציות כלליות: אם \(F:\mathbb{R}^{n}\to\mathbb{R}^{m}\) אז הדיפרנציאל של \(F\) בנקודה \(a\), אם הוא קיים, הוא הטרנספורמציה הלינארית היחידה שמקיימת

\(\lim_{h\to0}\frac{f\left(a+h\right)-f\left(a\right)-T\left(h\right)}{\left|h\right|}=0\)

אם הדיפרנציאל קיים, אז אומרים ש-\(f\) גזירה בנקודה \(a\). במילה נגזרת משתמשים כדי לתאר או את \(T\) או את המטריצה המייצגת שלה; זה לא כל כך משנה כי ברור לנו שבמובנים המהותיים זה בדיוק אותו דבר. אם כן, עבור פונקציות ממשיות רגילות, הנגזרת היא בעצם מטריצה \(1\times1\)!

הסימון המקובל לנגזרת של \(f\) בהקשר הזה הוא \(Df\left(a\right)\) (אם רוצים, אפשר לחשוב על \(D\) בתור אופרטור שלוקח את \(f\) ומחזיר פונקציה שלכל \(a\) מחזירה מטריצה/טרנספורמציה). שימו לב לאופן שבו כללי המשחק השתנו קצת ממה שהיה עם פונקציות ממשיות: בפונקציות ממשיות, \(Df\) הוא פונקציה ממשית (שמקבלת \(a\) ומחזירה את המטריצה \(1\times1\) שדיברתי עליה, שגם היא מספר ממשי) ולכן אפשר היה לגזור שוב ושוב ושוב. כאן בבירור זה לא עובד ואין משמעות לסימון \(DDf\), מה שאולי מעלה אצלכם את התהיה אם אי אפשר להגדיר גם נגזרות "רגילות" על פונקציות שכאלו.

אז בואו נתחיל עם דוגמה פשוטה ככל הניתן. פונקציה סקלרית (שמחזירה סקלר, כלומר הטווח שלה הוא ממימד 1) על המישור, \(f:\mathbb{R}^{2}\to\mathbb{R}\). למשל, \(f\left(x,y\right)=x\sin y\). אין לנו מושג כרגע איך למצוא לה את הנגזרת, אבל כל אחד מאיתנו שמיומן בגזירה כן יודע להתעלל בביטוי \(x\sin y\): אם נחשוב לרגע על \(y\) כפרמטר ועל \(x\) בתור משתנה, ברור לנו איך אפשר לגזור את הביטוי הזה. פורמלית, אם אני אסמן \(f_{y}\left(x\right)=x\sin y\) אז קל לי לחשב את \(f_{y}^{\prime}\left(x\right)=\sin y\). קל גם לחשב את \(f_{x}^{\prime}\left(y\right)=x\cos y\). הנגזרות הללו נקראות נגזרות חלקיות של \(f\), כי במובן מסויים אנחנו גוזרים רק חלק מ-\(f\). עבור פונקציות במספר קטן של משתנים, נהוג להשתמש בסימן \(\partial\) לתיאור נגזרת חלקית, כמו שמשתמשים ב-\(d\) לתיאור נגזרת של פונקציה ממשית: דהיינו, אם מסמנים \(\frac{df}{dx}\) בתור הנגזרת של הפונקציה \(f\left(x\right)\), אז מסמנים \(\frac{\partial f}{\partial x},\frac{\partial f}{\partial y}\) לתיאור שתי הנגזרות החלקיות של \(f\left(x,y\right)\). זה סימון מאוד ידוע ופופולרי, אבל אני בקושי אשתמש בו, כי עבור פונקציות בעלות מספר שרירותי הוא הופך למסורבל. נאמר ש-\(F\left(x_{1},\dots,x_{n}\right)\) היא פונקציה סקלרית . אז במקום לכתוב \(\frac{\partial F}{\partial x_{i}}\) כבר יותר קל לכתוב \(D_{i}F\) וחסל.

אז בואו נדבר על נגזרות חלקיות של פונקציה כללית, אבל לא כללית עד הסוף – אני אמשיך לדבר על פונקציות סקלריות, שהטווח שלהן הוא ממימד אחד. באופן כללי, אם \(F:\mathbb{R}^{n}\to\mathbb{R}^{m}\), אז נהוג לפרק אותה לרכיבים: לסמן \(F=\left(f_{1},\dots,f_{m}\right)\) כך ש-\(f_{i}:\mathbb{R}^{n}\to\mathbb{R}\) היא פונקציה סקלרית. את רוב התוצאות שנדבר עליהן אפשר לתאר עבור פונקציה סקלרית, ודי מובן מאליו איך "להרכיב" אותן עבור פונקציה כללית – עוד נעשה את זה, אבל כאמור, בואו נדבר רק על פונקציות סקלריות לרגע.

מצד אחד, אין דבר טבעי יותר מנגזרת חלקית עבור פונקציה בכמה משתנים. מצד שני, זו הגדרה שנראית צרה באופן כמעט שרירותי. הרי נגזרת חלקית היא מה שמקבלים כאשר מסתכלים על הפונקציה במקום על כל המרחב שבו היא מוגדרת, רק על ישר אחד, שבו היא נראית כמו פונקציה במשתנה יחיד עם פרמטרים – או ציר \(x\), או ציר \(y\) וכדומה. אבל אפשר להסתכל עליה גם על כל ישר אחר. זה מוביל אותנו להגדרה של נגזרת מכוונת: אם \(0\ne u\in\mathbb{R}^{n}\) הוא וקטור כלשהו שונה מאפס ב-\(\mathbb{R}^{n}\) ו-\(F:\mathbb{R}^{n}\to\mathbb{R}\) היא פונקציה, אז אפשר להגדיר את הנגזרת המכוונת של \(F\) עבור \(u\) בנקודה \(a\) בתור

\(\lim_{h\to0}\frac{F\left(a+hu\right)-F\left(a\right)}{h}\)

כאשר כאן \(h\in\mathbb{R}\) הוא סקלר. הנגזרות החלקיות הן מקרה פרטי של נגזרות מכוונות, עבור וקטורי הבסיס \(e_{i}=\left(0,\dots,1,\dots,0\right)\) של המרחב \(\mathbb{R}^{n}\) (שימו לב ש-\(u\) הוא חשוב, ולא רק הכיוון שלו; הכפלה של \(u\) בסקלר כלשהו תשפיע גם על הנגזרת המכוונת שהוא מגדיר. לכן לפעמים דורשים ש-\(u\) יהיה מנורמה 1).

עכשיו אפשר לחבר את כל המושגים הללו ביחד. ניקח \(F:\mathbb{R}^{n}\to\mathbb{R}\). אם \(F\) גזירה, אז כל הנגזרות המכוונות שלה קיימות, וקל מאוד לקבל אותן – הנגזרת המכוונת בכיוון \(u\) בנקודה \(a\) היא בדיוק \(DF\left(a\right)\cdot u\) – כלומר, לוקחים את המטריצה שמייצגת את \(DF\) בנקודה \(a\) ומכפילים סקלרית ב-\(u\) (מטילים על \(u\)). כלומר, \(DF\) מקודדת איכשהו את המידע על כל הנגזרות המכוונות של \(F\). מצד שני, זה אומר שעכשיו ברור לגמרי איך לחשב את \(DF\): אנחנו יודעים ש-\(DF\left(a\right)\) הוא וקטור ב-\(\mathbb{R}^{n}\) (מטריצה \(1\times n\)) ולכן ניתן להצגה כצירוף לינארי \(\sum_{i=1}^{n}\lambda_{i}e_{i}\), כאשר המקדמים נתונים בדיוק על ידי \(\left(a\right)\cdot e_{i}\)\(\lambda_{i}=DF\). מסקנה: \(DF\left(a\right)=\left(D_{1}F\left(a\right),\dots,D_{n}F\left(a\right)\right)\). הוקטור הזה כל כך חשוב שנותנים לו עוד סימון ושם: הוא נקרא הגרדיאנט של \(F\) ומסומן \(\nabla F\) (למשולש הזה קוראים נבלה, אם רציתם לדעת).

ההוכחה של הטענה הזו היא קלה למדי ומראה כמה היא מתבקשת. נניח ש-\(F\) גזירה ויהא \(u\) וקטור שונה מאפס כלשהו. אנחנו רוצים להראות ש-\(\lim_{h\to0}\frac{F\left(a+hu\right)-F\left(a\right)}{h}=DF\left(a\right)\cdot u\). כזכור, על פי הגדרת הנגזרת, \(\lim_{t\to0}\frac{F\left(a+t\right)-F\left(a\right)-DF\left(a\right)\cdot t}{\left|t\right|}=0\) (בהוכחה הזו \(h\) הוא סקלר ו-\(t\) הוא וקטור). מכיוון שהגבול הזה נכון עבור השאפה של \(t\) כללי לאפס, הוא נכון גם אם משאיפים את \(t\) לאפס רק לאורך ציר מסויים, הציר שמגדיר \(u\) (למי שלא מאמין, פשוט תפתחו את הגדרת האפסילון-דלתא ותראו). כלומר, אנחנו מקבלים את הגבול

\(\lim_{h\to0}\frac{F\left(a+hu\right)-F\left(a\right)-DF\left(a\right)\cdot\left(hu\right)}{\left|hu\right|}=0\)

נכפול את שני האגפים בקבוע \(\left|u\right|\), נשתמש בהומוגניות של מכפלה סקלרית ושל נורמה, ונקבל

\(\lim_{h\to0}\frac{F\left(a+hu\right)-F\left(a\right)}{\left|h\right|}-\frac{h}{\left|h\right|}DF\left(a\right)\cdot u=0\)

אם \(h\) שואף לאפס מימין, אנחנו מקבלים בדיוק את מה שרצינו: \(\lim_{h\to0^{+}}\frac{F\left(a+hu\right)-F\left(a\right)}{h}-DF\left(a\right)\cdot u=0\); אחרת, נכפול במינוס 1 ונקבל \(\lim_{h\to0^{-}}\frac{F\left(a+hu\right)-F\left(a\right)}{h}-DF\left(a\right)\cdot u=0\). המסקנה הסופית היא שאכן מתקיים \(\lim_{h\to0}\frac{F\left(a+hu\right)-F\left(a\right)}{\left|h\right|}=DF\left(a\right)\cdot u\).

אם כן, אם \(F\) היא גזירה, אז הנגזרת שלה נתונה בדיוק באמצעות הנגזרות החלקיות, מה שאומר שיש לנו עכשיו טכניקה פרקטית לחישוב נגזרת כללית על ידי רדוקציה לבעיה של חישוב נגזרת רגילה. מה שמפתיע הוא שההפך אינו נכון – ייתכן שכל הנגזרות החלקיות יהיו קיימות (או אפילו יותר מכך, כל הנגזרות המכוונות יהיו קיימות) ועדיין \(F\) לא תהיה גזירה. הגרדיאנט עדיין יהיה קיים, כמובן, אבל הוא לא יגדיר טרנספורמציה לינארית שמקרבת את \(F\) בצורה מוצלחת. הפתולוגיה הזו היא בדיוק הסיבה שבגללה הגדרנו נגזרת בצורה מוזרה שכזו במקום להתחיל מנגזרות חלקיות – התנאי של גזירות יותר חזק מהתנאי של קיום הנגזרות החלקיות. ההכללה לפונקציה \(F:\mathbb{R}^{n}\to\mathbb{R}^{m}\) קלה: \(F\) גזירה אם ורק אם כל הרכיבים שלה גזירים, ואם היא גזירה אז הנגזרת שלה היא המטריצה \(m\times n\) שהשורות שלה הן הגרדיאנטים של הרכיבים.

בואו נראה דוגמה לפונקציה \(f:\mathbb{R}^{2}\to\mathbb{R}\) שהגרדיאנט שלה קיים אבל היא לא גזירה:

\(f\left(x,y\right)=\begin{cases}0 & x=y=0\\\frac{x^{2}y}{x^{4}+y^{2}} & \mbox{else}\end{cases}\)

הרעיון כאן הוא ש-0 היא נקודה בעייתית עבור הפונקציה – הגדרנו את ערכה להיות 0 שם כי אם נקפיא את \(x\) או את \(y\) להיות 0 ונלך על הציר של המשתנה השני נקבל כל הזמן את הערך 0; אבל באותה מידה יכלנו להגדיר אותו להיות חצי, כי לאורך העקום \(\left(t,t^{2}\right)\) הערך של הפונקציה הוא \(\frac{1}{2}\). כלומר, אין דרך טובה להגדיר את \(f\) כך שתהיה רציפה בראשית הצירים, ולא קשה לראות שכמו עבור פונקציות ממשיות, גם במקרה שלנו גזירות של פונקציה בנקודה גוררת רציפות שלה בנקודה.

מצד שני, אפשר לחשב כל נגזרת מכוונת ב-\(\left(0,0\right)\) בלי קושי של ממש. בואו נעשה את זה לפי הגדרה. ניקח \(u=\left(a,b\right)\), ונחשב:

\(\lim_{h\to0}\frac{f\left(0+hu\right)-f\left(0\right)}{h}=\lim_{h\to0}\frac{\left(ha\right)^{2}\left(hb\right)}{\left(ha\right)^{4}+\left(hb\right)^{2}}\frac{1}{h}=\lim_{h\to0}\frac{a^{2}b}{h^{2}a^{4}+b^{2}}=\frac{a^{2}}{b}\)

כמובן, בהנחה ש-\(b\ne0\), אחרת נקבל \(0\). בפרט ברור שהנגזרות החלקיות בנקודה הזו הן 0. אז על פניו טרנספורמציית האפס אמורה להיות הנגזרת של הפונקציה; אבל מן הסתם היא לא עובדת, ולכן הפונקציה לא גזירה למרות שהנגזרות החלקיות קיימות. הלקח כאן הוא שהסתכלות "חד ממדית" על הפונקציה מפספסת אינפורמציה חשובה – אפשר לקחת פונקציה שהיא כמו הפיל בסיפור על הפיל והעיוורים; שאם נסתכל עליה מכיוון מסויים, נראה משהו אחד, אבל אם נסתכל עליה מכיוון אחר נראה משהו שונה לחלוטין, וכך גם עבור כל כיוון הסתכלות חד ממדי אפשרי. חייבים להסתכל על הכל "בבת אחת" כדי לא לפספס.

חישבתי את הנגזרות החלקיות בנקודה 0, אבל עבור נקודות אחרות אני יכול לחשב אותן על פי חוקי הגזירה של פונקציות ממשיות: נאמר, כדי לגזור את \(\frac{x^{2}y}{x^{4}+y^{2}}\) לפי \(x\) אני חושב על \(y\) בתור קבוע ומשתמש בכללי הגזירה של מנת פונקציות. אני מקבל \(\frac{2xy\left(x^{4}+y^{2}\right)-x^{2}y\left(4x^{3}\right)}{\left(x^{4}+y^{2}\right)^{2}}=\frac{2x^{5}y+2xy^{3}-4x^{5}y}{\left(x^{4}+y^{2}\right)^{2}}=\frac{2xy^{3}-2x^{5}y}{\left(x^{4}+y^{2}\right)^{2}}=\frac{2xy\left(y^{2}-x^{4}\right)}{\left(x^{4}+y^{2}\right)^{2}}\).

כששואפים ל-0 על צירי \(x,y\) מקבלים 0, אבל על הציר \(\left(2t,t^{2}\right)\) נקבל \(\frac{4t^{3}\left(t^{4}-16t^{4}\right)}{\left(3t^{4}\right)^{2}}=-5\frac{t^{7}}{t^{8}}=-\frac{5}{t}\)

והיצור הזה מתפוצץ כש-\(t\) שואף לאפס, כך שקיבלנו נגזרת חלקית לא רציפה. זה מרמז לנו מה בעייתי פה – נגזרות לא רציפות הן יצורים שמתנהגים בצורה מעצבנת. ואכן, מסתבר שתנאי מספיק לגזירות של פונקציה הוא שהנגזרות החלקיות שלה יהיו קיימות ורציפות. פונקציה כזו נקראת "גזירה ברציפות", ואומרים שהיא שייכת למחלקה \(C^{1}\) (באופן כללי, \(C^{k}\) היא מחלקת הפונקציות שגזירות \(k\) פעמים והנגזרות רציפות; ו-\(C^{\infty}\) היא מחלקת הפונקציות שגזירות מספר כלשהו של פעמים והנגזרות, מן הסתם, רציפות). לעתים קרובות נוח לנו מראש להגביל את הדיון רק לפונקציות שהן \(C^{1}\) ואז הכל מתנהג נחמד; אבל באופן כללי קיימים מקרים פתולוגיים שצריך להיות מודעים אליהם.

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

פורמלית, הטענה שאני אוכיח היא זו: אם \(A\subseteq\mathbb{R}^{n}\) היא קבוצה פתוחה כך שלכל \(a\in A\) הנגזרות החלקיות של \(F\) קיימות ב-\(a\) ורציפות בה, אז \(F\) גזירה בכל נקודה של \(A\). "קבוצה פתוחה" היא קבוצה \(A\) כך שלכל \(a\in A\) קיים "כדור פתוח" סביב \(a\) שמוכל כולו ב-\(A\), כלומר יש \(\varepsilon>0\) כך ש\(\left|x-a\right|<\varepsilon\) גורר ש-\(x\in A\).

הרעיון הבסיסי פשוט: אם כל הנגזרות החלקיות של \(F\) קיימות, אנחנו יודעים בדיוק איך \(DF\left(a\right)\) אמור להיראות: \(DF\left(a\right)=\left(D_{1}F\left(a\right),\dots,D_{n}F\left(a\right)\right)\). לכן, בהינתן \(h\in\mathbb{R}^{n}\) כלשהו, \(DF\left(a\right)\cdot h=\sum D_{i}F\left(a\right)h_{i}\). היעד שלנו הוא להוכיח שמתקיים \(\lim_{h\to0}\frac{F\left(a+h\right)-F\left(a\right)-\sum D_{i}F\left(a\right)h_{i}}{\left|h\right|}=0\). אנחנו לא חייבים לטפל בכל \(h\) – מספיק לטפל בכל \(h\) שהוא קטן דיו כך שהכדור הפתוח ברדיוס \(h\) סביב \(a\) מוכל כולו ב-\(A\).

לשם כך אני ארצה לקבל תיאור אחר של \(F\left(a+h\right)-F\left(a\right)\), כזה שמשתמש בנגזרות החלקיות. האם זה מזכיר לכם משהו? זו סיטואציה דומה לזו של אחד מהמשפטים החשובים ביותר באינפי – משפט הערך הממוצע של לגראנז'. מכיוון שאני הולך להשתמש בו בהמשך, בואו נזכיר אותו. יש לנו פונקציה \(f:\left[a,b\right]\to\mathbb{R}\) שהיא גזירה לכל הפחות ב-\(\left(a,b\right)\) ורציפה על כל \(\left[a,b\right]\). השינוי הממוצע של \(f\) בכל הקטע הזה שווה בדיוק ל-\(\frac{f\left(b\right)-f\left(a\right)}{b-a}\). נגזרת, כזכור, היא תיאור של שינוי רגעי, ולכן כל עוד \(a,b\) מרוחקים זה מזה, לא מובטח שהנגזרת בנקודות הללו (אם היא בכלל קיימת) תתאר את השינוי הממוצע הזה. הקסם (ובעיני זה באמת קסם) הוא שקיימת בקטע נקודה שעבורה זה כן עובד: קיימת נקודה \(c\in\left(a,b\right)\) כך ש-\(\frac{f\left(b\right)-f\left(a\right)}{b-a}=f^{\prime}\left(c\right)\). דרך אחרת לחשוב על כך היא זו:\(f\left(b\right)-f\left(a\right)=\left(b-a\right)f^{\prime}\left(c\right)\), כלומר גודל השינוי של הפונקציה בקטע כולו יכול להיגזר מהשינוי הרגעי שלה ברגע נתון אחד – אבל כמובן, צריך לדעת איזה רגע.

הבעיה היא ש-\(F\left(a+h\right)-F\left(a\right)\) הוא לא ביטוי שאפשר להפעיל עליו ישירות את לגראנז', כי אנחנו לא ב-\(\mathbb{R}\) אלא ב-\(\mathbb{R}^{n}\). אבל כרגיל, אפשר לבצע מעין רדוקציה ל-\(\mathbb{R}\) על ידי פירוק הביטוי הזה לטור טלסקופי של איברים שכל אחד מהם יהיה חד-ממדי באופיו (טור טלסקופי הוא טור שכל האיברים בו מצמצמים זה את זה למעט הראשון והאחרון; למשל, אם נפתח את המכפלה \(\left(1+q+q^{2}+\dots q^{n}\right)\left(q-1\right)\) נקבל טור טלסקופי שאחרי צמצום יישאר ממנו רק \(q^{n+1}-1\), והופס קיבלנו את הנוסחה \(1+q+\dots+q^{n}=\frac{q^{n+1}-1}{q-1}\) לטור הנדסי).

בואו נכתוב את \(h\) במפורש רגע: \(h=\left(h_{1},h_{2},\dots,h_{n}\right)\). אפשר לתאר את \(h\) כסכום לפי הבסיס הסטנדרטי: \(h=\sum_{i=1}^{n}h_{i}e_{i}\). יהיה נוח לסמן "סכומים חלקיים" של \(a+h\) באופן הבא: \(p_{i}=a+\sum_{j=1}^{i}h_{j}e_{j}\) (כאשר \(p_{0}=a\), עם המוסכמה שלפיה הסכום הוא "ריק" אם האינדקס למעלה גדול מהערך ההתחלתי למטה). עכשיו קל לראות שמתקיים

\(F\left(a+h\right)-F\left(a\right)=F\left(p_{n}\right)-F\left(p_{n-1}\right)+F\left(p_{n-1}\right)-\dots-F\left(p_{1}\right)+F\left(p_{1}\right)-F\left(p_{0}\right)\)

זה טור טלסקופי שבו כל זוג של מחובר חיובי ואז שלילי, כלומר משהו מהצורה \(F\left(p_{i}\right)-F\left(p_{i-1}\right)\) מתאים לשני וקטורים שהם זהים, פרט לכך שקואורדינטה אחת במחובר החיובי היא \(h_{i}\) בעוד שמקבילתה במחובר השלילי היא 0; חשבו על כך כאילו אנחנו הולכים מהנקודה \(h\) אל הנקודה \(0\) "ציר אחד בכל פעם". אם אתם לא רואים את זה, ציירו את הנקודות \(\left(1,1,1\right),\left(0,1,1\right),\left(0,0,1\right),\left(0,0,0\right)\) והסתכלו על המסלול שעובר דרכן בסדר זה: תראו שקיבלנו קוביה שאנחנו הולכים על צלעות שלה. בואו נכתוב את הטור שוב, בסימון מקוצר:

אני הולך להשתמש בלגראנז' על \(F\left(p_{i}\right)-F\left(p_{i-1}\right)\), אבל מכיוון שהסימון אולי עדיין מבלבל, אני אכתוב את הכל במפורש בתור פונקציות ממשיות. נשתמש ב-\(t\) בתור משתנה שמייצג מספר ממשי. נגדיר \(f_{i}\left(t\right)=F\left(p_{i-1}+te_{i}\right)\) (כלומר, הרכיב ה-\(i\)-י הוא \(t\)). נסתכל על הקטע \(\left[0,h_{i}\right]\) (אם \(h_{i}\) שלילי אז צריך לכתוב את הקטע \(\left[h_{i},0\right]\), אבל זה לא באמת משנה). בגלל שבחרנו את \(h\) להיות קטן מספיק כך שהסביבה של \(a\) ברדיוס \(h\) מוכלת ב-\(A\), נקבל ש-\(F\left(p_{i-1}+te_{i}\right)\) מוגדרת לכל \(t\in\left[0,h_{i}\right]\), ומהנתון לגבי הנגזרות החלקיות, \(f_{i}\) היא גם גזירה ברציפות שם – כאן זה קריטי לחלוטין ש-\(f_{i}\) מקפיאה את כל הרכיבים למעט אחד.

עכשיו אפשר להשתמש בלגראנז' על \(f_{i}\) ולקבל שקיימת נקודה \(c_{i}\in\left[0,h_{i}\right]\) כך ש-\(f_{i}\left(h_{i}\right)-f_{i}\left(0\right)=h_{i}f_{i}^{\prime}\left(c_{i}\right)\). בואו נסמן ב-\(q_{i}\) את הנקודה המתאימה עבור \(F\), כלומר \(q_{i}=p_{i-1}+c_{i}e_{i}\). אז נקבל ש-\(F\left(p_{i}\right)-F\left(p_{i-1}\right)=D_{i}F\left(q_{i}\right)h_{i}\). הנה קיבלנו את הלגראנז' שלנו. אם נחזור אל הטור הטלסקופי ממקודם, קיבלנו ש-

\(F\left(a+h\right)-F\left(a\right)=\sum_{i=1}^{n}F\left(p_{i}\right)-F\left(p_{-1}\right)=\sum_{i=1}^{n}D_{i}F\left(q_{i}\right)h_{i}\)

נחזור עכשיו אל הגבול שאנחנו רוצים להוכיח:

\(\lim_{h\to0}\frac{F\left(a+h\right)-F\left(a\right)-\sum D_{i}F\left(a\right)h_{i}}{\left|h\right|}=0\)

נציב בו את מה שקיבלנו, ונקבל:

\(\lim_{h\to0}\frac{\sum D_{i}F\left(q_{i}\right)h_{i}-\sum D_{i}F\left(a\right)h_{i}}{\left|h\right|}=0\)

או, יותר פשוט

\(\lim_{h\to0}\sum\left(D_{i}F\left(q_{i}\right)-D_{i}F\left(a\right)\right)\frac{h_{i}}{\left|h\right|}=0\)

הנקודות \(q_{i}\) תלויות ב-\(h\); כאשר \(h\) שואף לאפס, הנקודות הללו שואפות ל-\(a\) (הוכיחו!). ומכיוון ש-\(D_{i}F\) רציפה, אז \(\lim_{q_{i}\to a}D_{i}F\left(q_{i}\right)=D_{i}F\left(a\right)\), כלומר הביטוי \(D_{i}F\left(q_{i}\right)-D_{i}F\left(a\right)\) שואף לאפס. הוא מוכפל בביטוי \(\frac{h_{i}}{\left|h\right|}\), שהוא כמובן חסום בערכו המוחלט על ידי \(1\) (כי \(\left|h\right|\) גדול מהערך המוחלט של כל אחד מהרכיבים של \(h\)). לכן קיבלנו שהגבול הוא אכן אפס, וזה מה שרצינו.

לסיכום, הכרנו את הנגזרת, ולמדנו איך לבדוק שהיא קיימת ולחשב אותה בצורה פשוטה יחסית, עבור מחלקה גדולה ויפה של פונקציות (\(C_{1}\)). בפוסט הבא נראה עוד דברים מגניבים שקשורים אליה.

נגזרת מרוכבת, פונקציות אנליטיות ונוסחאות קושי-רימן

המושג היסודי בחשבון דיפרנציאלי הוא מושג הנגזרת. כבר הקדשתי לו פוסט, אבל אחזור על הרעיון בקצרה: כאשר יש לנו פונקציה \(f\), אנחנו מעוניינים למדוד את קצב השינוי שלה. המושג האינטואיטיבי שלנו הוא זה של שינוי ממוצע – מסתכלים על ההפרש בין ערכי הפונקציה בשתי נקודות שונות, ומחלקים אותו בהפרש שבין הנקודות הללו. אם המרחק בין ת"א וחיפה הוא 100 ק"מ, והמרחק בין השעה שבה יצאנו מת"א – 8:00 – לשעה שבה הגענו לחיפה – 10:00 – הוא 2 שעות, אז השינוי הממוצע של פונקציית המיקום שלנו (פונקציה שמקבלת נקודת זמן ומחזירה את המיקום שלנו באותה נקודת זמן) בין שתי הנקודות הללו של 8:00 ו-10:00 הוא \(\frac{100}{2}=50\), כשהיחידות שבהן אנו מבצעים את המדידה הן ק"מ לשעה (במתמטיקה הפונקציות הן לרוב אבסטרקטיות – מקבלות מספרים חסרי יחידות ומחזירות מספרים חסרי יחידות – ולכן אנחנו לא מדברים על יחידות רוב הזמן). הבעיה בשינוי ממוצע שכזה היא בכך שהוא מתאר מה קרה לאורך פרק זמן ארוך כלשהו – הוא לא אומר לנו מה קרה בנקודת זמן מסויימת (כלומר, מה היינו רואים אם היינו מסתכלים במד המהירות בנקודת זמן כלשהי).

הדרך הנאיבית להתמודד עם הבעיה היא לומר – אוקיי, אז בואו נשתמש באותו תעלול שהשתמשנו בו עד כה. חישבנו את השינוי הממוצע בין ערך הפונקציה ב-\(x\) ובין ערכה ב-\(y\) על ידי הנוסחה \(\frac{f\left(x\right)-f\left(y\right)}{x-y}\)? יופי, בואו נציב \(x=y\) ונראה מה נקבל. לרוע המזל, נקבל ביטוי מהצורה \(\frac{0}{0}\) וביטוי כזה אינו מוגדר, ואין דרך טובה להגדיר אותו בצורה חד משמעית. אנחנו צריכים לנקוט בגישה קצת יותר חכמה כדי לחקור את \(f\).

הפתרון הוא כזה: כדי לדעת מה קצב השינוי של הפונקציה \(f\) בנקודה \(x\), מוסיפים ל-\(x\) ערך קטן מאוד אך לא אפס שאפשר לסמן ב-\(dx\), ואז מחשבים את \(\frac{f\left(x+dx\right)-f\left(x\right)}{dx}\). זה מה שניוטון ולייבניץ עשו. לרוע המזל, הפתרון הזה לא מוגדר עד הסוף מבחינה מתמטית – לא ברור מה בדיוק אומר מתמטית "קטן מאוד אך לא אפס", ואיך עובדים עם יצור כזה מבחינה טכנית – ניוטון ולייבניץ פשוט התייחסו אליו כאל אפס כשהיה נוח להם, ואל משהו שאינו אפס כשהיה נוח להם. אפשר לבצע פורמליזציה מתמטית של יצור כזה, אבל הגישה הסטנדרטית באנליזה היא שונה ומשתמשת במושג הגבול. הרעיון הבסיסי הוא לקחת ערך מספרי קונקרטי \(h\), לחשב את \(\frac{f\left(x+h\right)-f\left(x\right)}{h}\), ואז לשאול את עצמנו לאיזה ערך הביטוי הזה שואף כאשר \(h\) שואף לאפס. פורמלית וטכנית, מחשבים את הגבול \(\lim_{h\to0}\frac{f\left(x+h\right)-f\left(x\right)}{h}\).

מושג הגבול מצריך הגדרה קפדנית בפני עצמו, וגם לו הקדשתי פוסט. בכל זאת צריך להזכיר את ההגדרה המדויקת: הפונקציה \(f:\mathbb{R}\to\mathbb{R}\) מקיימת \(\lim_{x\to x_{0}}f\left(x\right)=L\) אם לכל \(\varepsilon>0\) קיים \(\delta>0\) כך שאם \(\left|x-x_{0}\right|<\delta\) אז \(\left|f\left(x\right)-L\right|<\varepsilon\). ועכשיו אנחנו צריכים לעצור ולשאול את עצמנו – מה בהגדרה הזו דורש את היות \(f\) פונקציה שמוגדרת על מספרים ממשיים? מה צריך לתקן כדי להיות מסוגלים להכליל את ההגדרה לפונקציות מעל מרחבים אחרים? התשובה היא פשוטה – הערך המוחלט.

הערך המוחלט משמש בהגדרת הגבול בתור מקרה פרטי של פונקצית מרחק, (או בשם אחר מטריקה). את המושג הזה אפשר להציג בצורה כללית מאוד: אם \(A\) היא קבוצה, אז מטריקה היא כל פונקציה \(d:A\times A\to\mathbb{R}\) כך ש-\(d\left(x,y\right)=0\) אם ורק אם \(x=y\), ו-\(d\left(x,y\right)=d\left(y,x\right)\) לכל \(x,y\), ו-\(d\left(x,y\right)\le d\left(x,z\right)+d\left(y,z\right)\) לכל \(x,y,z\). למה שלוש התכונות הללו דווקא? כי כשמסתכלים על מה שעושים בהוכחות שמערבות את מושג הגבול, אפשר לראות שאנחנו לא נזקקים לכל התכונות האפשריות של ערך מוחלט במהלך ההוכחה, ולעתים קרובות שלוש התכונות שציינתי מספיקות בהחלט כדי להשיג את אותן התוצאות.

לכן, השלב הראשון בהכללת מושג הנגזרת לפונקציות מרוכבות הוא הכללת מושג המרחק עבור מספרים מרוכבים. אבל זה קל – כבר ראינו איך מוגדר ערך מוחלט עבור מספרים מרוכבים: \(\left|a+bi\right|=\sqrt{a^{2}+b^{2}}\). זו אותה מטריקה בדיוק כמו המטריקה על \(\mathbb{R}^{2}\) שבה משתמשים כשרוצים להגדיר חשבון דיפרנציאלי על פונקציות מ- ואל \(\mathbb{R}^{2}\). אז בעצם, מה ההבדל בין חשבון דיפרנציאלי של פונקציות \(f:\mathbb{R}^{2}\to\mathbb{R}^{2}\) ובין פונקציות \(f:\mathbb{C}\to\mathbb{C}\)? נדבר על זה עוד מעט.

אז יש לנו מושג של גבול של פונקציה מרוכבת (ובדומה גם אפשר להגדיר גבול של סדרה מרוכבת, אבל אין לנו צורך בגבולות כאלו עדיין). מכאן ההגדרה של נגזרת מרוכבת נובעת כמעט מעצמה: אם \(f:\mathbb{C}\to\mathbb{C}\) היא פונקציה מרוכבת ו-\(z\in\mathbb{C}\) הוא מספר מרוכב כלשהו, אז אנו מגדירים \(f^{\prime}\left(z_{0}\right)=\lim_{\Delta z\to0}\frac{f\left(z_{0}+\Delta z\right)-f\left(z_{0}\right)}{\Delta z}\). אם הגבול הזה קיים (ושונה מאינסוף), אומרים שהפונקציה גזירה בנקודה \(z_{0}\). זה הכל. אין כאן שום דבר חדש למי שכבר מכיר חדו"א; אבל כפי שנראה בקרוב, אם \(f:\mathbb{C}\to\mathbb{C}\) היא גזירה, ההשלכות של זה הן קיצוניות יותר מאשר עבור פונקציה ממשית.

רגע, השלכות? אילו השלכות יכולות להיות לכך שפונקציה היא גזירה? ובכן, משפט בסיסי אחד בחדו"א הוא שכל פונקציה גזירה היא גם רציפה בכל נקודה שבה היא גזירה (רציפות פירושה ש-\(\lim_{x\to x_{0}}f\left(x\right)=f\left(x_{0}\right)\)). המשפט הזה תקף גם עבור פונקציות מרוכבות, וכפי שנראה, ההוכחה "אדישה" לשאלה אם הפונקציה מרוכבת או לא, כל עוד מושג הגבול שלנו מתנהג באותו האופן.

ההוכחה מתבססת על השוויון הבא: \(f\left(z_{0}+\Delta z\right)=f\left(z_{0}\right)+\frac{f\left(z_{0}+\Delta z\right)-f\left(z_{0}\right)}{\Delta z}\cdot\Delta z\) – שהוא, כמובן, טריוויאלי. מה שמעניין הוא מה שקורה כאשר משאיפים את \(\Delta z\) לאפס: מקבלים ש-

\(\lim_{\Delta z\to0}f\left(z_{0}+\Delta z\right)=\lim_{\Delta z\to0}\left(f\left(z_{0}\right)+\frac{f\left(z_{0}+\Delta z\right)-f\left(z_{0}\right)}{\Delta z}\cdot\Delta z\right)=f\left(z_{0}\right)+f^{\prime}\left(z_{0}\right)\cdot0=f\left(z_{0}\right)\)

כאשר השוויון האחרון נובע מכך ש-\(\lim_{\Delta z\to0}\frac{f\left(z_{0}+\Delta z\right)-f\left(z_{0}\right)}{\Delta z}=f^{\prime}\left(z_{0}\right)\) וזה מספר מרוכב, ואילו \(\lim_{\Delta z\to0}\Delta z=0\), וגבול של מכפלה של שני גבולות מתכנסים שווה למכפלה שלהם. רק כדי לשכנע אתכם סופית בכך שאין הבדל בין חדו"א רגיל ואנליזה מרוכבת בנקודה הזו, אני אחזור על איך מוכיחים את הטענה הזו. פורמלית אני רוצה להוכיח שאם \(\lim_{z\to z_{0}}f\left(z\right)=a\) ו-\(\lim_{z\to z_{0}}g\left(z\right)=b\) אז \(\lim_{z\to z_{0}}f\left(z\right)g\left(z\right)=ab\). כלומר, אני רוצה להיות מסוגל לחסום בצורה טובה את הביטוי \(\left|f\left(z\right)g\left(z\right)-ab\right|\). לשם כך, אני נוקט את התעלול הכי ישן בספר – מוסיף ומחסיר את אותו גורם, שאחרי טיפה משחקים אפשר לראות שכדאי שיהיה \(bf\left(z\right)\) כדי שנוכל לקבל חסם שכולל את שני הגבולות שאנחנו יודעים עליהם:

\(\left|f\left(z\right)g\left(z\right)-ab\right|=\left|f\left(z\right)g\left(z\right)+bf\left(z\right)-bf\left(z\right)-ab\right|=\left|f\left(z\right)\left[g\left(z\right)-b\right]+b\left[f\left(z\right)-a\right]\right|\)

\(\le\left|f\left(z\right)\right|\left|g\left(z\right)-b\right|+\left|b\right|\left|f\left(z\right)-a\right|\)

עכשיו, יהא \(\varepsilon>0\) כלשהו. אנחנו רוצים למצוא \(\delta\) כך שלכל \(z\) שמקיים \(\left|z-z_{0}\right|<\delta\), מתקיים ש-\(\left|f\left(z\right)\right|\left|g\left(z\right)-b\right|+\left|b\right|\left|f\left(z\right)-a\right|<\varepsilon\). ראשית, מכיוון ש-\(\lim_{z\to z_{0}}f\left(z\right)=a\) נובע מכך שקיים \(\delta_{1}\) כך שאם \(\left|z-z_{0}\right|<\delta_{1}\) אז \(\left|f\left(z\right)-a\right|<\frac{\varepsilon}{2\left|b\right|}\), ולכן \(\left|b\right|\left|f\left(z\right)-a\right|<\frac{\varepsilon}{2}\).

שנית, קיים \(\delta_{2}\) כך שאם \(\left|z-z_{0}\right|<\delta_{2}\) אז \(\left|f\left(z\right)-a\right|<1\), ולכן \(\left|f\left(z\right)\right|<1+a\). הויסה, רגע, רגע! איך עשיתי את זה? ובכן, תכונה כללית של ערך מוחלט: \(\left|x-y\right|\ge\left|x\right|-\left|y\right|\). איך מוכיחים אותה? ובכן, \(\left|x\right|=\left|x-y+y\right|\le\left|x-y\right|+\left|y\right|\). כל מה שאני מתבסס עליו הוא אי-שוויון המשולש (והטריק הרגיל של לחסר ולחבר את אותו הדבר).

כעת, קיים גם \(\delta_{3}\) כך שאם \(\left|z-z_{0}\right|<\delta_{3}\) אז \(\left|g\left(z\right)-b\right|<\frac{\varepsilon}{2\left(1+a\right)}\), ולכן אם \(\left|z-z_{0}\right|<\min\left\{ \delta_{2},\delta_{3}\right\} \) מתקיים \(\left|f\left(z\right)\right|\left|g\left(z\right)-b\right|<\left(1+a\right)\frac{\varepsilon}{2\left(1+a\right)}=\frac{\varepsilon}{2}\). המסקנה הסופית: נגדיר \(\delta=\min\left\{ \delta_{1},\delta_{2},\delta_{3}\right\} \) ונקבל שאם \(\left|z-z_{0}\right|<\delta\) אז

\(\left|f\left(z\right)\right|\left|g\left(z\right)-b\right|+\left|b\right|\left|f\left(z\right)-a\right|<\frac{\varepsilon}{2}+\frac{\varepsilon}{2}=\varepsilon\)

שימו לב בכמה מעט השתמשנו בהוכחה הזו.

חזרה לענייננו. הוכחנו שפונקציה גזירה היא גם רציפה; בואו נראה עוד כמה תכונות בסיסיות של נגזרות. תכונה נחמדה אחת של נגזרת היא שמדובר על אופרטור לינארי – זה אומר שאם \(a,b\in\mathbb{C}\) ו-\(f,g\) הן פונקציות מרוכבות, אז \(\left[af+bg\right]^{\prime}=af^{\prime}+bg^{\prime}\) (למי שמכיר אלגברה לינארית – זה אומר שאופרטור הגזירה הוא טרנספורמציה לינארית, עבור מרחבים וקטוריים מתאימים של פונקציות). ההוכחה לזה נובעת מייד מתכונות של גבולות ושימוש בהגדרה של נגזרת ולא אכנס אליה. תחת זאת אציג את ההוכחה למשהו טיפה יותר מסובך – נוסחת הנגזרת של מכפלה, שזהה גם היא למקרה הממשי: \(\left[fg\right]^{\prime}=f^{\prime}g+fg^{\prime}\). ההוכחה, כרגיל, מבוססת על לחבר ולהחסיר את אותו דבר:

\(\left[fg\right]^{\prime}\left(z_{0}\right)=\lim_{\Delta z\to0}\frac{fg\left(z_{0}+\Delta z\right)-fg\left(z_{0}\right)}{\Delta z}=\lim_{\Delta z\to0}\frac{fg\left(z_{0}+\Delta z\right)+f\left(z_{0}+\Delta z\right)g\left(z_{0}\right)-f\left(z_{0}+\Delta z\right)g\left(z_{0}\right)-fg\left(z_{0}\right)}{\Delta z}\)

\(=\lim_{\Delta z\to0}\frac{f\left(z_{0}+\Delta z\right)\left[g\left(z_{0}+\Delta z\right)-g\left(z_{0}\right)\right]}{\Delta z}+\lim_{\Delta z\to0}\frac{g\left(z_{0}\right)\left[f\left(z_{0}+\Delta z\right)-f\left(z_{0}\right)\right]}{\Delta z}\)

\(=f\left(z_{0}\right)g^{\prime}\left(z_{0}\right)+g\left(z_{0}\right)f^{\prime}\left(z_{0}\right)\)

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

ומה עם גזירה של פונקציות קונקרטיות? ובכן, בינתיים מה שפשוט להציג הוא את הגזירה של פולינום. פולינום הוא ביטוי מהצורה \(\sum a_{n}z^{n}\), ולכן אפשר להשתמש בלינאריות של הנגזרת כדי לקבל ש-\(\left[\sum a_{n}z^{n}\right]^{\prime}=\sum a_{n}\left[z^{n}\right]^{\prime}\), כלומר די למצוא את הנגזרת של פונקציות מהצורה \(f\left(z\right)=z^{n}\). פונקציות כאלו אפשר להציג אינדוקטיבית בתור \(z^{n}=z^{n-1}\cdot z\) ואז לגזור עם כלל הגזירה של מכפלה. בשביל הבסיס נצטרך להבין את הנגזרת של \(f\left(z\right)=z\), ואת זה אפשר לעשות ישירות מההגדרה:

\(f^{\prime}\left(z_{0}\right)=\lim_{\Delta z\to0}\frac{f\left(z_{0}+\Delta z\right)-f\left(z_{0}\right)}{\Delta z}=\lim_{\Delta z\to0}\frac{z_{0}+\Delta z-z_{0}}{\Delta z}=\lim_{\Delta z\to0}1=1\)

וכעת אפשר לנחש (אחרי שמנסים כמה מקרים פרטיים, או סתם לזכור מה קורה במספרים ממשיים) ש-\(\left[z^{n}\right]^{\prime}=nz^{n-1}\), ולהוכיח את זה באינדוקציה:

\(\left[z^{n}\right]^{\prime}=\left[z^{n-1}\right]^{\prime}z+z^{n-1}=\left(n-1\right)z^{n-2}\cdot z+z^{n-1}=nz^{n-1}\)

טוב, מספיק עם זה. עד עכשיו כל מה שעשיתי הוא לקחת תוצאות מחדו"א במספרים ממשיים ולהגיד "היי, תראו, איזה מגניב, זה עובד גם כאן!". עד כאן. אני רוצה להראות משהו חדש – את משוואות קושי-רימן. נתחיל דווקא בלדבר על פונקציות ממשיות מהמרחב לעצמו, דהיינו \(f:\mathbb{R}^{2}\to\mathbb{R}^{2}\). איך אפשר להגדיר נגזרת של פונקציה שכזו? אפשר לדבר על גבולות ב-\(\mathbb{R}^{2}\) – כבר אמרנו שיש לנו על \(\mathbb{R}^{2}\) את אותה מטריקה כמו ב-\(\mathbb{C}\), אבל משהו אחר ישתבש. אם ננסה להגדיר \(f^{\prime}\left(a_{0}\right)=\lim_{\Delta a\to0}\frac{f\left(a+\Delta a\right)-f\left(a\right)}{\Delta a}\) נקבל משהו שהוא ביטוי חסר משמעות, כי יש בו שבר שבו במונה ובמכנה יש איברים של \(\mathbb{R}^{2}\), כלומר אנחנו מחלקים איבר של \(\mathbb{R}^{2}\) באיבר אחר של \(\mathbb{R}^{2}\). אבל על \(\mathbb{R}^{2}\) אין לנו מושג של חילוק – \(\mathbb{R}^{2}\) אינו שדה. אם אתם זוכרים, בפוסט הראשון על פונקציות מרוכבות התייחסתי לנקודה הזו. המספרים המרוכבים הם כן שדה בזכות פעולת כפל "מתוחכמת" (שממנה נובעת פעולת החילוק). הנה הנקודה המדוייקת שבו האנליזה של \(\mathbb{R}^{2}\) נפרדת מהאנליזה המרוכבת.

אבל מה כן עושים ב-\(\mathbb{R}^{2}\)? דרך אחת לתאר פונקציות כאלו היא בתור זוג פונקציות \(u,v:\mathbb{R}^{2}\to\mathbb{R}\) שמקבלות כל אחת זוג ערכים ומחזירות ערך בודד: \(f\left(x,y\right)=\left(u\left(x,y\right),v\left(x,y\right)\right)\). כעת אפשר לדבר על הנגזרות של כל פונקציה כזו בנפרד. אבל מה המשמעות של נגזרת של פונקציה בשני משתנים? חשבו על הפונקציה כאילו היא מתארת קווי גובה של הר – לכל נקודה במישור מותאם ה"גובה" שלה. אז נגזרת של הפונקציה היא שיפוע ההר בנקודה מסויימת; אבל הכרחי לשאול – שיפוע ביחס לאיזה כיוון? חשבו על שפת תהום, שבה בכיוון אחד יש לנו נפילה בכיוון אנכי ובכיוון אחר יש לנו משטח אופקי…

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

\(\frac{\partial u}{\partial x}\left(x,y\right)=\lim_{\Delta x\to0}\frac{u\left(x+\Delta x,y\right)-u\left(x,y\right)}{\Delta x}\)

\(\frac{\partial u}{\partial y}\left(x,y\right)=\lim_{\Delta y\to0}\frac{u\left(x,y+\Delta y\right)-u\left(x,y\right)}{\Delta y}\)

כאשר כאן \(a,b\in\mathbb{R}\). הסימון \(\frac{\partial u}{\partial x}\) לתיאור נגזרת חלקית הוא וריאציה על הסימון \(\frac{du}{dx}\) לתיאור נגזרת של פונקציה במשתנה יחיד (ה-\(\partial\) הוא מין \(d\) מסולסלת).

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

ובכן, תהא \(f:\mathbb{C}\to\mathbb{C}\) פונקציה מרוכבת. אפשר להציג אותה בתור זוג של פונקציות ממשיות \(u,v:\mathbb{R}^{2}\to\mathbb{R}\): \(f\left(x+yi\right)=u\left(x,y\right)+iv\left(x,y\right)\). עכשיו, נרצה לחשב את הנגזרת של \(f\) בנקודה \(z=x+iy\) בשתי דרכים שונות. בואו נסתכל קודם כל על הגבול הבא:

\(\lim_{\Delta x\to0}\frac{f\left(z+\Delta x\right)-f\left(z\right)}{\Delta x}\)

כאשר \(\Delta x\in\mathbb{R}\). הגבול הזה הוא מעין גרסה מצומצמת של הגבול ה"כללי", שבו מה ששואף לאפס יכול להיות מספר מרוכב כלשהו ולא רק מספר ממשי. אם הגבול ה"כללי" קיים, אז בפרט הגבול ה"פרטי" קיים ושווה לו (תרגיל קל למדי להוכחה – עבור אפסילון נתון זו אותה הדלתא!). מצד שני, אם נעבור להציג את \(f\) בעזרת הפונקציות הממשיות, נקבל:

\(f^{\prime}\left(z\right)=\lim_{\Delta x\to0}\frac{u\left(x+\Delta x,y\right)-u\left(x,y\right)}{\Delta x}+\lim_{\Delta x\to0}i\frac{v\left(x+\Delta x,y\right)-v\left(x,y\right)}{\Delta x}=\frac{\partial u}{\partial x}\left(x,y\right)+i\frac{\partial v}{\partial x}\left(x,y\right)\)

עד כאן, מתבקש; אבל עכשיו בואו נחשב את הגבול לא לאורך ציר \(x\) אלא לאורך ציר \(y\): נחשב את הגבול

\(\lim_{\Delta y\to0}\frac{f\left(z+i\Delta y\right)-f\left(z\right)}{i\Delta y}\)

כאשר \(\Delta y\in\mathbb{R}\).

תזכרו מה זה אומר לחלק ב-\(i\): מכיוון ש-\(i^{4}=1\) אז \(\frac{1}{i}=i^{3}\), ומצד שני \(i^{3}=i^{2}i=-i\). לכן לחלק ב-\(i\) זה בעצם לכפול ב-\(-i\). מכאן שנקבל:

נקבל:

\(f^{\prime}\left(z\right)=\lim_{\Delta y\to0}\frac{u\left(x,y+\Delta y\right)-u\left(x,y\right)}{i\Delta y}+\lim_{\Delta x\to0}i\frac{v\left(x,y+\Delta y\right)-v\left(x,y\right)}{i\Delta y}=-i\frac{\partial u}{\partial y}\left(x,y\right)+\frac{\partial v}{\partial y}\left(x,y\right)\)

כלומר, דווקא \(u\) (החלק ה"ממשי") הוכפל בסופו של דבר ב-\(-i\), ואילו \(v\) בסוף יצא עם מקדם 1, בלי \(i\) ובלי מינוס ובלי שום דבר.

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

\(\frac{\partial u}{\partial x}\left(x,y\right)+i\frac{\partial v}{\partial x}\left(x,y\right)=\frac{\partial v}{\partial y}\left(x,y\right)-i\frac{\partial u}{\partial y}\left(x,y\right)\)

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

\(\frac{\partial u}{\partial x}=\frac{\partial v}{\partial y}\)

\(\frac{\partial u}{\partial y}=-\frac{\partial v}{\partial x}\)

שמתקיימות בכל נקודה שבה \(f\) גזירה. המשוואות הללו נקראות משוואות קושי-רימן.

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

\(\frac{\partial^{2}u}{\partial x^{2}}=\frac{\partial v}{\partial x\partial y}\)

\(\frac{\partial^{2}u}{\partial y^{2}}=-\frac{\partial v}{\partial y\partial x}\)

\(\frac{\partial v}{\partial x\partial y}\) הוא מה שמקבלים כשגוזרים את \(v\) קודם על פי \(x\) ואז על פי \(y\) ו-\(\frac{\partial v}{\partial y\partial x}\) הוא מה שקורה כשגוזרים על פי הסדר ההפוך. יש משפט באנליזה שמראה שאם הנגזרות ה"מעורבות" הללו רציפות אז הן שוות, כלומר \(\frac{\partial v}{\partial y\partial x}=\frac{\partial v}{\partial x\partial y}\); המסקנה היא שבמקרה שלנו \(\frac{\partial^{2}u}{\partial x^{2}}+\frac{\partial^{2}u}{\partial y^{2}}=0\). בניסוח אחר, \(u\) היא פונקציה שמתאפסת על ידי אופרטור הלפליסאן, \(\Delta=\frac{\partial^{2}}{\partial x^{2}}+\frac{\partial^{2}}{\partial y^{2}}\). לפונקציות כאלו יש שם מיוחד – פונקציות הרמוניות. אני לא נכנס עכשיו לפרטים של מה זה בדיוק אומר; אני רק רוצה שנקבל תחושה של איך שמשוואות קושי רימן מצביעות על כך שלא כל פונקציה מהרחוב יכולה להשתתף בפרוייקט הכביר והנשגב של בניית פונקציה מרוכבת גזירה: יש תנאים לא טריוויאליים שצריכים להתקיים.

עכשיו אני רוצה להכניס לתמונה מושג שעד כה החבאתי – פונקציה אנליטית. למשמעות המלאה של המושג הזה נגיע רק בהמשך, אז בינתיים אתן הגדרה יבשה למדי – אם \(D\) היא קבוצה פתוחה במישור המרוכב – מה שאקרא לו גם "תחום" – אז פונקציה מרוכבת \(f:D\to\mathbb{C}\) היא אנליטית אם היא גזירה בכל נקודה של \(D\) (אם תחום ההגדרה של \(f\) רחב יותר אפשר להצטמצמם רק ל-\(D\) ולומר ש-"\(f\) אנליטית על \(D\)"). שימו לב שאנליטיות היא לא תכונה נקודתית – היא תכונה שמתארת את התנהגות הפונקציה בתוך קבוצה פתוחה. מה זו קבוצה פתוחה? בהקשר של המישור המרוכב, זוהי קבוצה שכל נקודה בה היא נקודה פנימית של הקבוצה: לכל \(z_{0}\in D\) קיים \(r>0\) ממשי כך שאם \(\left|z-z_{0}\right|<r\) אז \(z\in D\) (ציורית, כל נקודה \(z_{0}\) בקבוצה ניתן להקיף בעיגול קטן שכולו מוכל בקבוצה). למה חשוב לנו ש-\(D\) תהיה פתוחה? נראה זאת בהמשך; אנליטיות של פונקציה נותנת לנו "קצת יותר" מאשר גזירות בלבד.

עכשיו אני רוצה לתאר בנפנוף ידיים את הכיוון השני של המשפט על נוסחאות קושי-רימן: לא רק שמדובר על תנאי הכרחי עבור פונקציות כדי שיוכלו להרכיב פונקציה אנליטית, זה גם תנאי מספיק: אם \(u,v\) הן בעלות נגזרות חלקיות רציפות שמקיימות את משוואות קושי רימן על תחום \(D\) כלשהו, אז \(u+iv\) היא פונקציה אנליטית.

ההוכחה לא מסובכת, אבל מתבססת על עוד משהו באנליזה "רגילה" שלא הראיתי אף פעם – פיתוח טיילור של פונקציה בשני משתנים. בקצרה, אפשר לכתוב את הערך של \(u\) אחרי שמזיזים טיפה את הערכים שלה ביחס לנקודה \(\left(x,y\right)\) נתונה על ידי הערך שלה ב-\(\left(x,y\right)\), הערכים של הנגזרות החלקיות הראשונות שלה ב-\(\left(x,y\right)\), ועוד שארית "קטנה". זה מתואר על ידי הנוסחה המזעזעת הבאה:

\(u\left(x+\Delta x,y+\Delta y\right)=u\left(x,y\right)+\frac{\partial u}{\partial x}\left(x,y\right)\Delta x+\frac{\partial u}{\partial y}\left(x,y\right)\Delta y+R\left(\Delta x,\Delta y\right)\)

כאשר \(R\left(\Delta x,\Delta y\right)\) היא "קטנה", במובן זה שאם נסמן \(\Delta z=\Delta x+i\Delta y\) נקבל ש-\(\lim_{\Delta z\to0}\frac{R\left(\Delta x,\Delta y\right)}{\left|\Delta z\right|}=0\). באותו אופן אפשר לכתוב עבור \(v\):

\(v\left(x+\Delta x,y+\Delta y\right)=v\left(x,y\right)+\frac{\partial v}{\partial x}\left(x,y\right)\Delta x+\frac{\partial v}{\partial y}\left(x,y\right)\Delta y+S\left(\Delta x,\Delta y\right)\)

ועכשיו, אם נכתוב את \(f\left(z+\Delta z\right)=u\left(x+\Delta x,y+\Delta y\right)+iv\left(x+\Delta x,y+\Delta y\right)\) במפורש על פי הנוסחאות שלמעלה ונשתמש בנוסחאות קושי רימן, העסק המזוויע הזה יצטמצם למשהו שדי קל להבין:

\(f\left(z+\Delta z\right)=f\left(z\right)+\left(\frac{\partial u}{\partial x}\left(x,y\right)+i\frac{\partial v}{\partial x}\left(x,y\right)\right)\Delta z+R\left(\Delta z\right)+iS\left(\Delta z\right)\)

עכשיו קחו את האיבר הראשון באגף ימין, חסרו אותו משני האגפים, חלקו אותם ב-\(\Delta z\), והופס:

\(\frac{f\left(z+\Delta z\right)-f\left(z\right)}{\Delta z}=\left(\frac{\partial u}{\partial x}\left(x,y\right)+i\frac{\partial v}{\partial x}\left(x,y\right)\right)+\frac{R\left(\Delta z\right)+iS\left(\Delta z\right)}{\Delta z}\)

ואחרי השאפת \(\Delta z\) לאפס נישאר עם \(f^{\prime}\left(z\right)=\frac{\partial u}{\partial x}\left(x,y\right)+i\frac{\partial v}{\partial x}\left(x,y\right)\) . קיבלנו ש-\(f\) גזירה וגם מצאנו נוסחה לנגזרת שלה.

בואו נראה דוגמה קלילה לסיום, כי בלי זה באמת אי אפשר. כזכור, הגדרנו את פונקצית האקספוננט (על התחום \(\mathbb{C}\)) באופן הבא: \(e^{x+iy}=e^{x}\cos y+ie^{x}\sin y\). כלומר, \(u\left(x,y\right)=e^{x}\cos y\) ו-\(u\left(x,y\right)=e^{x}\sin y\) במקרה שלנו. בואו נחשב את הנגזרות החלקיות:

\(\frac{\partial u}{\partial x}=e^{x}\cos y\)

\(\frac{\partial u}{\partial y}=-e^{x}\sin y\)

\(\frac{\partial v}{\partial x}=e^{x}\sin y\)

\(\frac{\partial v}{\partial y}=e^{x}\cos y\)

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

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

המשפט היסודי של החשבון הדיפרנציאלי והאינטגרלי

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

בתור התחלה, בואו נדבר על מושג שהזכרתי בחטף בסיום הפוסט שעסק בחישוב נגזרות – "אנטי-נגזרת" (באנגלית זה נשמע טיפה יותר טוב – Antiderivative), או בשם קצת יותר מקובל – פונקציה קדומה. פונקציה קדומה של פונקציה \(f\) היא פונקציה \(F\) כך ש-\(F^{\prime}=f\). כך למשל, פונקציה קדומה של \(f\left(x\right)=3x^{2}\) היא \(F\left(x\right)=x^{3}\). מאיפה ידעתי זאת? ובכן, זו הייתה אחת מהבשורות המרות בפוסט הקודם; בעוד שבכל הנוגע לנגזרת יש לנו ידע מצויין לגבי האופן שבו גזירה מתבצעת, עד כי אנחנו מסוגלים לחשב את הנגזרת של מרבית הפונקציות המעניינות אותנו בלי להפעיל כלל מחשבה (מה שאומר שאנחנו יכולים לתת למחשב לשבור על כך את הראש ולנוח), הרי שבכל הנוגע לחישוב פונקציות קדומות אין פתרונות קסם. יש הרבה ניסוי וטעיה שנכללים בחישוב של פונקציות קדומות. הרבה היכרות עם פונקציות קדומות של פונקציות קיימות (קחו פונקציה פשוטה, תגזרו אותה ותראו מה תקבלו – עכשיו אתם יודעים מה קורה בכיוון השני; כך למשל אפשר לראות שהפונקציה הקדומה של \(\frac{1}{1+x^{2}}\) היא \(\mbox{atan}\left(x\right)\), בעוד שמי היה חושב על זה בלי לגזור את \(\mbox{atan}\left(x\right)\) קודם?) ועוד כמה כללי אצבע מועילים וטכניקות פשוטות שלא אכנס כאן לתיאור שלהן. השורה התחתונה היא שאנחנו יודעים לחשב פונקציות קדומות לפונקציות רבות אך לא לכולן, וזה לא הכי כיף בעולם.

יש בעייתיות קטנה בדיבור על "הפונקציה הקדומה של פונקציה", שנובעת מכך שלכל פונקציה יש הרבה פונקציות קדומות שונות, כי גזירה של פונקציה קבועה מאפסת אותה. לכן, אם \(F^{\prime}=f\) אז גם \(\left(F+C\right)^{\prime}=f\)לכל קבוע \(C\). מצד שני, לא קשה להראות שזהו ההבדל היחיד שיכול להיות בין פנקציות קדומות שונות: אם \(F,G\) שתיהן פונקציות קדומות של \(f\) אז \(\left(F-G\right)^{\prime}=f-f=0\), כלומר הנגזרת של הפונקציה שהיא ההפרש בין \(F,G\) היא אפס בכל נקודה ולכן זו חייבת להיות פונקציה קבועה (לא הוכחתי זאת אך אינטואיטיבית זה ברור – נגזרת אפס בכל נקודה אומר שהפונקציה אינה משתנה ולו טיפה באף נקודה. הוכחה תגיע אולי בפוסט ייעודי שידבר על כמה מהשימושים הנחמדים של הנגזרת). לכן בתיכון אוהבים לנג'ס לתלמידים שמחשבים פונקציה קדומה של משהו ולתבוע מהם לכתוב "\(+C\)" אחריה כדי שיהיה ברור שבעצם יש לנו כאן קבוצה של פונקציות קדומות שנבדלות בקבוע ובלה בלה בלה. אני אישית מעולם לא הבנתי את הקטע.

יפה, אז נניח שאנחנו כן יודעים לחשב פונקציות קדומות פה ושם. איך זה עוזר לנו? ובכן, כאן מגיע הזבנג הגדול – היכולת לחשב פונקציות קדומות נותנת לנו את היכולת לחשב אינטגרלים. זה מפתיע, כי הנה התקשרו להם שני מושגים לא קשורים. מה שקורה הוא שאם \(f\left(x\right)\) היא פונקציה כך שהאינטגרל המסויים \(\int_{a}^{b}f\left(x\right)dx\) קיים, ואם יש לה פונקציה קדומה \(F\left(x\right)\) בקטע \(\left[a,b\right]\) (כלומר, לכל נקודה בקטע מתקיים \(F^{\prime}\left(x\right)=f\left(x\right)\)) אז \(\int_{a}^{b}f\left(x\right)dx=F\left(b\right)-F\left(a\right)\). כלומר, כדי לחשב את האינטגרל המסויים של הפונקציה בקטע – ולא משנה כמה היא משתוללת בקטע – מספיק למצוא את ההפרש בין ערכי הפונקציה הקדומה שלה בקצוות הקטע. אני לא יודע מה אתכם, אבל כשאני שמעתי על זה לראשונה הרגשתי שמרמים אותי ושמשהו לא תקין ביקום (אם כי יש להודות שכאשר מגיעים לחדו"א של פונקציות מרוכבות צצות ועולות תוצאות מטורפות הרבה יותר).

טוב, אז כמובן שזה רק נראה מטורף על פניו. במבט שני, המשפט דווקא הגיוני למדי. מה זה אומר ש-\(F\) היא הפונקציה הקדומה של \(f\)? ש-\(f\) מתארת את "כמות ההשתנות הרגעית" של \(F\) בכל נקודה. אם מבצעים אינטגרל על \(f\), בעצם מודדים את כמות ההשתנות של \(F\), ולכן לא מפליא כל כך שההפרש בין הערכים של \(F\) בקצותיה מתאר את אותה כמות השתנות. אפשר לחזור לדוגמאות פיזיקליות כדי לשפר את האינטואיציה: \(f\) מתארת מהירות, ואילו \(F\) מתארת מיקום. האינטגרל על \(f\) אכן אמור לתאר בדיוק את גודל השינוי במיקום (שימו לב שזה אינו אותו דבר כמו המרחק הכולל שעברנו – אם \(f\) מתארת תנועה שבה בהתחלה נסענו לכיוון אחד ואחר כך נסענו לכיוון ההפוך באותה מהירות ואותה כמות זמן, האינטגרל הכולל יהיה אפס; כדי למדוד את המרחק הכולל שעברנו צריך לחשב את \(\int_{a}^{b}\left|f\left(x\right)\right|dx\)). לסיום, שימו לב שלא חשוב איזו פונקציה קדומה של \(f\) אנחנו לוקחים – כי \(F\left(b\right)-F\left(a\right)=\left(F\left(b\right)+C\right)-\left(F\left(a\right)-C\right)\). לכן ההקפדה על הבדלה בין הפונקציות הקדומות השונות האפשריות נראית עוד יותר מיותרת.

מה שתיארתי כאן נקרא בשם המפוצץ המשפט היסודי של החשבון הדיפרנציאלי והאינטגרלי ויש בכך צדק מסויים שכן הוא קושר את מושגי הנגזרת והאינטגרל יחד. אם להיות הגונים, המשפט המלא אומר עוד משהו פרט לתוצאה שתיארתי למעלה – שלכל פונקציה רציפה קיימת פונקציה קדומה, וגם מתאר איך היא נראית. לכל \(f\) אפשר להגדיר פונקציה על ידי \(F\left(x\right)=\int_{a}^{x}f\left(t\right)dt\), כאשר \(a\) היא נקודה שרירותית. המשפט אומר כי בכל נקודה \(c\) שבה \(f\) היא רציפה, מתקיים ש-\(F\) גזירה וש-\(F^{\prime}\left(c\right)=f\left(c\right)\) (אני קצת לא מדייק טכנית – פורמלית המשפט מדבר על מה שקורה בקטע סגור – אבל נעזוב את זה). שימו לב שהבחירה השרירותית של \(a\) היא זו שקובעת איזה מאינספור הפונקציות הקדומות השונות של \(f\) נקבל – אם נבחר \(a\) אחר, נקבל \(F\) אחרת, אך כזו ששונה בקבוע בלבד מה-\(F\) "שלנו" (קל לראות את זה מתכונה של האינטגרל שלא תיארתי: \(\int_{a}^{b}f\left(x\right)dx=\int_{a}^{c}f\left(x\right)dx+\int_{c}^{b}f\left(x\right)dx\) – מדוע תכונה זו אכן מסייעת לנו להוכחת הטענה שלי?)

גם כאן לא קשה לראות את האינטואיציה שמובילה למשפט: \(F^{\prime}\left(c\right)\) היא השינוי הרגעי של \(F\) באיזור הנקודה \(c\). אם אנו ממשיכים לחשוב על אינטגרל כעל סכום, הרי שזהו השינוי שיתרחש בדיוק כאשר אנו מוסיפים לסכום את הערך של \(f\) בנקודה \(c\), כלומר \(f\left(c\right)\). הרציפות כאן היא הכרחית כי בגלל המשקל האפסי שיש לכל איבר בסכום, אם \(f\) הייתה "משתגעת" בנקודה \(c\) וקופצת לערך לא קשור בעליל, זה לא היה משפיע על האינטגרל. אלו פרטים טכניים שקשה להבהיר עם נפנופי הידיים שלי, וכאשר מנסים להוכיח פורמלית את המשפט הם צצים מאליהם – זוהי עוד דוגמה אחת מני רבות לאופן שבו הבנה אמיתית (וגם אינטואיציה חזקה יותר) של "מה שהולך שם" מגיעה רק על ידי לכלוך הידיים בפרטים הטכניים, שלטעמי הם מעניינים למדי כאן.

בואו נעבור לדוגמה קלאסית שכעת היא בהישג ידינו – חישוב שטח של עיגול. בפרט, עיגול היחידה – העיגול שרדיוסו 1. אי אפשר לתאר מעגל באמצעות פונקציה ממשית, כי למשל הנקודות \(\left(0,1\right)\) ו\(\left(0,-1\right)\) שתיהן על המעגל (אלו הנקודות העליונה והתחתונה ביותר) ולכן אם \(f\) הייתה מתארת את המעגל אז \(f\left(0\right)\) הייתה צריכה להיות גם 1 וגם מינוס 1 וזה אומר שזו אינה פונקציה. כמובן שיש דרך לתאר מעגל כפונקציה, אבל לא פונקציה \(f:\mathbb{R}\to\mathbb{R}\) אלא \(f:\mathbb{R}\to\mathbb{R}^{2}\) (פונקציה שמעבירה מספר ממשי לזוג מספרים ממשיים). גם על פונקציות כאלו ניתן לעשות חדו"א אבל התיאוריה מורכבת מעט יותר ואין סיבה להיכנס לכך כרגע.

מה כן אפשר לעשות? לתאר חצי מעגל באמצעות פונקציה. הפונקציה תתאר את הקו שהוא החצי העליון של המעגל. מכיוון שזהו מעגל היחידה, כל נקודה \(\left(x,y\right)\) שעליו מקיימת את המשוואה \(x^{2}+y^{2}=1\) (למה? משפט פיתגורס – קחו נקודה על המעגל, הורידו אנך לציר \(x\), חברו את הנקודה לראשית הצירים בקו וחפשו טוב טוב את המשולש ישר הזווית). אם כן, \(y^{2}=1-x^{2}\). נוציא שורש לשני האגפים, ונקבל ש-\(y=\pm\sqrt{1-x^{2}}\); כאן אנחנו רואים איך יש לנו שתי בחירות אפשריות לערך של \(f\left(x\right)\). מכיוון שאנו רוצים לתאר את חצי המעגל העליון, נבחר תמיד באפשרות החיובית, כלומר נגדיר את הפונקציה \(f\left(x\right)=\sqrt{1-x^{2}}\). פונקציה זו, בתחום \(-1\le x\le1\) מתארת את חצי מעגל היחידה העליון, ולכן השטח שכלוא בינה ובין ציר ה-\(x\), שהוא בדיוק \(\int_{-1}^{1}f\left(x\right)dx\), הוא שטח חצי עיגול היחידה. במילים אחרות, שטח עיגול היחידה הוא בדיוק \(2\cdot\int_{-1}^{1}\sqrt{1-x^{2}}dx\). בואו נחשב את האינטגרל הזה.

הדרך לחשב את האינטגרל היא לגלות מהי הפונקציה הקדומה של \(\sqrt{1-x^{2}}\). באופן לא מפתיע כל כך, הפונקציות הטריגונומטריות באות לעזרתנו (למה לא מפתיע? כי הן קשורות בקשר אמיץ למעגלים). באופן כללי משהו מהצורה \(1-x^{2}\) גורם לכמה נורות אדומות להבהב בראש של מי שכבר תרגל את הנושא הזה עוד ועוד. מה שעושים הוא לבצע הצבה: נסמן \(x=\sin t\), ובכך נחשוב על \(x\) לא בתור משתנה חופשי אלא בתור תוצאה של הפעלה של סינוס על משתנה חופשי \(t\), ואז נקבל:

\(\sqrt{1-x^{2}}=\sqrt{1-\sin^{2}t}=\sqrt{\cos^{2}t}=\cos t\)

קסם!

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

אם כן, בואו ננסה להבין לרגע מה הולך כאן. הייתה לי פונקציה \(f\left(x\right)\) ורציתי למצוא פונקציה \(F\left(x\right)\) כך ש-\(F^{\prime}\left(x\right)=f\left(x\right)\). כעת התחלתי לשחק ב"נדמה לי", לפיו גם \(x\) הוא בעצמו פונקציה, נקרא לה \(g\left(t\right)\), ולכן אפשר לחשוב על \(f\) בתור \(f\left(g\left(t\right)\right)\). עכשיו, \(\left(F\left(g\left(t\right)\right)\right)^{\prime}=F^{\prime}\left(g\left(t\right)\right)\cdot g^{\prime}\left(t\right)\) על פי כלל השרשרת, ובמילים אחרות – אם אנחנו רוצים למצוא את הפונקציה הקדומה \(F\), אנחנו לא רוצים למצוא את הפונקציה הקדומה של \(\cos t\) לבדו (מי שינסה לעשות זאת יגלה את התוצאה המוזרה לפיה הפונקציה הקדומה של \(\sqrt{1-x^{2}}\) היא \(F\left(x\right)=x\), וזה כמובן לא נכון), אלא את הפונקציה הקדומה של \(\cos t\cdot\cos t\) (כי הנגזרת של \(\sin t\) היא \(\cos t\)). במילים אחרות, את הפונקציה הקדומה של \(\cos^{2}t\). מי שהתבלבל ולא הבין מה הלך כאן (וגם אני מתבלבל למרות שכרגע כתבתי את זה), לא נורא – זה עוד אחד מהפרטים הטכניים הקריטיים שקשה להסביר כאן על קצה המזלג, וחשוב להבין רק את האתגר הסופי שהגענו אליו – מציאת פונקציה קדומה של \(\cos^{2}t\).

זו לא פונקציה שקל למצוא לה פונקציה קדומה באופן נאיבי. אמנם, הנגזרת של \(\sin t\) היא \(\cos t\) אבל זה ממש לא אומר שהנגזרת של \(\sin^{2}t\) היא \(\cos^{2}t\) – נסו לגזור ותראו מה קורה. אם כן, עדיף לפשט קודם. לצורך הפישוט אגייס ללא הוכחה זהות טריגונומטרית – \(\cos^{2}t=\frac{1+\cos2t}{2}\). היד אמנם טיפה רועדת כשאני משתמש כך בזהות שאין לי שום דרך טובה להגיד מאין היא באה פרט ל"בואו נזכור שיש דבר כזה בתיכון", וזה נותן לי מוטיבציה לכתוב פוסט שיסביר אחת ולתמיד מה ההגיון מאחורי כל הזהויות הללו ואיך אפשר לדעת לפתח אותן מאפס – אבל לא עכשיו.

למצוא את הפונקציה הקדומה של \(\frac{1+\cos2t}{2}\) זה כבר קל יחסית. ראשית, מה הפונקציה הקדומה של \(\cos2t\)? לא קשה לראות שזוהי \(\frac{\sin2t}{2}\). מכאן קצרה הדרך, בעזרת מה שאנחנו יודעים על חוקי הנגזרות, להסיק שהפונקציה הקדומה שאנחנו מחפשים היא \(\frac{t}{2}+\frac{\sin2t}{4}\). נסו לגזור את היצור הזה ותראו מה תקבלו. סינוס של זווית כפולה הוא קצת בעייתי לנו, ולכן נשתמש בעוד זהות טריגונומטרית ידועה: \(\sin2t=2\sin t\cos t\), ונקבל \(\frac{t+\sin t\cos t}{2}\).

הכל טוב ויפה רק שאנחנו עדיין בפונקציה לפי \(t\) ולא לפי \(x\). מכיוון ש-\(x=\sin t\), אז \(t=\mbox{arcsin}x\) (\(\mbox{arcsin}\) היא הפונקציה ההופכית ל-\(\sin\)). לכן \(\sin t=\sin\left(\mbox{arcsin}x\right)=x\) והכל טוב ויפה, אבל מה זה \(\cos t\)? ובכן, נביע גם אותו באמצעות סינוס: \(\cos t=\sqrt{1-\sin^{2}t}=\sqrt{1-x^{2}}\). נראה מוכר? כמובן, הרי זה מה שהתחלנו ממנו, רק בכיוון ההפוך!

אם כן, נקבל לבסוף את הפונקציה הקדומה הבאה: \(F\left(x\right)=\frac{\mbox{arcsin}x+x\sqrt{1-x^{2}}}{2}\). אם תגזרו את זה אכן תקבלו בסוף \(\sqrt{1-x^{2}}\) – אבל שימו לב כמה הפונקציה הקדומה "מכוערת" ביחס לנגזרת שלה, ובאופן כללי כמה לא פשוט היה התהליך של חישוב הפונקציה הקדומה. כאמור – ככה זה, אבל זה לא סוף העולם.

עכשיו אנחנו יכולים סוף סוף לחשב את האינטגרל \(\int_{-1}^{1}f\left(x\right)dx\) – על פי המשפט היסודי של החדו"א, הוא שווה ל-\(F\left(1\right)-F\left(-1\right)\). מהו \(F\left(1\right)\)? ובכן, ראשית כל \(\mbox{arcsin}\left(1\right)\) היא אותה זווית (בתחום שבין \(-\pi\) ו-\(\pi\)) שכאשר מציבים אותה בסינוס מקבלים 1 – זוהי הזווית \(\frac{\pi}{2}\) (מי שלא מבין איך פאי נכנס לתמונה פתאום – אנחנו מודדים זוויות לא במעלות אלא ברדיאנים, שעליהם כבר הסברתי בפוסט נפרד). בדומה, \(\mbox{arcsin}\left(-1\right)=-\frac{\pi}{2}\) (זה לא מקרי – סינוס היא פונקציה אי זוגית, כלומר מתקיים \(\sin\left(-x\right)=-\sin x\) לכל \(x\)). החלק המפחיד של ה-\(x\sqrt{1-x^{2}}\) עוד יותר פשוט, כי אם מציבים בו \(x=\pm1\) מה שמתחת לשורש מתאפס ולכן כל העסק מתאפס. במילים אחרות, קיבלנו ש-\(F\left(1\right)-F\left(-1\right)=\frac{1}{2}\left(\frac{\pi}{2}-\left(-\frac{\pi}{2}\right)\right)=\frac{\pi}{2}\). זהו שטח חצי העיגול, ולכן שטח העיגול כולו הוא \(\pi\). הנה לכם הוכחה פורמלית לכך ששטח עיגול היחידה הוא \(\pi\) (תוך הסתמכות על כך שאנו יודעים לגזור סינוס; עניין לא טריוויאלי שגם על הקושי שבו רמזתי בפוסט נפרד).

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

היה זה תענוג לגזור

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

אם כן, כזכור, הגדרתי נגזרת עבור פונקציות ממשיות, \(f:\mathbb{R}\to\mathbb{R}\), באופן הבא: \(f^{\prime}\left(x_{0}\right)=\lim_{h\to0}\frac{f\left(x_{0}+h\right)-f\left(x_{0}\right)}{h}\). הנגזרת הוגדרה באופן "נקודתי" – בהינתן נקודה \(x_{0}\) מצאנו את ערך הנגזרת של הפונקציה בנקודה הזו. עם זאת, מה שאנחנו באמת רוצים הוא נגזרת "גלובלית" – בהינתן נוסחה עבור הפונקציה \(f\), להסיק ממנה נוסחה עבור הפונקציה \(f^{\prime}\). זה מה שנעשה בפוסט הזה.

בואו נתחיל ישר מללכלך את הידיים עם פונקציה פשוטה לדוגמה: \(f\left(x\right)=x^{n}\). כאן אפשר לחשב את הנגזרת לכל \(x_{0}\) ישירות מתוך הגדרת הנגזרת, תוך שימוש בבינום של ניוטון: \(\left(x_{0}+h\right)^{n}=x_{0}^{n}+n\cdot x_{0}^{n-1}h+\sum_{i=2}^{n}{n \choose i}x_{0}^{n-i}h^{i}\). הסכום המפחיד באגף ימין אינו כל כך חשוב – כל מה שחשוב בו הוא שהוא מתחלק ב-\(h^{2}\). מדוע? כי כעת, מהו \(\frac{f\left(x_{0}+h\right)-f\left(x_{0}\right)}{h}\), לכל נקודה \(x_{0}\) שרק תרצו? ובכן, \(f\left(x_{0}+h\right)=\left(x_{0}+h\right)^{n}\) ואילו \(f\left(x_{0}\right)=x_{0}^{n}\) ולכן לאחר ביצוע החיסור של שניהם נקבל במונה \(n\cdot x_{0}^{n-1}h+\sum_{i=2}^{n}{n \choose i}x_{0}^{n-i}h^{i}\). אחרי חלוקה ב-\(h\) נקבל \(n\cdot x_{0}^{n-1}+\sum_{i=2}^{n}{n \choose i}x_{0}^{n-i}h^{i-1}\) – ושימו לב, הסכום שבאגף ימין עדיין מתחלק ב-\(h\), כלומר אפשר לחשוב עליו בתור "\(h\) כפול משהו". אבל עכשיו אנו משאיפים את \(h\) לאפס, וזה גורם לסכום להיעלם (כי הדבר היחיד בו שמשתנה הוא \(h\) השואפת לאפס). נשארנו עם \(n\cdot x_{0}^{n-1}\). זה מוביל אותנו לנוסחה הכללית: אם \(f\left(x\right)=x^{n}\) אז \(f^{\prime}\left(x\right)=nx^{n-1}\). בפרט שימו לב שהנגזרת של \(f\left(x\right)=x\) היא \(f^{\prime}\left(x\right)=1\) ושהנגזרת של פונקציה קבועה – \(f\left(x\right)=c=c\cdot x^{0}\) – היא \(f^{\prime}\left(x\right)=0\) (התוצאה הזו מתאימה לאינטואיציה שלנו – אם ערך הפונקציה קבוע אז הפונקציה מתארת "עמידה במקום", כך שהמהירות של הפונקציה היא אפס).

בפני עצמה התוצאה הזו אולי לא עד כדי כך מעניינת, אך בשילוב עם תכונה נוספת של הנגזרת, התוצאה הזו נותנת לנו את הנגזרת של כל הפולינומיםכפי שהזכרתי כאן בעבר, הן אולי הפונקציות המעניינות הבסיסיות ביותר). מהי התכונה? מה שמכונה הלינאריות של הנגזרת, וניתן לתאר בפשטות כך: אם \(f,g\) הן שתי פונקציות גזירות (כלומר, יש להן נגזרת בכל נקודה בתחום שמעניין אותנו), אז \(\left(f+g\right)^{\prime}=f^{\prime}+g^{\prime}\). כמו כן, אם \(c\) הוא מספר ממשי קבוע, אז \(\left(cf\right)^{\prime}=cf^{\prime}\). במילים: נגזרת של סכום היא סכום הנגזרות, ונגזרת של \(f\)-כפולה-בקבוע היא הנגזרת של \(f\) כשהיא (הנגזרת) מוכפלת באותו קבוע. מכאן מגיעים מיידית לנוסחה הבאה: \(\left(\sum_{k=0}^{n}a_{k}x^{k}\right)^{\prime}=\sum_{k=1}^{n}k\cdot a_{k}x^{k-1}\). ההוכחה של תכונת הלינאריות היא עסק מיידי אם כבר יש לנו את התכונה הדומה עבור גבולות; מתקיים:

\(\left(f+g\right)^{\prime}\left(x_{0}\right)=\lim_{h\to0}\frac{\left(f+g\right)\left(x_{0}+h\right)-\left(f+g\right)\left(x_{0}\right)}{h}=\lim_{h\to0}\frac{f\left(x_{0}+h\right)+g\left(x_{0}+h\right)-f\left(x_{0}\right)-g\left(x_{0}\right)}{h}\)

\(=\lim_{h\to0}\frac{f\left(x_{0}+h\right)-f\left(x_{0}\right)}{h}+\lim_{h\to0}\frac{g\left(x_{0}+h\right)-g\left(x_{0}\right)}{h}=f^{\prime}\left(x_{0}\right)+g^{\prime}\left(x_{0}\right)\)

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

המזל שלנו לא נגמר כאן. מסתבר שקל לחשב גם את הנגזרת של מכפלת פונקציות: \(\left(fg\right)^{\prime}=f^{\prime}g+fg^{\prime}\). איך מגיעים לנוסחה הזו? שוב, על פי הגדרה:

\(\left(fg\right)^{\prime}\left(x_{0}\right)=\lim_{h\to0}\frac{\left(fg\right)\left(x_{0}+h\right)-\left(fg\right)\left(x_{0}\right)}{h}=\lim_{h\to0}\frac{f\left(x_{0}+h\right)g\left(x_{0}+h\right)-f\left(x_{0}\right)g\left(x_{0}\right)}{h}\)

כאן אנחנו לכאורה נתקעים כי לא ברור איך אפשר לפשט את הנוסחה עוד; אבל אז נחלץ לעזרתנו טריק שימושי מאוד במתמטיקה – לחבר ולהחסיר את אותו איבר. אם אנחנו רוצים להחסיר מ-\(f\left(x_{0}+h\right)g\left(x_{0}+h\right)\) איבר כך שנקבל בסופו של דבר משהו שנראה כמו הנגזרת של \(f\), מה עלינו להחסיר? די בבירור זה חייב להיות \(f\left(x_{0}\right)g\left(x_{0}+h\right)\), כי \(f\left(x_{0}\right)\) הוא הגורם שחסר לנו כדי לקבל משהו שנראה כמו נגזרת של \(f\), ו-\(g\left(x_{0}+h\right)\) הוא הגורם המשותף שאנחנו רוצים להוציא כדי להישאר רק עם \(f\) בסוגריים.

בקיצור, אחרי חיסור וחיבור של האיבר הזה, אנו מקבלים את:

\(\lim_{h\to0}\frac{f\left(x_{0}+h\right)g\left(x_{0}+h\right)-f\left(x_{0}\right)g\left(x_{0}+h\right)+f\left(x_{0}\right)g\left(x_{0}+h\right)-f\left(x_{0}\right)g\left(x_{0}\right)}{h}\)

\(=\lim_{h\to0}\frac{g\left(x_{0}+h\right)\left(f\left(x_{0}+h\right)-f\left(x_{0}\right)\right)+f\left(x_{0}\right)\left(g\left(x_{0}+h\right)-g\left(x_{0}\right)\right)}{h}\)

ואת זה ניתן לפשט עוד קצת עם כללי הכפל והחיבור של גבולות. למשל, ברור ש-\(\lim_{h\to0}\frac{f\left(x_{0}\right)\left(g\left(x_{0}+h\right)-g\left(x_{0}\right)\right)}{h}=f\left(x_{0}\right)g^{\prime}\left(x_{0}\right)\). הבעיה היא דווקא במחובר הראשון, שעבורו קל לראות ש-\(\lim_{h\to0}\frac{g\left(x_{0}+h\right)\left(f\left(x_{0}+h\right)-f\left(x_{0}\right)\right)}{h}=f^{\prime}\left(x_{0}\right)\cdot\lim_{h\to0}g\left(x_{0}+h\right)\), אבל מהו \(\lim_{h\to0}g\left(x_{0}+h\right)\)? היינו רוצים להגיד שאפשר פשוט להציב \(h=0\) ולקבל \(g\left(x_{0}\right)\), אבל זה נכון רק אם הפונקציה \(g\) רציפה ב-\(x_{0}\)…

ובכן, יש לנו מזל, כי משפט בסיסי בחדו"א הוא שכל פונקציה שגזירה בנקודה כלשהי גם רציפה בה. לא אוכיח אותו פורמלית אלא אתן אינטואיציה פשוטה: אם \(\lim_{h\to0}g\left(x_{0}+h\right)\ne g\left(x_{0}\right)\) אז \(\lim_{h\to0}\left(g\left(x_{0}+h\right)-g\left(x_{0}\right)\right)\ne0\), אבל אז הגבול \(\lim_{h\to0}\frac{g\left(x_{0}+h\right)-g\left(x_{0}\right)}{h}\) אינו קיים בכלל שכן המונה שואף לקבוע, ואילו המכנה שואף לאפס, ולכן הגבול שואף לאינסוף (יותר גרוע אפילו – לאינסוף ולמינוס אינסוף, כתלות בשאלה אם \(h\) חיובי או שלילי). מכאן שכדי שהנגזרת תהיה קיימת הפונקציה חייבת להיות רציפה: הערך של \(g\left(x_{0}+h\right)\) מתקרב לערך של \(g\left(x_{0}\right)\), וכל השאלה שעליה עונה הנגזרת היא כמה מהר ההתקרבות הזו מתבצעת.

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

בואו נסתכל שניה על הפונקציה \(f\left(x\right)=x^{2}+3x\). וכעת בואו ונסתכל על הפונקציה \(h\left(x\right)=\sin^{2}x+3\sin x\). אלו שתי פונקציות שונות, אבל מאוד דומות באופיין: נראה כאילו \(h\left(x\right)\) היא מה שמתקבל מ-\(f\left(x\right)\) אם במקום \(x\) "מציבים" את \(\sin x\). אם כן, אפשר לסמן \(h\left(x\right)=f\left(\sin x\right)\). בדרך קצת יותר מסודרת נוכל להגדיר פונקציה \(g\left(x\right)=\sin x\) ואז יש הגיון בסימון \(h\left(x\right)=f\left(g\left(x\right)\right)\). לדבר הזה – \(f\left(g\left(x\right)\right)\) – קוראים הרכבה של \(f\) על \(g\) ומסמנים אותו ב-\(f\circ g\) לפעמים (ולפעמים ב-\(g\circ f\) כדי לבלבל סטודנטים, כתלות בהקשר ובספר הלימוד – זו הסיבה שבגללה אני נמנע משימוש בסימון הזה). הרכבה היא כלי רב עוצמה מאוד לבנייה של פונקציות מסובכות מתוך פונקציות פשוטות, והעובדה שיש לנו נוסחה פשוטה עבור נגזרת של הרכבת פונקציות היא לא פחות מנס. הנוסחה, שמכונה "כלל השרשרת", היא \(\left[f\left(g\left(x\right)\right)\right]^{\prime}=f^{\prime}\left(g\left(x\right)\right)\cdot g^{\prime}\left(x\right)\). במילים – גוזרים את \(f\), ממשיכים להציב בה את \(g\left(x\right)\) כמקודם, ובנוסף לכך כופלים את הכל בנגזרת של \(g\left(x\right)\) (זו אינה מכפלת הנגזרת של \(f\) בנגזרת של \(g\) מכיוון שאת \(f^{\prime}\) מחשבים בנקודה \(g\left(x\right)\) בעוד שאת \(g^{\prime}\) מחשבים בנקודה \(x\) – כלומר, הן לא מחושבות באותה הנקודה).

דוגמה פשוטה: אם \(f\left(x\right)=x^{2}\) ו-\(g\left(x\right)=\left(x+1\right)\) אז ההרכבה שלהן היא \(\left(x+1\right)^{2}\). כעת, \(f^{\prime}\left(x\right)=2x\) ו-\(g^{\prime}\left(x\right)=1\) ולכן מכלל השרשרת עולה שהנגזרת של הפונקציה המורכבת היא \(2\left(x+1\right)\cdot1=2x+2\). אתם מוזמנים לפתוח את הסוגריים של \(\left(x+1\right)^{2}\) ולחשב את הנגזרת באופן ישיר אם לא השתכנעתם.

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

אילו עוד פונקציות אנחנו מכירים? הזכרתי קצת פונקציות בשעתו – \(\sin x,\cos x,\ln x,e^{x}\)… לכולן קל למצוא נגזרת, אם כי בכל אחד מהמקרים ההוכחה דורשת כלים שמותאמים למקרה הספציפי שאותו תוקפים (כך למשל בשביל הפונקציות הטריגונומטריות צריך את הגבול \(\lim_{h\to0}\frac{\sin h}{h}=1\) שההוכחה שלו היא סיפור שלם). מגלים, כי \(\left(\sin x\right)^{\prime}=\cos x\), \(\left(\cos x\right)^{\prime}=-\sin x\), \(\left(\ln x\right)^{\prime}=\frac{1}{x}\) ו-\(\left(e^{x}\right)^{\prime}=e^{x}\) (זוהי התכונה המיוחדת של פונקצית האקספוננט – נגזרתה שווה לעצמה).

מכאן אפשר לפתח עוד כמה דברים מעניינים. למשל, מהי הנגזרת של \(a^{x}\) כאשר \(a\) הוא מספר ממשי חיובי כלשהו, לאו דווקא \(e\)? ובכן, אפשר תמיד לכתוב \(a=e^{\ln a}\) (למה? תרגיל למי שדברים כאלו מעניינים אותו) ולכן \(a^{x}=e^{x\cdot\ln a}\). קיבלנו כאן הרכבה של שתי פונקציות: \(f\left(x\right)=e^{x}\) ו-\(g\left(x\right)=x\ln a\). הנגזרת של \(g\left(x\right)\) היא \(\ln a\) ולכן נקבל \(\left(a^{x}\right)^{\prime}=\ln a\cdot e^{x\ln a}=a^{x}\ln a\). זו עוד דוגמה לכוח שאנו מקבלים מכלל השרשרת.

בואו נראה עוד דוגמה. עד כה הצלחתי לטפל בפונקציה \(f\left(x\right)=x^{n}\) רק במקרה שבו \(n\) היה מספר שלם אי שלילי. מה על מספרים שליליים? ובכן, ב-\(n=-1\), כלומר בפונקציה \(f\left(x\right)=\frac{1}{x}\), ניתן לטפל באופן ישיר על פי ההגדרה:

\(\lim_{h\to0}\frac{\frac{1}{x_{0}+h}-\frac{1}{x_{0}}}{h}=\lim_{h\to0}\frac{\frac{x_{0}-x_{0}-h}{x_{0}\left(x_{0}+h\right)}}{h}=\lim_{h\to0}-\frac{1}{x_{0}^{2}+hx_{0}}=-\frac{1}{x_{0}^{2}}\)

מקבלים, אם כן, ש-\(\left(\frac{1}{x}\right)^{\prime}=-\frac{1}{x^{2}}\). כעת, כל מספר שלם שלילי אפשר לכתוב כ-\(-n\) כאשר \(n\) הוא שלם חיובי, ואם \(h\left(x\right)=x^{-n}\) אז אפשר גם לכתוב \(h\left(x\right)=\left(x^{n}\right)^{-1}=\frac{1}{x^{n}}\). במילים אחרות, יש לנו כאן את ההרכבה של הפונקציה \(g\left(x\right)=x^{n}\) בתוך הפונקציה \(f\left(x\right)=\frac{1}{x}\). כלל השרשרת יניב לנו כאן את התוצאה \(h^{\prime}\left(x\right)=-\frac{1}{g^{2}\left(x\right)}\cdot g^{\prime}\left(x\right)=-\frac{nx^{n-1}}{x^{2n}}=-nx^{-\left(n+1\right)}\). במילים אחרות, הנוסחה \(\left(x^{m}\right)^{\prime}=mx^{m-1}\) עובדת גם כאשר \(m\) שלילי. בדרך גם ראינו מהי באופן כללי הנגזרת של פונקציה מהצורה \(\frac{1}{g\left(x\right)}\): היא פשוט \(-\frac{g^{\prime}\left(x\right)}{g^{2}\left(x\right)}\). בשילוב עם הנוסחה לנגזרת של מכפלת פונקציות, מקבלים את הנוסחה למנה של פונקציות: \(\left(\frac{f}{g}\right)^{\prime}=\left(f\cdot\frac{1}{g}\right)^{\prime}=\frac{f^{\prime}}{g}-\frac{fg^{\prime}}{g^{2}}=\frac{f^{\prime}g-fg^{\prime}}{g^{2}}\). בפרט, שימו לב שמכיוון שאנו יודעים לגזור כל פולינום, כעת אנחנו יכולים לגזור גם כל פונקציה רציונלית (פונקציה שהיא מנת שני פולינומים).

טרם דיגדגנו אפילו את קצה הגבול של מה שעוד נוכל לסחוט מכלל השרשרת! בואו נעבור לדבר על \(x^{n}\) כאשר \(n\) יכול להיות גם שבר. בפרט, מהו \(x^{\frac{1}{n}}\)? לצורך כך אני שוב אוכיח תוצאה כללית יותר – נגזרת של פונקציה הופכית. אם \(f\left(x\right)\) היא פונקציה, אז אומרים ש-\(g\left(x\right)\) היא הפונקציה ההופכית שלה אם ההרכבה של שתיהן היא פונקצית הזהות, כלומר הפונקציה \(h\left(x\right)=x\). למשל, אם \(f\left(x\right)=x^{n}\) אז \(g\left(x\right)=x^{\frac{1}{n}}\) היא ההופכית שלה. אם כן, נניח שאני יודע את הנגזרת של \(f\left(x\right)\) – מה הנגזרת של ההופכית שלה \(g\left(x\right)\)?

כאן נשתמש בכלל השרשרת ובכך שאנחנו יודעים שהנגזרת של \(x\) היא 1. מכיוון ש-\(g\) היא ההופכית של \(f\) אז \(f\left(g\left(x\right)\right)=x\), ולכן על ידי גזירת שני האגפים נקבל \(f^{\prime}\left(g\left(x\right)\right)g^{\prime}\left(x\right)=1\), כלומר \(g^{\prime}\left(x\right)=\frac{1}{f^{\prime}\left(g\left(x\right)\right)}\). ובמילים: נגזרת הפונקציה ההופכית של \(f\) בנקודה \(x\) שווה לאחד חלקי הנגזרת של \(f\) בנקודה \(g\left(x\right)\). שימו לב – צריך להציב את \(g\) בתוך הנגזרת של \(f\)!

זו הייתה נקודה שבלבלה אותי מאוד כשרק למדתי את הנושא לראשונה. ניקח לדוגמה את \(g\left(x\right)=\sqrt{x}\) שהיא ההופכית של \(f\left(x\right)=x^{2}\). הנגזרת של \(f\left(x\right)\) היא \(f^{\prime}\left(x\right)=2x\), ולכן התבלבלתי וחשבתי ש-\(\left(\sqrt{x}\right)^{\prime}=\frac{1}{2x}\), אך זה לא נכון; מה ששכחתי לעשות הוא להציב את \(g\left(x\right)\) בתוך הנגזרת של \(f\). אחרי שעושים זאת, מקבלים את הנוסחה הנכונה \(\left(\sqrt{x}\right)^{\prime}=\frac{1}{2\sqrt{x}}\). ובאופן כללי מקבלים, בצורה לא מפתיעה, ש-\(\left(x^{\frac{1}{n}}\right)^{\prime}=\frac{1}{n}x^{\frac{1}{n}-1}\). כלומר, הנוסחה \(\left(x^{m}\right)^{\prime}=mx^{m-1}\) נכונה לכל \(m\) רציונלי. למעשה, זה מסיים את העניין גם עבור כל חזקה \(m\) ממשית, שכן חזקה שכזו מוגדרת בתור גבול שמשתמש בחזקות רציונליות, ושיקולי רציפות מעבירים את נוסחת הנגזרת מהמקרה הרציונלי למקרה הממשי הכללי. אם זה נשמע כמו ג'יבריש, לא נורא; גם זה משהו שאני לא רוצה להיכנס אליו.

אם נקבל לרגע את ההנחה ש-\(\ln x\) היא פונקציה שהוגדרה מראש כך שנגזרתה תהיה \(\frac{1}{x}\) (זו, למעשה, ההגדרה המקובלת בספרות), ושאנו יודעים כי \(e^{x}\) היא ההופכית שלה, אז קל להסיק מהכלל של נגזרת הפונקציה ההופכית את התוצאה \(\left(e^{x}\right)^{\prime}=e^{x}\): \(\left(e^{x}\right)^{\prime}=\frac{1}{1/e^{x}}=e^{x}\). זה היה שימוש טיפשי למדי בכלל הנגזרת של ההופכית. בואו ניישם אותו למשהו קצת יותר רציני – הפונקציות ההופכיות לפונקציות הטריגונומטריות. מכיוון שהפונקציה ההופכית האהובה עלי בהקשר הזה היא \(\mbox{atan\ensuremath{\left(x\right)}}\), ההופכית של \(\tan\left(x\right)\), בואו נבין איך באמת מחשבים את הנגזרת של \(\tan\left(x\right)\) קודם – הרי אמרתי (ללא הוכחה) מה הנגזרות של סינוס וקוסינוס אבל לא שלו; זאת מכיוון ש-\(\tan\left(x\right)=\frac{\sin x}{\cos x}\) על פי הגדרתו.

אם כן, נגזור על פי כלל המנה שראינו קודם ונקבל \(\tan^{\prime}\left(x\right)=\frac{\sin^{\prime}\left(x\right)\cos\left(x\right)-\sin\left(x\right)\cos^{\prime}\left(x\right)}{\cos^{2}\left(x\right)}=\frac{\cos^{2}x+\sin^{2}x}{\cos^{2}x}=\frac{1}{\cos^{2}x}\), כשהמעבר האחרון מתבסס על הזהות הטריגונומטרית היסודית \(\sin^{2}x+\cos^{2}x=1\) (זוהי אחת מאותן נוסחאות בודדות שבאמת כדאי לזכור בעל פה, אבל היא גם בעלת משמעות אינטואיטיבית פשוטה – על פי משפט פיתגורס, זהו המרחק מראשית הצירים של נקודה שנמצאת על מעגל היחידה, בזווית \(x\) עם ציר ה-\(x\); ובוודאי שמרחק כל נקודה על מעגל היחידה מהראשית הוא 1…).

\(\frac{1}{\cos^{2}x}\) זה נחמד אבל קצת בעייתי כשבאים למצוא את הנגזרת של \(\mbox{atan}\). לכן נחזור שניה אחורה בזמן לרגע שבו הייתה לנו הזהות \(\frac{\cos^{2}x+\sin^{2}x}{\cos^{2}x}\): אפשר לפרק את הסכום לשניים ולקבל ש-\(\tan^{\prime}\left(x\right)=1+\tan^{2}\left(x\right)\). אם כן:

\(\mbox{atan}^{\prime}\left(x\right)=\frac{1}{\tan^{\prime}\left(\mbox{atan}\left(x\right)\right)}=\frac{1}{1+\tan^{2}\left(\mbox{atan}\left(x\right)\right)}=\frac{1}{1+x^{2}}\)

כשהמעבר האחרון נובע מכך ש-\(\mbox{atan}\) היא ההופכית של \(\tan\). שימו לב לתוצאה המעניינת כאן – \(\frac{1}{1+x^{2}}\) היא פונקציה שכלל לא מזכירה פונקציות טריגונומטריות, ואיכשהוא היא נבעה מתוכן. זה אומר שאם נלך "בכיוון ההפוך" (ואדבר על זה יותר בקרוב), הפונקציות הטריגונומטריות יצוצו לנו באופן טבעי גם אם אנחנו בכלל לא מתעסקים בגאומטריה.

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

אם כן, בפעולת הגזירה אנחנו שולטים די טוב. זה מעביר אותנו באופן טבעי לשאלה הבאה – מה עם הפעולה ההפוכה מגזירה? כלומר, אם נותנים לנו פונקציה ואומרים לנו שהיא הנגזרת של משהו, האם אנו יכולים לגלות את המשהו? אקרא כאן למשהו "האנטי-נגזרת" של הפונקציה, אם כי יש לו שם מקובל יותר שאתאר בפוסט הבא (כרגע אני לא רוצה לקלקל את אלמנט ההפתעה עבור המעטים שיופתעו – ומי שלא יופתע כבר יודע מה השם הנכון ממילא). אל תתבלבלו בין זה ובין מציאת נגזרת של פונקציה הפוכה. אני מתכוון, למשל, לכך שהפונקציה \(x^{3}\) מתקבלת על ידי גזירה של… מפתה אולי לומר \(x^{4}\), אבל הנגזרת של \(x^{4}\) היא \(4x^{3}\), כך ש-\(x^{3}\) מתקבלת מגזירה של \(\frac{x^{4}}{4}\). כאן אנחנו כבר רואים שהעסק טיפה מלוכלך.

באופן כללי במתמטיקה אם פעולה היא קלה, אפילו אלגוריתמית, לביצוע בכיוון אחד זה לא אומר הרבה על הכיוון השני. דוגמה קלאסית היא פעולת הכפל: קל לחשב אלגוריתמית את \(a\cdot b\) אם יש לנו את \(a,b\), אבל אם נותנים לנו את המכפלה בלבד – כמה עבודה תידרש לנו כדי לפרק אותה לגורמים? התשובה היא שכל כך הרבה עבודה, ששיטות ההצפנה הפופולריות ביותר כיום מתבססות על כך שמדובר על בעיה קשה. כל ענף הקריפטוגרפיה המודרנית, למעשה, מתבסס על קיום פונקציות "חד-כיווניות" – שקל לחשב, אבל קשה להפוך (בהערת אגב אעיר ש"קל" ו"קשה" בהקשר הזה הם מושגים שמוגדרים באופן מתמטי מדויק ומסויים שאולי לא תואם לחלוטין את האינטואיציה שלנו; ויותר מכך, שלא באמת הוכח קיום של פונקציות שכאלו, אלא רק יש לנו אוסף של "חשודות" כדוגמת הזוג כפל/פירוק לגורמים).

הפונקציה \(\frac{1}{1+x^{2}}\) היא מקרה בוחן לקושי של היפוך פעולת הגזירה. כדי לדעת מה ייתן אותה כנגזרת, צריך "להמציא" את הפונקציות הטריגונומטריות. אם כן, גם אם יש לנו פונקציה שנבנתה באופן "נחמד" מתוך פונקציות אלמנטריות זה כלל לא מבטיח שהאנטי-נגזרת שלה תורכב מפונקציות שכאלו בעצמה באופן נחמד. דוגמה קלאסית לכך היא הפונקציה החשובה עד למאוד שהיא האנטי-נגזרת של \(e^{x^{2}}\) (למעשה של פונקציה טיפה יותר מסובכת אך אין הבדל מהותי) – אפשר להוכיח כי את האנטי-נגזרת הזו פשוט לא ניתן לכתוב באמצעות הפונקציות האלמנטריות ופעולות החיבור-כפל-הרכבה. מכאן שברור שאין מה לדבר על נוסחה שבהינתן הרכבה של שתי פונקציות פשוטות, תיתן את האנטי-נגזרת של ההרכבה באמצעות האנטי-נגזרות של הפונקציות המורכבות. אפילו כלל דומה עבור כפל פונקציות אין ממש (יש משהו שאולי אתאר בהמשך; הוא אמנם מפשט את העניינים לפעמים אבל זו לא נוסחה פשוטה כמו שהייתה עבור הנגזרת). רק פעולות החיבור והכפל בסקלר מתנהגות יפה כמקודם.

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

אז מה זו נגזרת?

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

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

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

מושג הנגזרת – אחד משני המושגים המרכזיים בחשבון הדיפרנציאלי והאינטגרלי (יחד עם מושג האינטגרל) הוא בסך הכל הכללה לא מסובכת של הרעיון הזה – במקום לדבר על המהירות הממוצעת לאורך זמן, הוא מדבר על המהירות הממוצעת ברגע זמן נתון. לכאורה אין שום משמעות למה שאמרתי כרגע – ממוצע צריך להימדד לאורך זמן. הוא תמיד נמדד ביחס לשני פרקי זמן שונים – התחלה וסוף. איך אפשר לדבר עליו בנקודה מסויימת? מבחינה מתמטית, אם בזמן \(t_{1}\) אני במיקום \(x_{1}\) ובזמן \(t_{2}\) אני במיקום \(x_{2}\), אז המהירות הממוצעת שלי היא \(\frac{x_{2}-x_{1}}{t_{2}-t_{1}}\); אבל אם \(t_{1}=t_{2}\), כלומר אני באותו זמן בשני המקרים, ועל כן גם \(x_{2}=x_{1}\) (כי לא "הספקתי לזוז") הרי ש-\(\frac{x_{2}-x_{1}}{t_{2}-t_{1}}=\frac{0}{0}\) ואפס חלקי אפס הוא מה שאוהבים לקרוא לו בח"מ – ביטוי חסר משמעות. זו אכן הבעיה; ולכן מושג הנגזרת הוא כל כך קסום – הוא מצליח לתת משמעות, ועוד משמעות הגיונית, טבעית ומתבקשת, לאותו בח"מ.

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

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

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

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

פורמלית, נניח שיש לנו פונקציה \(f\left(x\right)\), ונקודה \(x_{0}\). חשבו על \(f\) כמייצגת פונקציה של מיקום הרכב כתלות בזמן הנוכחי \(x\). אנו רוצים לדעת מה הייתה "המהירות הרגעית" של הרכב בזמן \(x_{0}\). הדרך לעשות זאת, כאמור, הייתה באמצעות מהירות ממוצעת. אם \(x\ne x_{0}\) היא נקודה אחרת בזמן, אז המהירות הממוצעת בין הזמן שבו \(f\) ב-\(x_{0}\) והזמן שבו \(f\) ב-\(x\) היא \(\frac{f\left(x\right)-f\left(x_{0}\right)}{x-x_{0}}\) (הנוסחה הזו עובדת גם כאשר \(x>x_{0}\) וגם כאשר \(x<x_{0}\)). ישנה דרך קצת יותר פשוטה לסמן את הדבר הזה – בואו נסמן את \(x-x_{0}\) באות \(h\). אז \(x=x_{0}+h\), ולכן המהירות הממוצעת ניתנת לכתיבה בתור \(\frac{f\left(x_{0}+h\right)-f\left(x_{0}\right)}{h}\). ככל ש-\(h\) יותר קרוב ל-0, כך הרזולוצייה של המדידה שלנו יותר מדויקת – יותר קשה להכניס פנימה סיפורי מעשיות כגון "נתקעתי עם הרכב באמצע הכביש וחזרתי אחורה לתחנת הדלק". ומכאן ההגדרה שלנו: \(f^{\prime}\left(x_{0}\right)=\lim_{h\to0}\frac{f\left(x_{0}+h\right)-f\left(x_{0}\right)}{h}\). במילים: הערך של הנגזרת של \(f\) בנקודה \(x_{0}\) הוא הגבול של המהירות הממוצעת של \(f\) בנקודה \(x_{0}\) ובנקודה קרובה \(x_{0}+h\) כאשר משאיפים את המרחק בין שתי הנקודות לאפס.

מכיוון שלכל נקודה \(x\) אפשר לדבר על "ערך הנגזרת של \(f\) בנקודה \(x\)", עולה שגם הנגזרת של \(f\) היא בעצמה פונקציה, ומכאן הסימון – \(f^{\prime}\) ("\(f\) תג" בעברית). אותה \(f^{\prime}\) נקראת "הפונקציה הנגזרת של \(f\)" או פשוט הנגזרת שלה, ולפעמים קוראים ל-\(f^{\prime}\left(x_{0}\right)\) בשם "המספר הנגזר של \(f\) בנקודה \(x_{0}\)". כל אלו הם עניינים טרמינולוגיים לא חשובים עד כדי כך.

דבר אחד שמתמטיקאי צריך לעשות אחרי שהוא נתקל במושג חדש הוא לרחרח סביבו בחשדנות – האם המושג בכלל בעל משמעות? האם הוא מתקיים תמיד? למי הוא לא מתקיים? כשהוא כן מתקיים, עבור מי הוא מתקיים? ולכן אני רוצה לפתוח באכזבה – לא לכל פונקציה יש נגזרת, וגם אם יש – לא תמיד היא מוגדרת בכל מקום.הדוגמה הקלאסית ביותר היא פונקציית הערך המוחלט – \(f\left(x\right)=\left|x\right|\). עבור \(x>0\) הפונקציה מתנהגת בדיוק כמו \(f\left(x\right)=x\); ועבור \(x<0\) היא מתנהגת בדיוק כמו \(f\left(x\right)=-x\), ולשתי הפונקציות הללו יש נגזרת (נדבר על כך בעתיד. אולי). אבל בנקודה \(x=0\) הכל מתרסק. בואו נראה את זה פורמלית: \(f\left(0\right)=0\) במקרה הזה, ולכן עבור \(h>0\) נקבל \(\frac{f\left(x_{0}+h\right)-f\left(x_{0}\right)}{h}=\frac{f\left(h\right)-f\left(0\right)}{h}=\frac{h}{h}=1\), ואילו עבור \(h<0\) נקבל \(\frac{f\left(h\right)-f\left(0\right)}{h}=\frac{-h}{h}=-1\). במילים אחרות, אם נסתכל רק על תמונות מהצילומים של \(f\left(x\right)\) מהרגע שלפני \(x=0\), נקבל את הרושם שהמהירות היא \(-1\); ואם נסתכל רק על הרגע שאחרי, נקבל את הרושם שהמהירות היא \(1\); אבל אז, מה המהירות באמצע? יש לנו שני קירובים שונים וסותרים. המסקנה היא שאי אפשר לדבר על המהירות ברגע הזה באופן משביע רצון, ואנחנו מסתפקים באמירה שהנגזרת של \(f\) לא מוגדרת בנקודה הזו; ש-\(f\) לא גזירה בנקודה הזו. באופן כללי אנחנו נוהגים לסווג את הפונקציות בעולם לגזירות ולא גזירות (ואם לא גזירות, היכן), ולמזלנו – רוב הפונקציות המעניינות גזירות.

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

תמונה של משיק לעקום

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

אם כן, נניח שיש לנו עקום שמתואר בתור הגרף של הפונקציה \(f\left(x\right)\) (כלומר, זה אוסף הנקודות במישור מהצורה \(\left(x,f\left(x\right)\right)\)). אמנם, אנחנו לא יכולים לתאר כך את כל העקומים (בפרט לא מעגל…) אבל לעת עתה זה מספיק לנו; אפשר בשיטות קצת יותר כלליות לטפל בכל סוגי העקומים. מה שאנחנו רוצים לדעת היא מה המשוואה של המשיק לגרף הפונקציה בנקודה \(x_{0}\). המשיק הוא קו ישר; אלו מכם שמכירים גאומטריה אנליטית יודעים שקו ישר ניתן לתאר באמצעות המשוואה \(y=mx+n\), כאשר המספר \(m\) מכונה השיפוע של הישר, ובא לציין כמה הישר נוטה באלכסון ביחס לציר ה-\(x\) (פורמלית, אם הזווית שהישר יוצר עם ציר ה-\(x\) היא \(\theta\), אז \(m=\tan\theta\)). עוד אתם אולי יודעים שאם נתון לנו השיפוע של ישר, ונקודה אחת שדרכה הישר עובר, הישר נקבע כך באופן יחיד. נקודה אחת שבה המשיק עובר אנחנו יודעים – זוהי בדיוק הנקודה \(\left(x_{0},f\left(x_{0}\right)\right)\). כל מה שעלינו לגלות כעת הוא את השיפוע שלו.

אם אנחנו יודעים שתי נקודות שדרכן עובר ישר, ניתן לגלות את השיפוע שלו בקלות. נניח שאלו הן הנקודות \(\left(x_{1},y_{1}\right)\) ו-\(\left(x_{2},y_{2}\right)\). אז נקבל את שני השוויונות \(y_{1}=mx_{1}+n\) ו-\(y_{2}=mx_{2}+n\). נחסר את שני השוויונות זה מזה ונקבל \(y_{2}-y_{1}=m\left(x_{2}-x_{1}\right)\), ובמילים אחרות, \(m=\frac{y_{2}-y_{2}}{x_{2}-x_{1}}\). נראה מוכר?

אם כן, כדי לחשב את השיפוע בנקודה \(x_{0}\), מה שנעשה הוא פשוט: עבור ערכים הולכים וקטנים של \(h\) נעביר ישר בין הנקודה \(\left(x_{0},f\left(x_{0}\right)\right)\) והנקודה \(\left(x_{0}+h,f\left(x_{0}+h\right)\right)\) ונחשב את השיפוע שלו. נקבל קבוצה של "קירובים טובים לישר", שהולכת ונראית כמו הישר ככל ש-\(h\) קטן יותר; ונקבל קבוצה של "קירובים טובים לשיפוע" שהולכת ונראית כמו שיפוע הישר ככל ש-\(h\) קטן יותר. פורמלית, נקבל ש-\(m=\lim_{h\to0}\frac{f\left(x_{0}+h\right)-f\left(x_{0}\right)}{h}\) – וזוהי בדיוק ההגדרה שלנו לנגזרת. במילים אחרות, הנגזרת של \(f\) בנקודה \(x_{0}\) היא שיפוע הישר שמשיק לגרף של \(f\) בנקודה זו. זוהי הדרך לתת משמעות גאומטרית לנגזרת. יותר מכך – על הקו המשיק הזה אפשר לחשוב בתור "קירוב מסדר ראשון" של הפונקציה בנקודה \(x_{0}\) – פונקציה פשוטה (קו ישר) שמהווה "קירוב טוב ל-\(f\)" בסביבה קטנה של הנקודה \(x_{0}\).

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

אז מה זה חשבון דיפרנציאלי ואינטגרלי?

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

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

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

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

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

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

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

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

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

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

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

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