행벡터 열벡터 곱셈 방법 알아보기

선형대수에서 벡터 연산은 수학적 기초이자 실용적 분석의 출발점입니다. 특히 행벡터(row vector)열벡터(column vector) 간의 곱셈은 벡터 내적 및 외적의 기반이 되는 중요한 연산입니다. 이번 글에서는 행벡터와 열벡터를 곱하는 방법과 그 결과가 가지는 의미를 자세히 알아보겠습니다.

1. 행벡터와 열벡터의 정의

  • 행벡터: \( \vec{a} = [a_1 \ a_2 \ \cdots \ a_n] \in \mathbb{R}^{1 \times n} \)
  • 열벡터: \( \vec{b} = \begin{bmatrix} b_1 \\ b_2 \\ \vdots \\ b_n \end{bmatrix} \in \mathbb{R}^{n \times 1} \)

두 벡터 모두 n개의 성분을 가지며, 각각 1행 n열, n행 1열의 형태를 가집니다.

2. 행벡터 × 열벡터 = 스칼라 (내적)

가장 일반적인 곱셈은 행벡터와 열벡터의 내적(dot product)입니다:

$$ \vec{a} \cdot \vec{b} = \vec{a} \times \vec{b} = \sum_{i=1}^{n} a_i b_i $$

예를 들어,

$$ \vec{a} = [1 \ 2 \ 3], \quad \vec{b} = \begin{bmatrix} 4 \\ 5 \\ 6 \end{bmatrix} $$

그 곱은:

$$ \vec{a} \cdot \vec{b} = 1×4 + 2×5 + 3×6 = 32 $$

결과는 스칼라 하나가 됩니다. 이 연산은 두 벡터가 얼마나 같은 방향으로 정렬되어 있는지를 수치로 나타내는 데 유용합니다.

3. 열벡터 × 행벡터 = 행렬 (외적 기반 구조)

열벡터가 앞에 오고 행벡터가 뒤에 올 경우, 결과는 스칼라가 아닌 행렬(matrix)이 됩니다:

$$ \vec{b} \times \vec{a} = \begin{bmatrix} b_1 \\ b_2 \\ b_3 \end{bmatrix} \times [ a_1 \ a_2 \ a_3 ] = \begin{bmatrix} b_1a_1 & b_1a_2 & b_1a_3 \\ b_2a_1 & b_2a_2 & b_2a_3 \\ b_3a_1 & b_3a_2 & b_3a_3 \\ \end{bmatrix} $$

즉, \( n \times 1 \) 벡터와 \( 1 \times n \) 벡터의 곱은 \( n \times n \) 행렬이 됩니다. 이는 외적과 관련된 연산에서 구조를 나타낼 때 활용됩니다.

4. 요약 표

곱셈 형식형태결과설명
\( \vec{a} \cdot \vec{b} \)1×n × n×1스칼라 (1×1)벡터 내적
\( \vec{b} \cdot \vec{a} \)n×1 × 1×n행렬 (n×n)외적 구조 기반

5. 프로그래밍에서의 구현

  • Python(Numpy): np.dot(a, b), a @ b
  • Matlab: a * b 또는 dot(a, b)

단, 프로그래밍에서는 벡터의 shape(행/열 방향성)에 따라 결과가 달라질 수 있으므로 주의가 필요합니다.

6. 활용 예시

  • 기하학: 내적을 통한 각도 계산 및 투영
  • 물리학: 힘과 변위의 내적 → 일(work)
  • 통계/ML: 벡터 유사도 계산, 선형 회귀 예측
  • 행렬 생성: 기저 벡터 간의 곱을 통한 구조화

결론

행벡터와 열벡터의 곱셈은 방향성과 연산 순서에 따라 결과가 크게 달라지는 매우 중요한 연산입니다.

행벡터 × 열벡터는 스칼라 결과를 낳는 내적이며, 열벡터 × 행벡터는 구조적 정보를 담는 행렬을 생성합니다. 두 연산 모두 선형대수, 물리학, 컴퓨터공학 등 다양한 분야에서 핵심적으로 사용됩니다.

기본 구조와 계산 원리를 정확히 이해하면, 보다 복잡한 벡터·행렬 연산도 자연스럽게 해석할 수 있게 됩니다.