קונבולוציה

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

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

## הגדרה
ממוזער|שמאל|350px|המשמעות הגרפית של קונבולוציה

### קונבולוציה של פונקציות
קונבולוציה f(t) בין שתי הפונקציות h(t) ו-g(t) גם היא פונקציה של t והיא מוגדרת כך:

:f(t) = (h*g)(t) = \int_{-\infty}^{\infty} h(t-\tau)g(\tau)d\tau

קונבולוציה בין הסדרות הבדידות h[n] ו-g[n] מוגדרת:

:f[n] = (h*g)[n] = \sum_{m =-\infty}^{\infty} h[n-m]g[m]

קונבולוציה היא סך השטח הכלוא מתחת למכפלת שתי הפונקציות כאשר אחת מהן משוקפת סביב הציר האנכי ומוזזת ב-t. המשתנה t לאו דווקא מסמל זמן, ובתחומים שונים הפונקציות הן של משתנים שונים. ניתן להתייחס לקונבולוציה כממוצע נע משוקלל: f(t) היא הממוצע של הפונקציה g(\tau) לפי פונקציית המשקל h(-\tau) המוזזת ב-t (או המשתנה עם הזמן).

### קונבולוציה של סדרות

הקונבולוציה של הסדרות \ (a_n) ו-\ (b_n) היא הסדרה \ (a*b)_n = a_0 b_n + a_1b_{n-1}+\cdots+a_nb_0. בדומה לזה מוגדרת קונבולוציה של טורים כטור המתאים לקונבולוציה של הסדרות המתאימות. לפי משפט קושי (תורת הטורים), הקונבולוציה של טורים המתכנסים בהחלט מתכנסת בהחלט.

### קונבולוציה מעגלית

אם הפונקציה g_{_T}(t) היא מחזורית עם מחזור T, כך שניתן לכתוב אותה כסכום:
:g_{_T}(t) = \sum_{k=-\infty}^\infty g(t + kT),
אז הקונבולוציה של g_{_T}(t) עם פונקציה h(t), שאינה מחזורית, גם היא פונקציה מחזורית עם מחזור T, וניתן לכתוב אותה כך:
:f(t) = (h * g_{_T})(t) \equiv \int_{t_0}^{t_0+T} \left[\sum_{k=-\infty}^\infty h(\tau + kT)\right] g_{_T}(t - \tau)\, d\tau,

ניתן לראות זאת כסכימה של השטח מתחת למכפלת מחזור אחד של g_{_T}(t) בהזזות של הפונקציה h(t), במקום סכימה של השטח מתחת למכפלה של הזזות של מחזור אחד של הפונקציה g(t) בפונקציה h(t).

f(t) נקראת **הקונבולוציה המעגלית** או **הקונבולוציה הציקלית** של h(t) ו-g(t). כלומר, קונבולוציה מעגלית של שתי פונקציות שאינן מחזוריות היא קונבולוציה רגילה בין הפונקציה האחת לבין פונקציה מחזורית שהמחזור שלה זהה לקטע מן הפונקציה השנייה.

אם נגדיר פונקציה מחזורית h_{_T}(t) כפונקציה שהמחזור שלה זהה לקטע מהפונקציה h(t):
:h_{_T}(t) = \sum_{k=-\infty}^\infty h(t + kT)
אז ניתן לכתוב את הפונקציה (h * g_{_T})(t) כך:
:\int_{t_0}^{t_0+T} h_{_T}(\tau) g_{_T}(t - \tau)\, d\tau
והיא נקראת **הקונבולוציה המחזורית** של h_{_T}(t) ו-g_{_T}(t). כלומר, הקונבולוציה המחזורית של שתי פונקציות מחזוריות עם מחזור זהה T דומה לקונבולוציה רגילה, אלא שהאינטגרציה נעשית על פני זמן באורך של מחזור אחד T, כאשר t_0 הוא שרירותי.

## אינטואיציה
לשם המחשת המושג ניקח דוגמה מתחום האקוסטיקה. נניח שאנו נמצאים בחדר אשר מחזיר הד עבור קולות הנשמעים בו. אם נשמיע קול בחדר זה ההד יתנהג בצורה הבאה: לאחר שנייה אחת עוצמת הקול שנשמעת היא חצי מהקול המקורי, לאחר שתי שניות היא רבע ממנו, וכן הלאה. ובאופן כללי: h[t]=\frac{1}{2^t} (כאשר h היא ההגבר). נניח כי מוצב תוף בחדר ואדם מכה בו כל שנייה בעוצמה אחרת, ו־g[t] היא הסדרה המייצגת את עוצמת המכה בכל שנייה. אם אנחנו מעוניינים לדעת לאחר זמן מסוים מה תהיה עוצמת הקול בחדר, עלינו לסכום את התרומות של כל הקולות שנעשו מאז תחילת התיפוף ועד הזמן שאנחנו מעוניינים בו. הבעיה היא שעבור כל מכה בתוף עבר זמן שונה ונצטרך להתחשב בו. הדרך לחשב זאת היא לחבר את העוצמה שנשמעה ברגע זה עם חצי העוצמה שנשמעה בשנייה הקודמת עם רבע מהעוצמה שנשמעה בשנייה שלפני כן וכן הלאה עד לתחילת התיפוף, כלומר: g[t]h[0]+g[t-1]h[1]+g[t-2]h[2]+... = \sum_{n=0}^{t} h[n]g[t-n]ביטוי זה שקיבלנו הוא הקונבולוציה בזמן בדיד אך אפשר בקלות לקבל ביטוי דומה עבור זמן רציף.

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

; קומוטטיביות
:: f * g = g * f 
:ההוכחה נעשית על ידי הגדרת הקונבולוציה:
::(f * g)(t) = \int^\infty_{-\infty} f(\tau)g(t - \tau)\, d\tau
:והחלפת משתנה האינטגרציה ל־u = t - \tau, המביאה לתוצאה הרצויה.

; אסוציאטיביות
:: f * (g * h) = (f * g) * h
:הוכחה: הדבר נובע משימוש במשפט פוביני (כלומר, ניתן לחשב אינטגרלים כפולים כאינטגרלים מתחלפים בסדרים שונים).

; דיסטריביוטיביות
:: f * (g + h) = (f * g) + (f * h)
:הדבר נובע מליניאריות האינטגרל.

; אסוציאטיביות עם כפל בסקלר
:: a (f * g) = (a f) * g
:עבור כל מספר ממשי או מרוכב a.

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

; קונבולוציה עם פונקציית דלתא מוזזת
:תהי \delta_c(t) \equiv \delta(t-c). אזי מתקיים:
::(f * \delta_c)(t) = f(t-c)

; איבר הופכי
: לחלק מההתפלגויות S יש איבר הופכי S^{-1} עבור הקונבולוציה, שמקיים:
::S^{-1} * S = \delta
:מביטוי זה ניתן לקבל נוסחה מפורשת עבור S^{-1}. קבוצת ההתפלגויות ההפיכות יוצרת חבורה אבלית תחת הקונבולוציה.

; צימוד מרוכב
:: \overline{f * g} = \overline{f} * \overline{g}

; היפוך זמן
: אם q(t) = r(t)*s(t), אז q(-t) = r(-t)*s(-t).

הוכחה (באמצעות משפט הקונבולוציה):

 q(t) \ \stackrel{\mathcal{F}}{\Longleftrightarrow}\ \ Q(f) = R(f)S(f)

 q(-t) \ \stackrel{\mathcal{F}}{\Longleftrightarrow}\ \ Q(-f) = R(-f)S(-f)

 
\begin{align}
q(-t) &= \mathcal{F}^{-1}\bigg\{R(-f)S(-f)\bigg\}\\
&= \mathcal{F}^{-1}\bigg\{R (-f)\bigg\} * \mathcal{F}^{-1}\bigg\{S(-f)\bigg\}\\
&= r(-t) * s(-t)
\end{align}


; קשר לגזירה
:: (f * g)' = f' * g = f * g'
:הוכחה:
: 
\begin{align}
(f * g)' & = \frac{d}{dt} \int^\infty_{-\infty} f(\tau) g(t - \tau) \, d\tau \\
& =\int^\infty_{-\infty} f(\tau) \frac{\partial}{\partial t} g(t - \tau) \, d\tau \\
& =\int^\infty_{-\infty} f(\tau) g'(t - \tau) \, d\tau = f* g'
\end{align}
.

; קשר לאינטגרציה
: אם F(t) = \int^t_{-\infty} f(\tau) d\tau, ו־G(t) = \int^t_{-\infty} g(\tau) \, d\tau, אז (F * g)(t) = (f * G)(t) = \int^t_{-\infty}(f * g)(\tau)\,d\tau.

### אינטגרציה
אם f ו־g הן פונקציות אינטגרביליות, אז האינטגרל של הקונבולוציה שלהן על המרחב כולו מתקבל ממכפלת האינטגרלים שלהן:

: \int_{\mathbf{R}^d}(f * g)(x) \, dx=\left(\int_{\mathbf{R}^d}f(x) \, dx\right) \left(\int_{\mathbf{R}^d}g(x) \, dx\right).

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

### גזירה
במקרה של משתנה אחד,

: \frac{d}{dx}(f * g) = \frac{df}{dx} * g = f * \frac{dg}{dx}

כאשר \frac{d}{dx} היא נגזרת. באופן כללי יותר, במקרה של פונקציות של מספר משתנים, מתקיימת נוסחה מקבילה עם הנגזרת החלקית:

: \frac{\partial}{\partial x_i}(f * g) = \frac{\partial f}{\partial x_i} * g = f * \frac{\partial g}{\partial x_i}.

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

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

: \frac{d}{dx}(f* g) = \frac{df}{dx} * g.

זהויות אלו מתקיימות גם בצורה רחבה הרבה יותר, במובן של התפלגויות מחוסמות (tempered distributions), אם f או g היא התפלגות מחוסמת דועכת במהירות (rapidly decreasing tempered distribution), התפלגות מחוסמת הנתמכת באופן קומפקטי או שהיא פונקציית שוורץ, בעוד השנייה היא התפלגות מחוסמת. מצד שני, לשתי פונקציות חיוביות אינטגרביליות וניתנות לגזירה אינסוף פעמים עשויות להיות קונבולוציה שאינה רציפה בשום מקום.

במקרה הבדיד, אופרטור ההפרש Df(n)=f(n+1)-f(n) מקיימת את הקשר האנלוגי:

: D(f * g) = (Df) * g = f * (Dg).

### משפט הקונבולוציה
משפט הקונבולוציה קובע כי:

:  \mathcal{F}\{f * g\} = \mathcal{F}\{f\}\cdot \mathcal{F}\{g\}

כאשר  \mathcal{F}\{f\} מציין את התמרת פורייה של f.

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

#### קונבולוציה על מטריצות
אם \mathcal W היא מטריצת התמרת פורייה, אזי:

: \mathcal W\left(C^{(1)}x \ast C^{(2)}y\right) = \left(\mathcal W C^{(1)} \bull \mathcal W C^{(2)}\right)(x \otimes y) = \mathcal W C^{(1)}x \circ \mathcal W C^{(2)}y,

כאשר  \bull  הוא מכפלת פיצול פנים ,  \otimes  מציין את מכפלת קרונקר  ו־ \circ  מציין את מכפלת אדמר .

ניתן להכליל זאת עבור מטריצות מתאימות \mathbf{A},\mathbf{B}:

: \mathcal W\left((\mathbf{A}x) \ast (\mathbf{B}y)\right) = \left((\mathcal W \mathbf{A}) \bull (\mathcal W \mathbf{B})\right)(x \otimes y) = (\mathcal W \mathbf{A}x) \circ (\mathcal W \mathbf{B}y)

מהמאפיינים של מכפלת פיצול פנים.

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

## ראו גם
*קונבולוציית דיריכלה

## קישורים חיצוניים

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

## הערות שוליים

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