벡터 외적이란?
외적(텐서곱 또는 다이애딕곱이라고도 합니다)은 길이가 m인 벡터 a와 길이가 n인 벡터 b를 결합해 m x n 행렬 C를 만드는 연산입니다. 행렬의 각 원소는 단순히 a의 한 성분과 b의 한 성분을 곱한 값입니다: \(C[i][j] = a_i \times b_j\). 두 벡터를 하나의 숫자로 압축하는 내적(점곱)과 달리, 외적은 두 벡터를 하나의 완전한 행렬로 확장합니다. 이는 순수한 선형대수 연산으로, 국가나 지역에 따른 규칙이 전혀 없이 어디서나 동일하게 적용됩니다.
계산기 사용법
벡터 a의 성분을 한 줄에 하나씩(또는 쉼표로 구분해서) 입력한 뒤, 벡터 b도 같은 방식으로 입력하세요. 두 벡터의 길이가 같을 필요는 없습니다. 표시할 소수점 자릿수를 선택하고 실행하면, 결과로 차원(m x n)과 함께 전체 행렬 표가 나타납니다. 음수, 소수, 0 값 모두 지원합니다.
공식 풀이
a를 열벡터(m x 1)로, b를 행벡터(1 x n, 즉 b의 전치)로 보면 \(C = \mathbf{a}\,\mathbf{b}^{\top}\)가 됩니다. m x 1 행렬과 1 x n 행렬을 곱하면 m x n 행렬이 나옵니다.
$$\mathbf{a} \otimes \mathbf{b} = \mathbf{a}\,\mathbf{b}^{\top} = \begin{bmatrix} a_1 b_1 & a_1 b_2 & \cdots & a_1 b_n \\ a_2 b_1 & a_2 b_2 & \cdots & a_2 b_n \\ \vdots & \vdots & \ddots & \vdots \\ a_m b_1 & a_m b_2 & \cdots & a_m b_n \end{bmatrix}$$행의 개수는 a의 길이와 같고, 열의 개수는 b의 길이와 같습니다. 결과 행렬의 계수(rank)는 항상 1입니다(두 벡터 중 하나라도 모두 0이면 rank는 0).
예제로 살펴보기
a = [1, 2, 3] (m = 3), b = [4, 5] (n = 2)라고 하면 C는 3 x 2 행렬이 됩니다:
1행: \(1 \times 4 = 4\), \(1 \times 5 = 5\)
2행: \(2 \times 4 = 8\), \(2 \times 5 = 10\)
3행: \(3 \times 4 = 12\), \(3 \times 5 = 15\)
따라서 C = [[4, 5], [8, 10], [12, 15]]이며, 행은 3, 열은 2입니다.
자주 묻는 질문(FAQ)
두 벡터의 길이가 꼭 같아야 하나요? 아닙니다. 외적은 어떤 길이 m, n에 대해서도 m x n 행렬을 만듭니다. 길이가 같아야 한다는 조건은 내적(점곱)의 특징이지 외적의 특징이 아닙니다.
외적은 교환법칙이 성립하나요? 아닙니다. 입력 순서를 바꾸면 결과가 전치됩니다: \(\mathbf{a} \otimes \mathbf{b} = (\mathbf{b} \otimes \mathbf{a})^{\top}\).
외적은 벡터곱(cross product)과 어떻게 다른가요? 벡터곱은 3차원 벡터에 대해서만 정의되며 결과로 벡터를 반환합니다. 반면 외적은 어떤 차원에서도 동작하며 결과로 행렬을 반환합니다.