합성곱 계산기
계산 결과
합성곱 결과
- 합계
- 90.000000
- 결과의 항 수
- 5
합성곱 계산기는 수열 두 개를 받아 서로 마주 보는 항끼리 모두 곱하고, 그 곱들을 자리마다 더해서 세 번째 수열을 만듭니다. 유한수열 둘의 이산 합성곱이고, 미끄러진다는 비유가 문자 그대로입니다. 한 수열이 다른 수열 옆을 한 칸씩 지나가고, 지나가는 자리마다 결과의 항이 하나씩 정해집니다. 첫 항은 한 수열의 첫 수와 다른 수열의 첫 수를 곱한 것이고, 둘째 항은 그 자리에서 겹치는 두 곱의 합입니다. 이런 식으로 끝까지 갑니다. 세 항짜리 수열 둘은 다섯 항짜리 결과를 내는데, 완전 합성곱의 길이가 두 길이를 더한 값에서 하나를 뺀 것이기 때문입니다. 결과는 순서대로 인쇄되므로 자리가 곧 인덱스이고, 모든 항의 합계가 옆에 함께 보고됩니다. 합계는 언제나 두 수열 합의 곱과 같아서 한눈에 검산할 수 있습니다. 소수와 음수도 받고, 수 하나짜리 수열도 허용됩니다. 그때의 합성곱은 단순한 배율이 됩니다.
기본 수열 한 쌍을 인덱스마다 풀어 쓴 것
| 인덱스 k | 항 | 값 |
|---|---|---|
| 0 | 1 × 4 | 4 |
| 1 | 1 × 5 + 2 × 4 | 13 |
| 2 | 1 × 6 + 2 × 5 + 3 × 4 | 28 |
| 3 | 2 × 6 + 3 × 5 | 27 |
| 4 | 3 × 6 | 18 |
패널이 보여 주는 값의 유도 과정이고, 항마다 인덱스를 풀어 썼습니다. 패널이 인덱스를 생략하는 것은 쉼표로 나열된 줄에 이미 순서가 있기 때문인데, 자리와 인덱스의 대응이 바로 이 표가 보여 주는 것입니다. 가운데 열을 세로로 읽으면 미끄러짐이 보입니다. 곱의 개수가 가운데로 갈수록 늘었다가 끝에서 다시 줄고, 각 행은 그 자리에서 실제로 겹치는 항만 씁니다. 값이 정수인 것은 기본 수열 둘이 모두 정수이기 때문입니다. 소수 항이 들어가면 소수 열이 나올 텐데, 표의 칸은 현지화되지 않으므로 이 표는 처음부터 끝까지 마침표를 씁니다.
공식
(a * b)[k] = Σᵢ a[i] × b[k − i] 길이 = m + n − 1
- a, b
- 두 수열이고 세미콜론으로 구분한 수로 적습니다. 순서는 상관없습니다. 합성곱은 교환법칙이 성립해서 두 칸을 바꿔 넣어도 같은 결과가 나옵니다. 길이가 같을 필요도 없고, 어느 쪽이든 소수나 음수를 담을 수 있습니다. 한 칸에 최대 200항까지 들어갑니다.
- k
- 만들어지는 항의 인덱스이고 0에서 결과 길이에서 하나를 뺀 값까지 갑니다. 각 값 옆에 인쇄되지는 않는데, 쉼표로 나열된 줄에는 이미 순서가 있기 때문입니다. 첫 수가 k = 0이고 둘째가 k = 1입니다. 아래 참고표는 기본 수열에 대해 인덱스를 한 줄씩 풀어 쓴 것이고, 자리 자체를 확인하고 싶을 때 볼 곳이 그곳입니다.
- a[i] × b[k − i]
- 합을 이루는 곱 하나입니다. 각 k마다 인덱스 i가 두 수열 모두에 항이 있는 모든 자리를 훑으므로, 더해지는 곱의 개수는 양 끝에서 하나로 시작해 가운데에서 짧은 쪽 수열의 길이까지 늘어납니다. 겹침의 무늬가 이 개념의 전부입니다. 한 수열이 다른 수열 옆을 미끄러지고 곱이 열마다 모입니다.
- Σᵢ
- 그 곱들을 모두 더한 것이고 결과의 한 항이 됩니다. 각 항은 소수 여섯 자리로 반올림되고, 수열 옆에 보고되는 합계는 반올림하지 않은 값이 아니라 반올림된 항들을 더한 값입니다. 그래서 패널에 인쇄된 수를 그대로 더하면 인쇄된 합계와 정확히 같아집니다.
- m + n − 1
- 결과의 길이이고 그 자체로 하나의 읽을거리입니다. 세 항짜리 둘은 다섯 항을 주고, 수 하나와 세 항짜리 수열의 합성곱은 세 항을 줍니다. 둘 중 긴 쪽보다 많은 항이 나오는 것이, 두 수열이 완전히 겹치는 부분만 남기는 방식이 아니라 완전 합성곱인 이유입니다.
두 수열을 하나의 분포로 합쳐야 할 때 이 페이지를 씁니다. 주사위 두 개의 눈의 합이 각 총합이 되는 경우의 수, 이동평균 창이 시계열에 미치는 효과, 두 다항식의 곱의 계수가 모두 여기에 해당합니다. 수열 하나만 놓고 그 항이나 합이나 규칙을 묻는 물음이라면 수열 계산기가 맡고, 이동평균의 창 크기를 고르는 일이라면 평균 계산기가 그 이름을 대는 페이지입니다.
계산 예시
1, 2, 3과 4, 5, 6
- k = 0: 첫 항끼리만 겹치므로 1 × 4 = 4
- k = 1: 1 × 5 + 2 × 4 = 5 + 8 = 13
- k = 2: 1 × 6 + 2 × 5 + 3 × 4 = 6 + 10 + 12 = 28
- k = 3: 2 × 6 + 3 × 5 = 12 + 15 = 27
- k = 4: 마지막 항끼리만 겹치므로 3 × 6 = 18
- 결과는 4, 13, 28, 27, 18이고 합계는 90이며, 이는 6 × 15와도 같음
마지막 줄이 이 페이지를 믿게 만드는 검산입니다. 합성곱의 합은 언제나 두 수열 합의 곱과 같고, 여기서는 1 + 2 + 3 = 6과 4 + 5 + 6 = 15입니다. 결과의 모든 항이 두 수열에서 하나씩 뽑은 곱들의 합이고, 그런 짝이 정확히 한 번씩 나타나기 때문에 대수적으로 당연히 그렇게 됩니다.
주사위 두 개와 눈의 합의 분포
- 주사위는 여섯 면이 각각 한 가지씩 나오므로 두 수열 모두 1이 여섯 개
- 두 수열을 합성곱하면 각 총합이 되는 짝의 수를 셈: k = 0은 합이 2가 되는 경우 1 × 1 = 1가지
- k = 1은 합이 3이 되는 경우 1 + 1 = 2가지이고 이후로도 계속 늘어남
- 가운데 항에서 6으로 정점을 이루고, 그것이 합 7인 경우
- 결과는 1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1이고 합계는 36
중심극한정리를 축소판으로 보여 주는 표준적인 그림입니다. 평평한 분포 둘을 합성곱하면 삼각형이 되고, 주사위를 하나 더 합성곱하면 종 모양에 한 걸음 더 가까워집니다. 합계 36도 검산이 됩니다. 두 합의 곱이 6 × 6이고, 그것은 면의 순서쌍을 모두 센 수이며 각 순서쌍이 결과 하나씩에 대응합니다.
수 하나가 수열 전체의 배율이 되는 경우
- 항이 하나뿐인 수열은 겹칠 상대가 없으므로 결과의 모든 항이 그 수와 다른 수열의 항 하나를 곱한 값
- k = 0: 2 × 1 = 2
- k = 1: 2 × 2 = 4
- k = 2: 2 × 3 = 6
- 결과는 2, 4, 6이고 합계는 12이며, 이는 2 × 6
퇴화한 경우를 한 번 돌려 볼 만한 것은 미끄러지는 그림에도 끝이 있다는 것을 보여 주기 때문입니다. 길이가 1인 수열이 끼면 더할 곱이 언제나 하나뿐이라 합성곱이 곱셈으로 줄어듭니다. 길이 공식 m + n − 1이 1 + 3 − 1 = 3을 주고 그보다 커지지 않는 것도 같은 이유입니다.
한계
이 페이지는 완전 합성곱만 계산합니다. 결과의 일부만 남기는 두 변형은 제공하지 않습니다. 긴 쪽 입력과 같은 길이를 돌려주는 방식과 두 수열이 완전히 겹치는 자리만 남기는 방식인데, 둘 다 길이가 짝수인 두 수열에 대해서는 잘 정의되지 않습니다. 완전한 결과가 둘을 모두 품고 있고, 짧은 변형들은 다른 계산이 아니라 그 결과를 잘라 낸 조각입니다. 수열마다 최대 200항까지 들어가고, 각 값의 크기는 100만으로 제한되며 이것은 표시의 한계입니다. 합성곱은 곱한 뒤 더하므로, 큰 항은 배정밀도가 넘치기 훨씬 전에 읽을 수 있는 범위를 넘어섭니다. 결과의 모든 항은 소수 여섯 자리로 반올림되고 보고되는 합계는 반올림된 항들의 합이라서, 인쇄된 수를 손으로 더하면 조금 다른 값이 아니라 인쇄된 합계가 그대로 나옵니다. 결과는 쉼표로 구분된 수의 나열이고 현지화되지 않으므로, 어느 언어로 읽든 소수점은 마침표로 남습니다. 자리가 곧 인덱스이고 각 자리에 이름표가 붙지는 않으며, 참고표가 기본 수열에 대해 인덱스를 명시적으로 보여 줍니다.
자주 묻는 질문
- 두 수열의 합성곱을 손으로 어떻게 구하나요?
- 한 수열을 다른 수열 옆으로 미끄러뜨리면서 자리마다 곱을 더하면 됩니다. 1, 2, 3과 4, 5, 6이라면 첫 항은 1 × 4 = 4이고 둘째 항은 1 × 5 + 2 × 4 = 13이며, 끝에서는 3 × 6 = 18이 됩니다. 결과는 다섯 항인데, 세 항짜리 둘의 합성곱 길이가 3 + 3 − 1이기 때문입니다.
- 합성곱이 맞는지 어떻게 확인하나요?
- 결과를 모두 더해서 두 수열 합의 곱과 견주어 보면 됩니다. 1, 2, 3과 4, 5, 6이라면 90과 6 × 15를 비교하는 것이고, 둘은 반드시 같아야 합니다. 결과의 모든 항이 짝지은 곱들의 합이고, 두 수열에서 만들 수 있는 모든 짝이 그 합들 가운데 정확히 하나에 나타나기 때문입니다.
- 결과가 두 수열보다 항이 많은 이유는 무엇인가요?
- 완전 합성곱이 두 수열이 부분적으로만 겹치는 자리까지 남기기 때문입니다. 1, 2, 3과 4, 5, 6이라면 그런 자리가 다섯 군데입니다. 양 끝에는 한 쌍만 만나는 자리가 하나씩 있고 가운데에는 여러 쌍이 만나는 자리가 셋 있습니다. 긴 쪽과 같은 길이를 주는 변형과 완전히 겹치는 부분만 남기는 변형은 둘 다 이 결과를 잘라 낸 것입니다.
- 주사위 두 개를 합성곱하는 것이 확률과 무슨 상관인가요?
- 경우의 수를 세기 때문입니다. 주사위 하나는 여섯 면에 각각 하나씩인 1이 여섯 개인 수열이고, 그 수열을 자기 자신과 합성곱하면 각 총합이 되는 순서쌍의 수가 나옵니다. 2가 되는 방법이 하나, 3이 되는 방법이 둘이고, 7에서 여섯 가지로 정점을 이룬 뒤 다시 줄어듭니다. 결과의 합계 36이 순서쌍의 총수이고, 각 항을 그것으로 나누면 확률이 되는 이유입니다.
- 이동평균도 합성곱인가요?
- 그렇습니다. 이동평균은 같은 가중치를 담은 창, 예컨대 5일치를 각각 1/5씩 담은 창을 시계열을 따라 미끄러뜨리는 것이고, 그것이 바로 그 창을 두 수열 중 하나로 삼은 합성곱입니다. 평활화와 필터와 영상 처리에서 이 연산이 나타나는 이유가 그것입니다. 미끄러지는 것이 가중치 묶음이고, 평활해지는 것이 수열입니다.
- 소수나 음수가 들어가도 되나요?
- 됩니다. 두 칸 모두 소수와 음수를 받고 계산 방식은 정수의 경우와 같습니다. 다만 결과의 각 항은 소수 여섯 자리로 반올림되므로, 소수가 섞이면 인쇄된 항을 그대로 더한 값이 인쇄된 합계와 같아지는 성질은 반올림된 값들 사이에서 성립합니다. 항이 하나뿐인 수열을 넣으면 나머지 수열 전체에 그 수를 곱한 것과 같아집니다.
참고 문헌
- Convolution — 정의, 겹치는 곱의 합, 그리고 결과의 길이 — Wolfram MathWorld (United States)
- Cauchy Product — 두 멱급수의 계수에 적용한 같은 규칙, 두 다항식의 계수 목록을 합성곱하는 것이 계산하는 것 — Wolfram MathWorld (United States)
- Convolution Theorem — 합성곱의 변환이 변환의 곱인 이유, 그리고 신호 처리에서 이 연산을 만나는 자리 — Wolfram MathWorld (United States)