Згортка (математичний аналіз)

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Згортка двох квадратних імпульсів: результатом є імпульс трикутної форми. Одна з функцій (в даному випадку g) спочатку відображається черезз і тоді зсувається на t, результатом є . Площа під кривою, що є добутком цих фунцій і є згорткою по t. Горизонтальна вісь це для f і g, і t для
Згортка квадратного імпульсу (вхідний сигнал) з імпульсом відповіді в RC колі для отримання кривої вихідного сигналу. Інтеграл добутку — це площа жовтої ділянки.

Зго́ртка (англ. convolution) — математична операція двох функцій та , що дозволяє отримати третю функцію:

Основною властивістю згортки є те, що фур'є-образ згортки пропорційний добутку фур'є-образів функцій.

Згортка на групах[ред. | ред. код]

Нехай  — група Лі, оснащена мірою Хаара , і  — дві функції, визначенні на . Тоді їх згорткою називається функція

.

Властивості[ред. | ред. код]

  • Правило диференціювання:

де означає похідну функції .

де означає перетворення Фур'є функції.

Якщо є матрицею дискретного перетворення Фур'є, то

,

де  — символ торцевого добутку матриць[1][2][3][4][5], означає добуток Кронекера,  — символ добутку Адамара (тотожність є розвитком властивості відлікового скетча[6]).

Застосування[ред. | ред. код]

Гаусове розмиття може використовуватись щоб отримати гладке монохромне зображення з півтонового друку

Згортки та пов'язані операції знаходять багато застосувань в науці, інженерії та математиці.

  • В обробці зображень:
Згортка в обробці зображень використовується в багатьох фільтрах, наприклад для розмиття, чи виявлення контурів.
В фотографії, несфокусована фотографія є згорткою чіткого зображення з функцією лінзи. Фотографічний термін для цього поняття — Боке.

Приклад програми[ред. | ред. код]

Нижче наведено приклад згортки, написаний на С++ :

/*
 * Розмір вихідної послідовності рівний M + N - 1 
 */
double * conv(double * x, int N, double * h, int M)
{
    double * result = new double[N + M - 1];
    memset(result, 0, sizeof(double) * (N + M - 1));

    for (int i = 0; i < N; ++i)
    {
        for (int j = 0; j < M; ++j)
        {
            result[i + j] += x[i] * h[j];
        }
    }

    return result;
}

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. Slyusar, V. I. (27 грудня 1996). End products in matrices in radar applications (PDF). Radioelectronics and Communications Systems.– 1998, Vol. 41; Number 3: 50—53. Архів оригіналу (PDF) за 27 липня 2020. Процитовано 1 серпня 2020.
  2. Slyusar, V. I. (20 травня 1997). Analytical model of the digital antenna array on a basis of face-splitting matrix products (PDF). Proc. ICATT-97, Kyiv: 108—109. Архів оригіналу (PDF) за 25 січня 2020. Процитовано 1 серпня 2020.
  3. Slyusar, V. I. (15 вересня 1997). New operations of matrices product for applications of radars (PDF). Proc. Direct and Inverse Problems of Electromagnetic and Acoustic Wave Theory (DIPED-97), Lviv.: 73—74. Архів оригіналу (PDF) за 25 січня 2020. Процитовано 1 серпня 2020.
  4. Slyusar, V. I. (13 березня 1998). A Family of Face Products of Matrices and its Properties (PDF). Cybernetics and Systems Analysis C/C of Kibernetika I Sistemnyi Analiz.- 1999. 35 (3): 379—384. doi:10.1007/BF02733426. Архів оригіналу (PDF) за 25 січня 2020. Процитовано 1 серпня 2020.
  5. Slyusar, V. I. (2003). Generalized face-products of matrices in models of digital antenna arrays with nonidentical channels (PDF). Radioelectronics and Communications Systems. 46 (10): 9—17. Архів оригіналу (PDF) за 20 вересня 2020. Процитовано 1 серпня 2020.
  6. Ninh, Pham; Rasmus, Pagh (2013). Fast and scalable polynomial kernels via explicit feature maps. SIGKDD international conference on Knowledge discovery and data mining. Association for Computing Machinery. doi:10.1145/2487575.2487591.

Література[ред. | ред. код]