MCP로 연결 →

계산 입력

행렬 A (쉼표 또는 공백으로 구분, 한 줄에 한 행)

행렬 B

공식

광고

결과

아다마르 곱 (A ∘ B)
5 12 21 32
행렬 크기 2 × 2
모든 원소의 합 70

아다마르 곱이란?

아다마르 곱(Hadamard product)은 원소별 곱 또는 슈어 곱(Schur product)이라고도 불리며, 크기가 같은 두 행렬을 같은 위치의 원소끼리 곱하는 연산입니다. 일반적인 행렬 곱셈처럼 행과 열을 조합하지 않고, 결과의 각 원소는 단순히 같은 자리에 있는 두 값의 곱이 됩니다. 기호로는 \(\text{A} \circ \text{B}\) 로 나타내며 머신러닝, 신호 처리, 이미지 처리 등 다양한 분야에서 폭넓게 쓰입니다.

두 격자를 원소별로 결합해 세 번째 격자로 만드는 모습
아다마르 곱은 행렬을 원소별로 곱하며 차원은 그대로 유지됩니다.

계산기 사용 방법

먼저 행과 열의 개수를 지정한 뒤 행렬 A와 행렬 B의 값을 입력하세요. 한 줄에 행 하나씩 입력하고, 숫자는 공백이나 쉼표로 구분합니다. 계산기는 모든 원소가 \(A_{ij} \times B_{ij}\) 인 결과 행렬과 함께, 결과 원소들의 총합까지 함께 보여줍니다.

공식 설명

m×n 크기의 두 행렬 A와 B에 대해 아다마르 곱 \(\text{C} = \text{A} \circ \text{B}\) 는 다음과 같이 정의되는 m×n 행렬입니다.

$$\left(\text{A} \circ \text{B}\right)_{ij} = A_{ij} \cdot B_{ij}\qquad 1 \le i \le \text{Rows},\; 1 \le j \le \text{Cols}$$

두 행렬은 반드시 같은 크기여야 하며, 일반 행렬 곱셈에서처럼 행과 열의 내적(dot product)을 구하지 않습니다.

광고

예제 풀이

\(A = [[1, 2], [3, 4]]\), \(B = [[5, 6], [7, 8]]\) 이라고 합시다. 그러면 다음과 같습니다.

$$\text{A} \circ \text{B} = [[1\times5,\ 2\times6],\ [3\times7,\ 4\times8]] = [[5,\ 12],\ [21,\ 32]]$$

모든 원소의 합은 다음과 같습니다.

$$5 + 12 + 21 + 32 = 70$$
두 개의 2x2 예시 행렬을 원소별로 곱해 결과 행렬로 만드는 모습
각 출력 원소는 A와 B의 대응하는 원소의 곱과 같습니다.

자주 묻는 질문

일반 행렬 곱셈과 무엇이 다른가요? 일반 행렬 곱셈은 행과 열의 내적을 계산하며 안쪽 차원(inner dimension)이 일치해야 합니다. 반면 아다마르 곱은 같은 위치의 원소끼리만 곱하며 두 행렬의 크기가 완전히 같아야 합니다.

두 행렬의 크기가 다르면 어떻게 되나요? 아다마르 곱은 크기가 같은 행렬에 대해서만 정의됩니다. 이 도구는 지정한 차원을 기준으로 비어 있는 원소를 0으로 채웁니다.

어디에 활용되나요? 신경망(예: 게이팅, 드롭아웃 마스크), 공분산 계산, 픽셀 단위 이미지 연산 등에서 흔히 사용됩니다.

최종 업데이트: