עקרון ההכלה וההפרדה, ואז הכללה והפחדה

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

מהו עקרון ההכלה וההפרדה

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

בואו נתחיל מגרסה עוד יותר פשוטה של הבעיה הראשונה: כמה מספרים בין 1 ל-100 כן מתחלקים ב-2 או ב-3? ובכן, בדיוק 50 מספרים מתחלקים ב-2 – כל הזוגיים. כמו כן, 33 מתחלקים ב-3; כל המספרים שהם כפולות של 3 עד 99, ו-100 לא עוזר לנו כי אינו מתחלק ב-3. קצת מחשבה מראה לנו את הנוסחה הכללית: מספרים מ-\(1\) ועד \(n\) שמתחלקים ב-\(k\) יש בדיוק, אבל בדיוק, \(\left\lfloor \frac{n}{k}\right\rfloor \), כשהקווים מייצגים ערך שלם תחתון: אם התקבלה תוצאה שברית, מעגלים למטה למספר השלם הקרוב.

אם כן, הפיתוי גדול לומר שיש \(50+33=83\) מספרים בין 1 ו-100 שמתחלקים ב-2 או ב-3. אבל ספירה מהירה תראה שזה לא נכון. בעצם, עזבו אתכם ממספרים בין 1 ל-100 שקשה לספור; אם ננסה באותה שיטה לספור מספרים בין 1 ל-10 נקבל \(8\) מספרים, אבל בבירור יש רק 7: \(\left\{ 2,3,4,6,8,9,10\right\} \). איפה הטעות שלנו? במספר המעצבן 6, שמתחלק בו זמנית גם ב-2 וגם ב-3. ספרנו אותו פעמיים: פעם אחת כחבר בקבוצה \(\left\{ 2,4,6,8,10\right\} \) של מספרים שמתחלקים ב-2, ופעם אחת בקבוצה \(\left\{ 3,6,9\right\} \) של מספרים שמתחלקים ב-3. את הספירה הכפולה הזו צריך לתקן – פשוט נחסיר 1 מהתוצאה.

עבור מספרים בין 1 ל-100 הרעיון דומה; יש 83 מספרים פחות כמות המספרים בין 1 ל-100 שמתחלקים גם ב-2 וגם ב-3. למזלנו קל לדעת מיהם – אלו בדיוק המספרים שמתחלקים 6, כלומר \(\left\lfloor \frac{100}{6}\right\rfloor =16\). קיבלנו שיש \(50+33-16=67\) מספרים בין 1 ל-100 שמתחלקים או ב-2, או ב-3, או בשניהם.

את הרעיון הכללי אפשר לנסח כך: אם \(A,B\) הן קבוצות, אז \(\left|A\cup B\right|=\left|A\right|+\left|B\right|-\left|A\cap B\right|\) – גודל הקבוצה \(A\cup B\) שמכילה את כל האיברים של \(A,B\) הוא כסכום גדלי הקבוצות \(A,B\) פחות הגודל של הקבוצה \(A\cap B\) של איברים ששייכים הן ל-\(A\) והן ל-\(B\). השלב הבא הוא לנסח את המשפט עבור שלוש קבוצות, \(A,B,C\). הניחוש הראשוני הוא לומר ש-

\(\left|A\cup B\cup C\right|=\left(\left|A\right|+\left|B\right|+\left|C\right|\right)-\left(\left|A\cap B\right|+\left|A\cap C\right|+\left|B\cap C\right|\right)\)

וזה כמעט נכון, אבל לא נכון עד הסוף, כי אם יש איבר שנמצא הן ב-\(A\), הן ב-\(B\) והן ב-\(C\) הוא אמנם נספר שלוש פעמים ב-\(\left|A\right|+\left|B\right|+\left|C\right|\) אבל לאחר מכן הוא גם מוחסר שלוש פעמים ב-\(-\left(\left|A\cap B\right|+\left|A\cap C\right|+\left|B\cap C\right|\right)\) ובסופו של דבר יוצא שהוא לא נספר כלל. לכן צריך לתקן את הנוסחה על ידי הוספת \(\left|A\cap B\cap C\right|\).

מכאן כבר אפשר לנחש את המקרה הכללי: אם יש לנו קבוצות \(A_{1},\dots,A_{k}\) ואנו רוצים לדעת מה הגודל של \(\bigcup_{i=1}^{k}A_{i}\), קודם כל נסכום את הגדלים של כל הקבוצות, אחר כך נחסיר את הגודל של כל החיתוכים של שתי קבוצות, נחבר את הגודל של חיתוכים של שלוש, נחסיר את הגודל של חיתוכים של ארבע… אני אומר את זה מילולית כי לכתוב את זה בנוסחה – ובכן, איך נאמר זאת בעדינות – זה כואב. הנה הנוסחה:

\(\left|\bigcup_{i=1}^{n}A_{i}\right|=\sum_{i=1}^{n}\left|A_{i}\right|-\sum_{1\le i<j\le n}\left|A_{i}\cap A_{j}\right|+\dots+\left(-1\right)^{n+1}\left|\bigcap_{i=1}^{n}A_{i}\right|\)

לקצרנים שבינינו, אפשר גם עם סכום כפול:

\(\left|\bigcup_{i=1}^{n}A_{i}\right|=\sum_{t=1}^{n}\sum_{1\le i_{1}<i_{2}<\dots<i_{t}\le n}\left(-1\right)^{t+1}\left|\bigcap_{j=1}^{t}A_{i_{j}}\right|\)

לא נעים כל כך, אבל העיקרון עצמו ברור למדי. עם זאת, צריך גם להוכיח שהוא עובד. הרעיון הוא להסתכל על איבר כלשהו \(x\in\bigcup_{i=1}^{n}A_{i}\) ולשאול את עצמנו – מה הוא תורם לאגף ימין, ומה הוא תורם לאגף שמאל? לאגף שמאל הוא תורם בדיוק 1; אגף ימין קצת יותר מסובך. נניח ש-\(x\) נמצא בדיוק ב-\(k\) קבוצות, אז לכל \(t>k\), פשוט לא ייתכן ש-\(x\in\bigcap_{j=1}^{t}A_{i_{j}}\) כי אנחנו חותכים פה יותר קבוצות מאשר יש קבוצות שמכילות את \(x\) ולכן הוא לא בחיתוך. לכן מה שרלוונטי מראש הוא רק \(t\le k\), וגם אז – רק חיתוכים \(\bigcap_{j=1}^{t}A_{i_{j}}\) שבהם כל הקבוצות כוללות את \(x\), כלומר כל הקבוצות נלקחות מתוך \(k\) הקבוצות שכוללות את \(x\) מלכתחילה. המספר שלהן הוא מה שמסמנים כ-\({k \choose t}\): מספר האפשרויות לבחור \(t\) מתוך \(k\). זה אומר ש-\(x\) תורם לסכום באגף ימין בדיוק את תת-הסכום הבא:

\(\sum_{t=1}^{k}{k \choose t}\left(-1\right)^{t+1}\)

כדי לחשב את הסכום הזה משתמשים בנוסחת הבינום של ניוטון, שקל לראות ממנה שמתקיים \(0=\left(1-1\right)^{k}=\sum_{t=0}^{k}{k \choose t}\left(-1\right)^{t}\). לכן אנו מקבלים:

\(\sum_{t=1}^{k}{k \choose t}\left(-1\right)^{t}=\sum_{t=0}^{k}{k \choose t}\left(-1\right)^{t+1}+1=1-\sum_{t=0}^{k}{k \choose t}\left(-1\right)^{t}=1\)

כפי שרצינו.

ואיך עושים איתו דברים מעניינים

סיימנו את ההוכחה ואפשר לעבור לאקשן – פתרון של דברים אמיתיים. נתחיל עם המספרים בין 1 ל-\(n\) שאינם מתחלקים ב-\(2\) או \(3\) או \(5\): כאן הקבוצות הן של המספרים שכן מתחלקים ב-2, וכן מתחלקים ב-3, וכן מתחלקים ב-5, ואנחנו רוצים לחסר את זה מהקבוצה של כלל המספרים, שהיא מגודל \(n\). לכן נקבל:

\(n-\left(\left\lfloor \frac{n}{2}\right\rfloor +\left\lfloor \frac{n}{3}\right\rfloor +\left\lfloor \frac{n}{5}\right\rfloor \right)+\left(\left\lfloor \frac{n}{6}\right\rfloor +\left\lfloor \frac{n}{10}\right\rfloor +\left\lfloor \frac{n}{15}\right\rfloor \right)-\left\lfloor \frac{n}{30}\right\rfloor \)

חייבים להודות שהנוסחה הזו לא נראית הכי מלהיבה בעולם; אבל חשבו לרגע על הדרך הנאיבית לחשב את המספר הזה – לעבור על כל המספרים מ-\(1\) עד \(n\) ולכל אחד לבדוק אם הוא מתחלק ב-2 או 3 או 5. אם \(n\) קטן זה לא נורא, אבל מה אם \(n=10^{100}\)? במקרה הזה האלגוריתם שלנו לעולם לא יסתיים, ואילו בעזרת הנוסחה שלנו צריך יהיה לבצע 7 פעולות חילוק ולחבר/לחסר את התוצאות וזהו, כלומר החישוב יסתיים בחלקיקי שניה גם אם \(n\) מפלצתי בגודלו. זו המחשה ראשונה לכוח שבהכלה והפרדה.

בואו נעבור לדוגמה השניה: עבור טבעי \(n\), \(\varphi\left(n\right)\) ("פונקצית אוילר") מסמן את מספרם של המספרים הטבעיים בין 1 ל-\(n\) שזרים ל-\(n\), כלומר שהמספר היחיד שמחלק את שניהם הוא \(1\) עצמו. למשל, עבור \(6\), המספרים היחידים שקטנים ממנו וזרים לו הם 1 ו-5 ולכן \(\varphi\left(6\right)=2\); עבור \(8\) אלו הם \(1,3,5,7\) ולכן \(\varphi\left(8\right)=4\), וכן הלאה. אם תסתכלו בגרף של הפונקציה הזו תראו שהיא מתנהגת בצורה די מטורללת – כל הזמן קופצת בין ערכים קטנים לגדולים. נקודות השיא הן בראשוניים (מספרים שמתחלקים רק ב-1 ובעצמם): לכל מספר ראשוני \(p\) מתקיים \(\varphi\left(p\right)=p-1\) ולכן הערכים הגדולים ביותר של \(\varphi\) יתקבלו על הראשוניים, שהם עצמם מפוזרים בצורה שנראית כמעט אקראית.

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

האבחנה האלגברית שבבסיס העניין היא שאם \(n\) ו-\(m\) לא זרים, אז קיים ראשוני \(p\) כלשהו שמחלק את שניהם. נניח שהמחלקים הראשוניים השונים של \(n\) הם בדיוק \(p_{1},\dots,p_{k}\), אז הקבוצה \(A_{i}\) שלנו הפעם תהיה "קבוצת כל המספרים הטבעיים הקטנים או שווים ל-\(n\) שמתחלקים ב-\(p_{i}\)". את הגודל המדויק של הקבוצה הזו אנחנו יודעים – הוא בדיוק \(\frac{n}{p_{i}}\), מהנימוקים שנתתי קודם. וכמות המספרים שמתחלקים בשני ראשוניים \(p_{i},p_{j}\) היא \(\frac{n}{p_{i}p_{j}}\) וכן הלאה. אז הכלה והפרדה נותנת את הדבר הבא:

\(\varphi\left(n\right)=n-\sum_{i}\frac{n}{p_{i}}+\sum_{i,j}\frac{n}{p_{i}p_{j}}-\dots+\left(-1\right)^{k}\frac{n}{p_{1}\cdots p_{k}}\)

על פניו, לא ברור מה הנוסחה הזו עזרה לנו, אבל שימו לב לכך ש-\(n\) הוא גורם בכל אחד מהמחוברים, כך שניתן להוציא אותו החוצה ולהיוותר עם סכום מהצורה \(\left(1-\sum\frac{1}{p_{i}}+\sum\frac{1}{p_{i}p_{j}}-\dots+\left(-1\right)^{k}\frac{1}{p_{1}\cdots p_{k}}\right)\). מה שטוב בסכום הזה, שעדיין נראה מפלצתי, הוא שאפשר לכתוב אותו בצורה הרבה יותר פשוטה ומסודרת כמכפלה: \(\prod_{i=1}^{k}\left(1-\frac{1}{p_{i}}\right)\). כדי לראות את זה, שימו לב שאם פותחים את המכפלה הזו, מקבלים סכום של איברים כך שכל איבר הוא בעצמו מכפלה, שכל איבר בה הוא או \(1\) או \(-\frac{1}{p_{i}}\) (הדרך הפשוטה ביותר לראות זאת – נסו לעשות זאת עם שני ראשוניים בלבד).

אם כן, קיבלנו את הנוסחה \(\varphi\left(n\right)=n\prod_{p|n}\left(1-\frac{1}{p}\right)\) (\(p|n\) פירושו "מכפלה שנלקחת על כל הראשוניים \(p\) שמחלקים את \(n\)") שהיא קלה ביותר לחישוב, אם יודעים מיהם ה-\(p\)-ים המתאימים (ולדעת מי הם – זו כבר בעיה לא פשוטה כלל).

בואו נעבור עכשיו להפרות סדר, שגם בהן הכלה והפרדה נותנת נוסחה סגורה, אבל מרשימה אפילו יותר מאשר במקרה הקודם שכן היא לא תכלול שום מכפלה ושום סכום, בזכות תעלול מחדו"א שנשתמש בו. הפרת סדר היא בבסיסה תמורה – סידור בשורה של המספרים מ-\(1\) עד \(n\). יש באופן כללי \(n!=1\cdot2\cdots n\) תמורות; מהן אנחנו רוצים לחסר את מספר התמורות שבהן יש לפחות אינדקס אחד \(i\) כך שהמספר במקום ה-\(i\) הוא \(i\) עצמו (למשל, \(4132\) היא תמורה כזו עם האינדקס \(i=3\)).

למרבה המזל, את החישובים כאן קל מאוד לבצע. מספר התמורות שבהן \(k\) איברים ספציפיים נמצאים במקום הנכון שלהם הוא כמספר האפשרויות לסדר את כל יתר \(n-k\) האיברים בסדר שרירותי כלשהו, כלומר \(\left(n-k\right)!\). שימו לב לכך שאני מרשה לאיברים נוספים פרט ל-\(k\) האיברים הספציפיים להיות במקום הנכון שלהם; אני פשוט לא דורש זאת במפורש. לכן \(\left(n-k\right)!\) אינו מספר התמורות שבהן בדיוק \(k\) איברים נמצאים במקום הנכון שלהם; צריך להיזהר לא לחשוב כך בטעות.

עקרון ההכלה וההפרדה מניב לנו עכשיו את הנוסחה הבאה ל-\(D\left(n\right)\), מספר הפרות הסדר של \(n\) איברים:

\(D\left(n\right)=n!-{n \choose 1}\left(n-1\right)!+{n \choose 2}\left(n-2\right)!-\dots+\left(-1\right)^{n}{n \choose n}\left(n-n\right)!\). כדי להבין מה פשר המקדם \({n \choose k}\) שמופיע שם בואו נחשוב שניה איך אמורה להיראות הנוסחה: היא אמורה להתחיל עם \(n!\), ואז אמורים לחסר ממנה, לכל מקום בין 1 ל-\(n\), את מספר התמורות שבהן מקום זה מקובע. לכל מקום נקבל אותו מספר – \(\left(n-1\right)!\), ויש \({n \choose 1}\) מקומות כאלו, ומכאן הכפל. בדומה, \({n \choose 2}\) מתאים למספר האפשרויות לבחור זוג מקומות לקבע, וכן הלאה.

בואו נכתוב שוב את הנוסחה שקיבלתי, בצורה יותר קומפקטית: \(D\left(n\right)=\sum_{k=0}^{n}\left(-1\right)^{k}{n \choose k}\left(n-k\right)!\). האם יש דרך לפשט אותה עוד יותר? ובכן, \({n \choose k}=\frac{n!}{k!\left(n-k\right)!}\) כך שאפשר לעשות כאן צמצום קטן ולקבל \(D\left(n\right)=\sum_{k=0}^{n}\left(-1\right)^{k}\frac{n!}{k!}=n!\left(\sum_{k=0}^{n}\frac{\left(-1\right)^{k}}{k!}\right)\). הקומבינטוריקה מביאה אותנו עד כאן ותו לא, אבל עכשיו החדו"א יכול להיכנס לפעולה.

כל מי שמכיר חדו"א ובוהה בנוסחה \(\sum_{k=0}^{n}\frac{\left(-1\right)^{k}}{k!}\) כנראה ירגיש משהו מצלצל לו – זה נראה כמו פונקציית האקספוננט \(e^{x}=\sum_{k=0}^{\infty}\frac{x^{k}}{k!}\), רק שכאן הטור סופי ולא אינסופי. במילים אחרות, \(\sum_{k=0}^{n}\frac{\left(-1\right)^{k}}{k!}=e^{-1}-\sum_{k=n+1}^{\infty}\frac{\left(-1\right)^{k}}{k!}\). אז קיבלנו שהסכום הוא "כמעט" \(\frac{1}{e}\), רק שיש גם שארית מעצבנת \(\sum_{k=n+1}^{\infty}\frac{\left(-1\right)^{k}}{k!}\) שצריך להבין מה בדיוק, או לפחות בערך, הגודל שלה. במקרה הספציפי שלנו זה קל במיוחד כי הטור הוא מה שנקרא "טור לייבניץ" – טור מהצורה \(\sum\left(-1\right)^{n}a_{n}\) כש-\(a_{n}\) שואפת מונוטונית לאפס, וידוע שסכום של טור שכזה, בערכו המוחלט, הוא קטן או שווה לגודל האיבר הראשון בו. כלומר, \(\left|\sum_{k=n+1}^{\infty}\frac{\left(-1\right)^{k}}{k!}\right|\le\left|\frac{\left(-1\right)^{n+1}}{\left(n+1\right)!}\right|=\frac{1}{\left(n+1\right)!}\).

אם כן, קיבלנו את הנוסחה \(D\left(n\right)=n!\cdot\left(e^{-1}+\xi\left(n\right)\right)=\frac{n!}{e}+n!\xi\left(n\right)\), כשכתבתי את השגיאה ב-\(\xi\) בדיוק כדי שתיראה מכוערת ונרצה להיפטר ממנה. מה אנחנו יודעים עליה? ש-\(\left|n!\xi\left(n\right)\right|\le\frac{n!}{\left(n+1\right)!}=\frac{1}{n}\). במילים אחרות, עבור \(n\ge3\), השגיאה קטנה מחצי. זה מאפשר לנו לטעון את הטענה הנועזת הבאה: \(D\left(n\right)=\left[\frac{n!}{e}\right]\), כאשר הסוגריים המרובעים פירושם "ערך שלם" – המספר השלם הקרוב ביותר ל-\(\frac{n!}{e}\). זה עובד מכיוון שלכל מספר ממשי, הערך השלם שלו הוא במרחק לכל היותר \(\frac{1}{2}\) ממנו, בעוד שכל מספר שלם אחר הוא מרחק של לפחות \(\frac{1}{2}\) ממנו, ולכן אם כל ה"תיקון" שנדרש כדי לעבור מ-\(\frac{n!}{e}\) ל-\(D\left(n\right)\) הוא פחות מחצי, הערך השלם יביא אותנו ל-\(D\left(n\right)\) בודאות. את זה ש-\(D\left(n\right)=\left[\frac{n!}{e}\right]\) גם עבור \(n=1,2\) אפשר לבדוק בצורה ישירה, והנה קיבלנו נוסחה סגורה ופשוטה ל-\(D\left(n\right)\). אפשר גם להסיק מסקנה הסתברותית – ככל ש-\(n\) שואף לאינסוף, כך ההסתברות לקבלת הפרת סדר כשמגרילים תמורה באקראי שואפת ל-\(\frac{1}{e}\); הנה לנו דוגמה נאה למקום שבו \(e\) צץ באופן טבעי לגמרי בבעיה קומבינטורית שבכלל לא מזכירה אותו.

הכללה והפחדה

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

אם כן, תהא \(X\) קבוצה כלשהי בת \(n\) איברים (אפשר לחשוב עליה כעל קבוצה של "תכונות" אם זה עוזר לנו). ניקח מרחב וקטורי \(V\) של כל הפונקציות \(f:\mbox{P}\left(X\right)\to\mathbb{R}\), כאשר \(\mbox{P}\left(X\right)\) פירושו קבוצת החזקה של \(X\) – אוסף כל תת-הקבוצות של \(X\). במילים אחרות, כל פונקציה \(f\) כזו מגדירה ערך כלשהו שמתאים לתת-קבוצה של \(X\). קל לראות ש-\(V\) הוא באמת מרחב וקטורי מעל \(\mathbb{R}\) (למעשה, \(\mathbb{R}\) לא ממש חשוב כאן וכל שדה אחר היה עובד באותה מידה). כעת נגדיר טרנספורמציה לינארית \(T:V\to V\) באופן הבא:

\(\left(Tf\right)\left(A\right)=\sum_{B\supseteq A}f\left(B\right)\)

כלומר, בהינתן \(f\), הפונקציה החדשה ש-\(Tf\) מגדירה היא כזו שערכה על כל תת-קבוצה \(A\subseteq X\) הוא סכום ערכי \(f\) על כל ה-\(B\) שמכילות את \(A\). חשבו על זה כך: \(f\left(A\right)\) אומרת כמה איברים ביקום שלנו מקיימים בדיוק את התכונות שבקבוצה \(A\) ושום דבר אחר; \(Tf\left(A\right)\) אומר כמה איברים ביקום שלנו מקיימים לפחות את התכונות שב-\(A\), ואולי עוד דברים. בדרך כלל את \(f\) קשה לחשב ואילו את \(Tf\) קל, ולכן מה שאנחנו רוצים לעשות הוא "להפוך" את \(T\); לקבל איכשהו מ-\(Tf\) את \(f\) עצמה. לצורך כך צריך שהטרנספורמציה הלינארית שלנו תהיה הפיכה, ועקרון ההכלה וההפרדה אומר שזה בדיוק מה שקורה, וגם נותן לנו את הנוסחה המדוייקת של \(T^{-1}\):

\(\left(T^{-1}f\right)\left(A\right)=\sum_{B\supseteq A}\left(-1\right)^{\left|B-A\right|}f\left(B\right)\)

תכף נראה איך זה מתקשר לדברים שראינו עד כה, אבל לפני כן בואו נוכיח. מה שאנחנו בעצם רוצים להראות הוא שאם נגדיר טרנספורמציה לינארית \(S:V\to V\) על ידי \(\left(Sf\right)\left(A\right)=\sum_{B\supseteq A}\left(-1\right)^{\left|B-A\right|}f\left(B\right)\) אז יתקיים ש-\(ST=TS=I\). עכשיו, כמו שבדרך כלל קורה באלגברה לינארית, כל מה שצריך לעשות הוא להציב והכל כבר מסתדר מעצמו. הבה ונראה מהו \(\left(TSf\right)\):

\(\left(TSf\right)\left(A\right)=T\left(\sum_{B\supseteq A}\left(-1\right)^{\left|B-A\right|}f\left(B\right)\right)=\sum_{B\supseteq A}\left(-1\right)^{\left|B-A\right|}Tf\left(B\right)\)

\(=\sum_{B\supseteq A}\left(-1\right)^{\left|B-A\right|}\left(\sum_{C\supseteq B}f\left(C\right)\right)\)

כעת ננקוט בתעלול הטכני הסטנדרטי של שינוי סדר הסכימה. הסכום שלמעלה שווה ממש לסכום הבא:

\(\sum_{C\supseteq A}\left(\sum_{A\subseteq B\subseteq C}\left(-1\right)^{\left|B-A\right|}\right)f\left(C\right)\)

האינדקס בסכום האמצעי הוא \(B\). אז למה \(\left|B-A\right|\) יכול להיות שווה? ברור שערכיו נעים בין 0 ובין \(m=\left|C-A\right|\). כמה קבוצות \(B\) מקיימות ש-\(\left|B-A\right|=i\) עבור \(0\le i\le m\)? ובכן, בדיוק כמספר האיברים לבחור \(i\) מתוך \(m\) האיברים של \(C\) שאינם ב-\(A\), כלומר \({m \choose i}\). לכן את הסכום האמצעי אפשר לכתוב גם כ-\(\sum_{i=0}^{m}\left(-1\right)^{i}{m \choose i}=\left(1-1\right)^{m}\) (כאן השתמשתי בבינום של ניוטון), ולכן אם \(m>0\) אז הסכום האמצעי שווה לאפס, ואם \(m=0\) אז הסכום האמצעי שווה ל-1 (אני משתמש כאן בקונוונציה לפיה \(0^{0}=1\), אבל מי שלא מאמין לי יכול לבדוק ולהיווכח בכך ש-\(\sum_{A\subseteq B\subseteq C}\left(-1\right)^{\left|B-A\right|}\) אכן שווה 1 כאשר \(A=C\), מה שמצדיק את השימוש בקונוונציה \(0^{0}=1\) כאן).

לסיכום, קיבלנו ש-\(\left(TSf\right)\left(A\right)=f\left(A\right)\), וזאת לכל \(A\), ולכן \(TS=I\) כנדרש. זה מסיים את הוכחת עקרון ההכלה וההפרדה הכללי ביותר שאני מכיר, אבל – מה בעצם עשינו כאן, לעזאזל?

התחלתי את הפוסט עם הנוסחה \(\left|\bigcup_{i=1}^{n}A_{i}\right|=\sum_{i=1}^{n}\left|A_{i}\right|-\sum_{1\le i<j\le n}\left|A_{i}\cap A_{j}\right|+\dots+\left(-1\right)^{n+1}\left|\bigcap_{i=1}^{n}A_{i}\right|\). כאן חשבנו על \(A_{i}\) בתור "קבוצת כל האיברים שמקיימים את התכונה ה-\(i\) לפחות" (לא בדיוק!), ולכן על \(A_{i}\cap A_{j}\) בתור כל האיברים שמקיימים לפחות את התכונות \(i,j\) וכן הלאה. בלשון הקבוצות של המשפט שלמעלה, \(S=\left\{ 1,2,\dots,n\right\} \) ו-\(f\left(A\right)=\left|\bigcap_{i\in A}A_{i}\right|\) (כן, יש לי כאן שימוש כפול מוזר ב-\(A\) וב-\(A_{i}\) במשמעויות שונות לגמרי. אל תגידו לי שזה מה שיחסל אתכם עכשיו).

הנוסחה שלעיל מתארת את \(\bigcup_{i=1}^{n}A_{i}\), שהוא מספר האיברים שמקיימים לפחות אחת מהתכונות, אבל בדרך כלל התעניינו דווקא במספר האיברים שלא מקיימים אף אחת מהתכונות, מה שגרם לנו לחסר את הגודל של \(\bigcup_{i=1}^{n}A_{i}\) ממספר האיברים הכולל ב"עולם" שלנו, שזו דרך אחרת להגיד "מספר האיברים שמקיימים לפחות אפס תכונות" (מעין "חיתוך ריק" שלא ממש ברור איך לכתוב אותו).

בואו נחדד את העניין, אם כן. נגדיר פונקציה\(f_{=}\left(A\right)\) ששווה למספר האיברים שמקיימים בדיוק את התכונות שב-\(A\). אנחנו מעוניינים לרוב למצוא את \(f_{=}\left(\emptyset\right)\), אבל לפעמים גם עבור קבוצות מחוכמות יותר. כעת, נגדיר גם \(f_{\ge}\left(A\right)\) בתור מספר האיברים שמקיימים לפחות את התכונות ב-\(A\), כלומר בדיוק \(f_{\ge}\left(A\right)=\left|\bigcap_{i\in A}A_{i}\right|\). כעת קל לראות שמתקיים הקשר

\(f_{\ge}\left(A\right)=\sum_{B\supseteq A}f_{=}\left(B\right)\) (הסבירו לעצמכם למה!) כלומר \(f_{\ge}=Tf_{=}\), ולכן \(f_{=}=T^{-1}f_{\ge}\), כלומר

\(f_{=}\left(A\right)=\sum_{B\supseteq A}\left(-1\right)^{\left|B-A\right|}f_{\ge}\left(B\right)\)

ובפרט עבור \(A=\emptyset\) נקבל

\(f_{=}\left(\emptyset\right)=\sum_{A}\left(-1\right)^{\left|A\right|}f_{\ge}\left(A\right)\)

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

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

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

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

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

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

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

תיאור גרפי של מסה מחוברת לקפיץ

נעבור לתיאור המתמטי. אנחנו רוצים לתאר את מיקום הגוף כפונקציה של הזמן. בדרך כלל מסמנים את הפונקציה הזו בתור \(x\left(t\right)\) אבל זה כבר מבלבל מדי לטעמי, ולכן אקרא לה \(f\left(t\right)\) (שימו לב שכל התנועה היא חד ממדית, ולכן מספיק מספר בודד כדי לתאר את המיקום). המיקום מן הסתם צריך להימדד ביחס לאיזו ראשית צירים, וטבעי לבחור בנקודה שבה הקפיץ בשיווי משקל (כלומר, לא מפעיל כוח) בתור ראשית הצירים הזו. כעת, מבחינה פיזיקלית הכוח שקפיץ מפעיל על גוף הוא פרופורציוני למידת ההתארכות או הכיווץ של הקפיץ, ואצלנו מידת ההתארכות/כיווץ הזו היא בדיוק מיקום הגוף ביחס לראשית הצירים. דהיינו, הכוח שהקפיץ מפעיל על הגוף בזמן \(t\) הוא \(-k\cdot f\left(t\right)\), כאשר \(f\left(t\right)\) הוא כזכור מיקום הגוף באותו פרק זמן, ו-\(k\) הוא קבוע חיובי כלשהו התלוי רק בקפיץ. המינוס מתאר את העובדה שכאשר הקפיץ מתוח (ואז \(f\left(t\right)>0\)) הקפיץ מושך את הגוף אליו, וכאשר הקפיץ דחוס (\(f\left(t\right)<0\)) הקפיץ דוחה את הגוף ממנו והלאה.

כעת המהומה הדיפרנציאלית של המיקום-תלוי-בקצב-השינוי-של-המיקום-שתלוי-במיקום נכנסת לתמונה. לצורך פשטות המודל אני משתמש בגרסה הבסיסית ביותר של החוק השני של ניוטון: \(F=ma\), דהיינו התאוצה של הגוף היא פרופורציונית לכוח שמופעל עליו, כשקבוע הפרופורציה מכונה "מסה" והוא תמיד חיובי (אפשר לחשוב על המסה \(m\) בתור "כמות ההתנגדות להאצה" של הגוף). אבל מהי ה"תאוצה" הזו? כאמור, היא השינוי במהירות. ומהי המהירות? השינוי במיקום. כלומר, המהירות היא \(f^{\prime}\left(t\right)\) ואילו התאוצה היא \(f^{\prime\prime}\left(t\right)\). מכאן שקיבלנו את המשוואה הבאה: \(f^{\prime\prime}\left(t\right)=-\frac{k}{m}f\left(t\right)\). התקווה שלנו היא כי מהמשוואה הזו ניתן לחלץ את התיאור הסגור של \(f\left(t\right)\).

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

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

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

בואו נגיד, למשל, שאנחנו רוצים בתור תנאי התחלה למשוואה שיתקיים \(f\left(0\right)=1\) אבל \(f^{\prime}\left(0\right)=0\). האם זה אפשרי בכלל? בואו ננסה: נכתוב "פתרון כללי" \(ae^{x}+be^{-x}\), נציב בו \(0\) ונקבל את המשוואה \(a+b=1\). נגזור את הפתרון הכללי ונקבל \(ae^{x}-be^{-x}\), נציב בזה \(0\) ונקבל את המשוואה \(a-b=0\), שממנה נגזר \(a=b\). נציב זאת במשוואה הראשונה ונקבל \(a=b=\frac{1}{2}\), כלומר הפתרון שרצינו, שמקיים את תנאי ההתחלה שלנו, הוא \(\frac{e^{x}+e^{-x}}{2}\) (בהערת אגב, הפונקציה הזו היא בעלת חשיבות רבה בפני עצמה עד שזכתה לשם "קוסינוס היפרבולי"; ועל כך – בפוסט אחר, ביום מן הימים). בתור תרגיל אפשר לנסות ולעשות את אותו תעלול עבור תנאי ההתחלה \(f\left(0\right)=f^{\prime}\left(0\right)=0\) ולראות שמקבלים את הפתרון \(a=b=0\), כלומר הפונקציה \(f\left(x\right)=0\) צצה מאליה במסגרת הטיפול הכולל במשוואה ולא צריך להתעסק איתה באופן פרטני.

אותה שיטה תקפה באופן כללי למשוואות מסדר שני שבהן אין גורם "חופשי" (שבו לא מופיעה \(f\) או נגזרת שלה) – מוצאים שני פתרונות "בלתי תלויים" ואז כל הפתרונות נתונים כצירוף לינארי של שני הפתרונות שנמצאו. חמושים בידע הזה הבה ונתקוף את המשוואה הכללית ביותר שבה אין גורם חופשי וכל המקדמים הם קבועים – משוואה מהצורה \(af^{\prime\prime}+bf^{\prime}+cf=0\). האינסטינקט הראשון הוא להציב במשוואה הזו שוב וריאציה על \(e^{x}\), שהיה הקלף המנצח שלנו עד כה – הבה ונציב בה את \(e^{\lambda x}\) עבור \(\lambda\) ממשי כלשהו. מכיוון ש-\(\left(e^{\lambda x}\right)^{\prime}=\lambda e^{\lambda x}\), ו-\(\left(e^{\lambda x}\right)^{\prime\prime}=\lambda^{2}e^{\lambda x}\), הרי שאחרי ההצבה נקבל כי \(a\lambda^{2}e^{\lambda x}+b\lambda e^{\lambda x}+ce^{\lambda x}=0\), ואחרי הוצאת גורם משותף, \(\left(a\lambda^{2}+b\lambda+c\right)e^{\lambda x}=0\). כעת ניזכר כי פונקצית האקספוננט אינה מתאפסת בשום נקודה (אחרת הייתה אפס בכל מקום) ולכן אפשר לצמצם בה, ולהיוותר עם \(a\lambda^{2}+b\lambda+c=0\). במילים אחרות, אם \(e^{\lambda x}\) הוא פתרון למשוואה הדיפרנציאלית, אז \(\lambda\) הוא פתרון למשוואה הריבועית \(ax^{2}+bx+c\). שלום כיתה א'.

כזכור מכיתה א' (יותר נכון, מחטיבת הביניים) למשוואה ריבועית יכולים להיות שני פתרונות, פתרון אחד, או "אפס" פתרונות, בהתאם לשאלה האם הפרבולה שמוגדרת באמצעות \(y=ax^{2}+bx+c\) חותכת את ציר ה-\(x\) (2 פתרונות), משיקה לו (פתרון יחיד) או מרחפת מעליו או מתחתיו ("אפס" פתרונות). במקרה שבו ישנם שני פתרונות, \(\lambda_{1},\lambda_{2}\) קיבלנו שני פתרונות למשוואה הדיפרנציאלית: \(e^{\lambda_{1}x},e^{\lambda_{2}x}\). חישוב לא מסובך בעזרת אותו ורונסקיאן פלאי מראה שמכיוון ש-\(\lambda_{1}\ne\lambda_{2}\) הרי ש"יש לנו מזל" ושני הפתרונות הללו פורשים את מרחב הפתרונות כולו, וזה סוף הסיפור. עבור המשוואה \(f^{\prime\prime}=f\) זה עובד יופי: אפשר לכתוב אותה גם כ-\(f^{\prime\prime}-f=0\), כלומר \(a=1,b=0,c=1\) וקיבלנו את המשוואה \(\lambda^{2}-1=0\) שפתרונותיה הם \(\lambda=\pm1\), ואכן הפתרונות הפורשים שמצאנו היו \(e^{x},e^{-x}\).

אם לעומת זאת למשוואה היה פתרון יחיד (למשל, למשוואה \(x^{2}-2x+1=0\) קיים רק הפתרון \(1\), שכן דרך אחרת לכתוב את המשוואה הזו היא בתור \(\left(x-1\right)^{2}=0\)) הרי ש"אכלנו אותה" – כל השיטה המפוארת שלנו ל"ניחוש" פתרון הניבה רק חצי מכמות הפתרונות שצריכים, ואנחנו צריכים למצוא פתרון נוסף, בלתי תלוי בראשון, באמצעות קסמים חדשים. יש קסמים כאלו, אבל כרגיל – אני לא כותב ספר מד"ר ולא אכנס לכך כעת. המקרה שבאמת מעניין אותי בכל הסיפור הזה הוא המקרה השלישי, זה שבו יש "אפס" פתרונות. כמו שאפשר לנחש מהמרכאות שאני כל הזמן כותב, ממש לא נכון לומר (כמו שלמדנו בחטיבת הביניים) שלמשוואה יש אפס פתרונות; כל מה שאפשר לומר הוא שיש לה אפס פתרונות ממשיים, אבל למה להגביל את עצמנו? כאשר מתירים פתרונות מרוכבים (כלומר, כאשר מסתכלים על שדה ההרחבה הטבעי של הממשיים – אנחנו לא מוסיפים כאן פתרונות מלאכותיים) רואים שלמשוואה יש במקרה זה שני פתרונות מרוכבים. מכיוון שהמשוואה היא בעלת מקדמים ממשיים, אז אם \(z\) המרוכב הוא פתרון של המשוואה, כך גם \(\overline{z}\), הצמוד המרוכב שלו (ההוכחה לכך פשוטה: אם \(az^{2}+bz+c=0\), הרי שאחרי ש"נצמיד" את כל המשוואה ונשתמש בכך שצמוד של מספר ממשי הוא אותו מספר עצמו, נקבל \(0=\overline{0}=\overline{az^{2}+bz+c}=\overline{a}\overline{z}^{2}+\overline{b}\overline{z}+\overline{c}=a\overline{z}^{2}+b\overline{z}+c\)), ומכאן שהפתולוגיה של "יש רק פתרון אחד! מה נעשה, מה נעשה" לא מתרחשת במקרה הזה, ושני הפתרונות שקיבלנו הם תמיד בעלי קשר הדוק זה לזה: \(e^{\lambda x}\) ו-\(e^{\overline{\lambda}x}\), ומכאן ש…

רגע, רגע, רגע. לא כל כך מהר. בספרי המד"ר בשלב זה מקדישים דיון קצר לשאלה מהו אקספוננט שמועלה בחזקת מספר מרוכב ומגיעים מיידית לנוסחת אוילר. אלא שנוסחת אוילר מניחה שכבר קיימים סינוסים וקוסינוסים, ואילו המטרה שלי כרגע היא לתת מוטיבציה להגדרת הפונקציות הללו ולדיון עליהן, ולכן אני מגיע כעת לפרשת דרכים: האם אני רוצה לתאר את נוסחת אוילר, שאומרת ש-\(e^{i\theta}=f\left(\theta\right)+ig\left(\theta\right)\) עבור שתי פונקציות ממשיות מאוד מסויימות \(f,g\), ואז לקרוא להן \(\cos\) ו-\(\sin\) בהתאמה? יש הגיון בגישה הזו, שבשורה התחתונה אומרת שקוסינוס וסינוס הן פונקציות ההיטל של פונקצית האקספוננט המרוכב (שהוא בתורו הרחבה טבעית של האקספוננט הממשי, שאותו תיארתי בפוסט הקודם). עם זאת, אני רוצה לאמץ גישה שונה, אולי מעט יותר מוגבלת ברוחב המבט שלה שכן היא לא תתבונן על המרוכבים, אבל יותר דומה באופיה ה"חקרני" לנקודת המבט שאימצתי בפוסט על האקספוננט, ולנסות להמציא את סינוס וקוסינוס בנפרד מהאקספוננט, ורק בסוף לקשור בין כולם.

אם כן, הפוסט הבא יעסוק בחיפוש אחר הפתרונות למשוואה הפשוטה ביותר ש"עושה בעיות" – המשוואה \(f^{\prime\prime}=-f\). יהיה אקשן.

נעים להכיר – אקספוננט

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

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

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

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

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

פולינומים הם פונקציות מהצורה \(p\left(x\right)=a_{0}+a_{1}x+a_{2}x^{2}+\dots+a_{n}x^{n}\), כש-\(x\) הוא המשתנה, \(a_{0},\dots,a_{n}\) הם מספרים ממשיים כלשהם המכונים "מקדמי הפולינום", \(a_{n}\ne0\), ו-\(n\) נקראת דרגת הפולינום. במובן מסויים אלו הן הפונקציות הפשוטות ביותר והקלות ביותר לחישוב, ולכן גם הפונקציות שנהוג להשתמש בהן כדי לקרב פונקציות מורכבות יותר. קל לגזור פולינום: \(\left(x^{n}\right)^{\prime}=nx^{n-1}\), ובאופן כללי לכל פונקציות גזירות \(f,g\) וקבוע ממשי \(c\) מתקיים \(\left(cf\right)^{\prime}=cf^{\prime}\)ו-\(\left(f+g\right)^{\prime}=f^{\prime}+g^{\prime}\) (תכונות אלו מכונות "הלינאריות של הנגזרת"), ומכאן קל להסיק את הנוסחה הכללית לנגזרת של פולינום: \(p'\left(x\right)=a_{1}+2a_{2}x+3a_{3}x^{2}\dots+na_{n}x^{n-1}\) (כלומר, הנגזרת של פולינום היא פולינום אחר, מדרגה קטנה ב-1).

באופן כללי, אם עבור פונקציה \(f\) ידוע לנו הערך של \(f^{\left(k\right)}\left(0\right)\) לכל \(k\), ואנו רוצים להשתמש בידע הזה כדי למצוא לה קירוב באמצעות פולינום; מתבקש להשתמש בפולינום שהערך שלו ושל נגזרותיו בנקודה 0 מתאים לערך של \(f\) ונגזרותיה בנקודה 0 (מאחר וזה המידע שיש לנו על \(f\)). שימו לב כי אם \(p\left(x\right)=a_{0}+a_{1}x+a_{2}x^{2}+\dots+a_{n}x^{n}\) אז \(p\left(0\right)=a_{0}\), כי כל מקדם שעדיין צמוד לחזקה חיובית של \(x\) נעלם. על פי אותו עקרון, \(p^{\prime}\left(0\right)=a_{1}\); ואילו \(p^{\left(2\right)}\left(0\right)=2a_{2}\) (כי אחרי שגזרנו את \(p\) פעם אחת, האיבר \(a_{2}x^{2}\) הפך ל-\(2a_{2}x\); ואחרי גזירה שניה הוא הפך ל-\(2a_{2}\) ואז איפוס \(x\) לא משפיע עליו). ומה יהיה \(p^{\left(k\right)}\left(0\right)\) באופן כללי? אפשר כבר לנחש שזה יהיה \(a_{k}\) כפול קבוע כלשהו – איזה? אחרי שגוזרים את \(p\) פעם אחת, \(a_{k}x^{k}\) הופך ל-\(ka_{k}x^{k-1}\); אחרי גזירה שנייה הוא הופך ל-\(\left(k-1\right)ka_{k}x^{k-2}\); אחרי שלישית, \(\left(k-2\right)\left(k-1\right)ka_{k}x^{k-3}\); ובסופו של דבר כש-\(x\) "ייעלם" ניוותר עם \(1\cdot2\cdot3\cdots k\cdot a_{k}\), כלומר \(k!\cdot a_{k}\).

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

נחזור כעת אל פונקציית האקספוננט. אמרנו שהיא מקיימת \(\exp^{\left(k\right)}\left(0\right)=1\) לכל \(k\), כך שהפולינום במקרה זה הוא פשוט במיוחד: \(p_{n}\left(x\right)=\sum_{k=0}^{n}\frac{1}{k!}x^{k}\). אלא שפולינום פשוט זה לא מספיק – צריך גם להראות שהוא קירוב טוב, כלומר צריך לומר משהו על השארית. בואו נקבע לרגע את \(x\), וכדי לסמן שהוא קבוע נסמנו ב-\(x_{0}\); מה שאנחנו באמת רוצים להראות הוא שככל שאנחנו מגדילים את \(n\), ושומרים את \(x_{0}\) קבוע, אנחנו מקטינים את הטעות שלנו ככל שנרצה – כלומר, שהטעות שואפת לאפס כש-\(n\) שואף לאינסוף. בדרך כלל לא פשוט להראות את זה (ולא תמיד זה בכלל נכון), בגלל שההתנהגות של \(f^{\left(n\right)}\) בקטע שלנו עשויה "להתפרע"ככל שנגדיל את \(n\) (חשבו על נהג "משוגע" שכל הזמן נותן גז ובולם בפראות – פונקצית המקום שלו משתנה בצורה יחסית "נחמדה"כי ההתפרעויות מקזזות זו את זו, אבל אם נסתכל על הנגזרת של פונקצית המקום – המהירות – נראה שהיא "משוגעת"). אלא שבמקרה שלנו אין בעיה כי \(f^{\left(n\right)}=f\) לכל \(n\). אנחנו גם יודעים ש-\(f\) במקרה שלנו היא רציפה (זה מובטח ממשפט הקיום והיחידות) ולכן בפרט היא חסומה בקטע \(\left[0,x_{0}\right]\) (אינטואיטיבית תכונה זו ברורה יחסית, אך כמובן שיש להוכיח אותה פורמלית).

אם נסמן ב-\(M\) את החסם על גודל הפונקציה, אז \(\frac{f^{\left(n+1\right)}\left(c\right)}{\left(n+1\right)!}x_{0}^{n+1}\le\frac{x_{0}^{n+1}}{\left(n+1\right)!}\cdot M\). מכיוון שלכל מספר קבוע \(a\) מתקיים כי \(\frac{a^{n}}{n!}\to0\) (האינטואיציה היא שבעוד \(a^{n}\) הוא מכפלה של \(a\) הקבוע בעצמו \(n\) פעמים, בעוד ש-\(n!\) היא מכפלה של מספרים שהולכים וגדלים, והחל משלב מסויים כולם יהיו גדולים מ-\(a\)) נובע שהשגיאה שואפת תמיד לאפס. מסקנה: הפולינומים מהווים קירוב טוב של \(\exp\), במובן זה שלכל \(x_{0}\) מתקיים \(p_{n}\left(x_{0}\right)\to\exp\left(x_{0}\right)\). בשל כך אפשר לשכוח מפולינומים ולעבור לדבר על \(\exp\left(x\right)\) כמיוצגת באמצעות טור חזקות אינסופי: \(\exp\left(x\right)=\sum_{n=0}^{\infty}\frac{x^{n}}{n!}\). בחלק מהמקרים בוחרים להגדיר את פונקצית האקספוננט באמצעות טור חזקות זה (צריך להראות שהוא מתכנס, אך זה פשוט למדי באמצעות תוצאות סטנדרטיות על טורי חזקות).

אם מתחילים עם הגדרה זו קל למדי להראות ש-\(\exp^{\prime}\left(x\right)=\exp\left(x\right)\), שכן התורה של טורי חזקות מצביעה על כך שניתן לגזור את הטור "איבר איבר" כדי לקבל את הטור המתאים לנגזרת – אך לא קשה לראות שאם גוזרים את הטור \(\sum_{n=0}^{\infty}\frac{x^{n}}{n!}\) איבר איבר, מקבלים את אותו הטור בדיוק! שהרי כשגוזרים את \(\frac{x^{n}}{n!}\) מקבלים \(\frac{x^{n-1}}{\left(n-1\right)!}\). אם כן, בגישה זו קל מאוד "לראות בעיניים" מדוע הנגזרת של אקספוננט היא האקספוננט עצמו; ה"חסרון" של שיטה זו היא שיש שרירותיות רבה כלשהי בלהתחיל מההגדרה \(\sum_{n=0}^{\infty}\frac{x^{n}}{n!}\) במקום להגיע אליה כתוצר "טבעי" של איזו שהיא דרישה בסיסית יותר (וזה גם פחות הרפתקני; במקום לטייל בג'ונגל עד שמגיעים לעיר העתיקה שקבורה בו, אנחנו מקבלים הקפצה במסוק).

יפה – אם כן, כעת יש לנו ייצוג מאוד קונקרטי לפונקצית האקספוננט, ואפילו שיטה לחשב אותה נומרית בכל דיוק שנרצה. מה עוד צריך, אם כן? אפיונים נוספים שישפכו עוד אור על הפונקציה הזו. אילו תכונות מעניינות הפונקציה מקיימת? כבר ראינו תכונה מעניינת מאוד: נגזרתה שווה לעצמה. כעת אציג תכונה מעניינת וחשובה לא פחות: \(\exp\left(x\right)\cdot\exp\left(y\right)=\exp\left(x+y\right)\). קל לראות את זה עכשיו, כשיש לנו את הייצוג של \(\exp\) כטור חזקות – אפשר ממש לכפול את שני הטורים. אתם יכולים להאמין לי שזה עובד, אבל גם בחישוב ה"טכני" יש יופי לא קטן וכדאי לדעתי לנסות ולעקוב אחריו. ראשית הבה וננסה להבין מהו \(\exp\left(x\right)\cdot\exp\left(y\right)\). כדי להקל על ההבנה כדאי לכתוב זאת כסכום בלי סיגמות: \(\exp\left(x\right)\cdot\exp\left(y\right)=\left(1+x+\frac{x^{2}}{2}+\dots\right)\left(1+y+\frac{y^{2}}{2}+\dots\right)\). אם נפתח את המכפלה הזו נקבל סכום של איברים שכל אחד מהם התקבל על ידי בחירת איבר אחד מהסכום השמאלי, ואיבר אחד מהסכום הימני, כלומר סכום של איברים מהצורה \(\frac{x^{k}}{k!}\cdot\frac{y^{t}}{t!}\). כרגע זה לא נראה מועיל במיוחד, אז נבצע שינוי משתנים מתוחכם (מי שתוהה איך הגעתי אליו – פשוט פותחים את \(\exp\left(x+y\right)\) ורואים מה היעד שלנו…): את החזקה של \(x\) נמשיך לסמן ב-\(k\), אבל את החזקה של \(y\) נסמן בתור \(n-k\) דווקא (כאשר \(n\) יכול להיות כל מספר טבעי גדול או שווה ל-\(k\); לכל \(n\) כזה, קיים איבר מתאים בסכום שבו \(x\) הוא בחזקת \(k\) ו-\(y\) הוא בחזקת \(n-k\)). עם הסימון הזה, האיבר שלנו הוא \(\frac{x^{k}y^{n-k}}{k!\left(n-k\right)!}\). אולי לחלקכם זה מתחיל להיראות מוכר. נכפול ונחלק ב-\(n!\) ונקבל \(\frac{n!}{k!\left(n-k\right)!}\frac{x^{k}y^{n-k}}{n!}\), כלומר \(\frac{{n \choose k}x^{k}y^{n-1}}{n!}\).

מכאן כבר העניינים מתגלגלים מהר: הסכום שלנו כעת ניתן לתיאור בתור \(\sum_{n=0}^{\infty}\frac{\sum_{k=0}^{n}{n \choose k}x^{k}y^{n-k}}{n!}\), ועל ידי הבינום של ניוטון נקבל כי סכום זה הוא \(\sum_{n=0}^{\infty}\frac{\left(x+y\right)^{n}}{n!}\), כלומר \(\exp\left(x+y\right)\), ובכך מסתיים העניין. גילינו, אם כן, כי \(\exp\) היא פונקציה שמתרגמת פעולת חיבור לפעולת כפל. כל תלמיד תיכון כבר נתקל בתופעה כזו, בחוקי חזקות. הרי \(x^{a}\cdot x^{b}=x^{a+b}\). מכאן צצה אינטואיציה חדשה לגבי מהותה של \(\exp\) – האם ייתכן שהיא פונקציה של העלאה בחזקה? ואם כן, על פי איזה בסיס? הדרך לגלות את הבסיס היא להציב 1 ב-\(\exp\) (כלומר, לקבל את הבסיס בחזקת 1). התוצאה היא המספר \(\exp\left(1\right)=1+1+\frac{1}{2}+\frac{1}{3!}+\frac{1}{4!}+\dots=2.71828\dots\) (שלוש הנקודות מסמלות, כרגיל, שהמספר לא נגמר בספרות אלו אלא ממשיך עד אין קץ). נהוג לסמן את המספר הזה ב-\(e\). לטעמי זהו הקבוע המתמטי המעניין ביותר; מעניין יותר מ-\(\pi\), אחיו המפורסם הרבה יותר. הטור מאפשר חישוב מאוד מהיר ויעיל של \(e\), להבדיל מ-\(\pi\) שחישוב יעיל שלו דורש התחכמויות נוספות. אם כן, המטרה שלנו כעת היא להראות ש-\(\exp\) היא בעצם פונקציה של העלאת \(e\) בחזקה.

כמובן, כדי לדבר על העלאה בחזקה צריך להגדיר במדוייק למה הכוונה. \(a^{2}\) הוא פשוט \(a\cdot a\), ובאותו אופן \(a^{n}\) עבור \(n\) טבעי הוא \(a\cdot a\cdots a\) במשך \(n\) פעמים, אך מהו \(a^{\pi}\)? חייבים לתת משמעות פורמלית לסימון הזה. האופן שבו עושים זאת הוא ראשית כל להגדיר את החזקה לכל מספר שלם, על ידי ההגדרה \(a^{-n}=\left(\frac{1}{a}\right)^{n}\) עבור \(n\) טבעי; ולהרחיב את ההגדרה לרציונליים על ידי כך שמגדירים \(a^{\frac{1}{n}}=\sqrt[n]{a}\) לכל \(n\) טבעי, ועל כן \(a^{\frac{m}{n}}=\sqrt[n]{a^{m}}\). עד כאן – חומר של תיכון. כדי להרחיב את ההגדרה לממשיים כבר צריך להשתמש בחשבון אינפיניטסימלי. באופן כללי בחשבון אינפיניטסימלי, כאשר יש לנו פונקציה \(f\left(x\right)\) שערכיה נקבעו כבר על כל המספרים הרציונליים, נובעת מכך דרך אחת ויחידה להרחיב את הפונקציה לכל הממשיים כך שהפונקציה המתקבלת תהיה רציפה. זוהי הרי מהות הרציפות – שאם יש לנו סדרת נקודות \(x_{n}\) כך ש-\(x_{n}\to a\) עבור \(a\) ממשי כלשהו, אז \(f\left(x_{n}\right)\to f\left(a\right)\). מכיוון שלכל מספר ממשי אפשר לקחת סדרת קירובים רציונליים שכזו, הערך של \(f\) ב-\(a\) מוכתב על ידי הערכים של \(f\) על המספרים הרציונליים.

כעת, אם \(f\) היא פונקציה רציפה שמקיימת את המשוואה \(f\left(x+y\right)=f\left(x\right)\cdot f\left(y\right)\) (משוואה זו מכונה לפעמים "משוואת קושי האקספוננציאלית"), ראשית כל נסמן \(a=f\left(1\right)\), וכעת לכל \(n\) טבעי מתקיים \(f\left(n\right)=f\left(1+\dots+1\right)=f\left(1\right)\cdots f\left(1\right)=a^{n}\), כלומר על הטבעיים \(f\) אכן מתנהגת כמו חזקה. קל לראות ש-\(a\) חייב להיות אי שלילי, שכן \(a=f\left(1\right)=f\left(\frac{1}{2}+\frac{1}{2}\right)=\left[f\left(\frac{1}{2}\right)\right]^{2}\), כלומר \(a\) הוא ריבוע של מספר ממשי כלשהו, ולכן חייב להיות אי שלילי.

השלב הבא הוא 0: מכיוון ש-\(0=0+0\) הרי ש-\(f\left(0\right)=f\left(0+0\right)=f\left(0\right)\cdot f\left(0\right)=\left[f\left(0\right)\right]^{2}\). איזה מספר ממשי שווה לריבוע שלו? רק 0 או 1; אבל אם \(f\left(0\right)=0\) אז גם \(f\left(n\right)=f\left(n+0\right)=f\left(n\right)\cdot f\left(0\right)=0\), וקיבלנו פונקציה לא מעניינת (שאפשר לחשוב עליה בתור \(f\left(x\right)=0^{x}\) – כלומר, אפילו במקרה הזה היא פונקציית העלאה בחזקה, אם מקבלים את הקונבנציה הלא שגרתית \(0^{0}=0\) במקרה זה). לכן \(f\left(0\right)=1\). מכאן מגיעים מיידית להגדרה עבור שליליים: \(1=f\left(0\right)=f\left(n+\left(-n\right)\right)=f\left(n\right)f\left(-n\right)\) ומכאן ש-\(f\left(-n\right)=\frac{1}{a^{n}}=\left(\frac{1}{a}\right)^{n}\), ולכן אפשר לומר ש-\(f\left(-n\right)=a^{-n}\).

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

בכל ההרפתקאה הזו נמנעתי במכוון – אפילו בכוח – מלהזכיר את פונקצית הלוגריתם הטבעי. למעשה, ברוב ספרי הלימוד שבהם מגדירים אקספוננט, הדרך לעשות זאת היא ראשית כל על ידי הגדרת הלוגריתם, ואז הגדרת האקספוננט כפונקציה ההופכית שלו, אבל על הלוגריתם הטבעי, המוטיבציה לו והדרך להגדיר אותו כבר אפשר וכדאי לכתוב פוסט נפרד, בעתיד. לעת עתה אני רק רוצה להפנות את תשומת הלב לעובדה אחת שעבורה אני זקוק ללוגריתם הטבעי: בעצם הוכחתי קודם כי כל פונקציה רציפה שמקיימת את משוואת קושי האקספוננציאלית היא מעריכית, כלומר מהצורה \(a^{x}\), אבל למעשה יש דרך אחרת לתאר פונקציה שכזו: מכיוון ש-\(a>0\) הרי ש-\(a=e^{\ln a}\), ולכן את הפונקציה \(a^{x}\) אפשר גם לתאר בתור הפונקציה \(e^{\ln a\cdot x}\). זה גם מראה לנו מיידית מדוע הנגזרת של \(a^{x}\) היא \(a^{x}\cdot\ln a\) (הדבר נובע מכך ש-\(\left(e^{\ln a\cdot x}\right)^{\prime}=\left(\ln a\right)e^{\ln a\cdot x}\)), וגם אומר לנו שאפשר לתת לכל הפונקציות המעריכיות תיאור אחיד על ידי \(e^{kx}\), עבור \(k\) ממשי כלשהו; כך למשל הפתרון של המשוואה הדיפרנציאלית שהצגתי בפוסט הקודם היה פונקציה מעריכית שכזו.

גם עם הקבוע \(e\) לא גמרנו; יש עוד דרכים להגדיר אותו, ובראש ובראשונה בתור הגבול \(\lim_{n\to\infty}\left(1+\frac{1}{n}\right)^{n}\) (למעשה, אפשר גם להגדיר את פונקצית האקספוננט באמצעות וריאציה על גבול זה); וגם על כך אני מקווה לדבר בעתיד.