6.127 텐서의 축약과 곱 연산

1. 개요

텐서 해석에서 축약(contraction)과 곱(product) 연산은 텐서의 차수를 변화시키거나 새로운 텐서를 생성하는 기본 연산이다. 축약은 텐서의 차수를 줄이는 연산이며, 텐서 곱은 차수를 높이는 연산이다. 이 두 연산의 조합으로 내적, 이중 축약, 행렬 곱 등 로봇공학에서 빈번히 사용되는 다양한 연산이 표현된다. 본 절에서는 이들 연산의 수학적 정의와 성질을 서술하고, 로봇 동역학 수식에의 적용을 다룬다.

2. 텐서 곱

2.1 외적(Outer Product)

두 텐서의 텐서 곱(tensor product)은 각 텐서의 모든 성분을 쌍별로 곱하여 새로운 텐서를 생성하는 연산이다.

(p_1, q_1)-형 텐서 S(p_2, q_2)-형 텐서 T의 텐서 곱은 (p_1 + p_2, \, q_1 + q_2)-형 텐서를 생성한다.

(S \otimes T)^{i_1 \cdots i_{p_1} j_1 \cdots j_{p_2}}{}_{k_1 \cdots k_{q_1} l_1 \cdots l_{q_2}} = S^{i_1 \cdots i_{p_1}}{}_{k_1 \cdots k_{q_1}} \, T^{j_1 \cdots j_{p_2}}{}_{l_1 \cdots l_{q_2}}

2.2 벡터의 텐서 곱 예시

두 벡터 \mathbf{a}\mathbf{b}의 텐서 곱은 2차 텐서(행렬)를 생성한다.

(a \otimes b)^{ij} = a^i \, b^j

행렬 표기로는 다음과 같다.

\mathbf{a} \otimes \mathbf{b} = \mathbf{a} \mathbf{b}^T

\mathbb{R}^3에서 이는 3 \times 3 행렬이 된다.

\mathbf{a} \otimes \mathbf{b} = \begin{bmatrix} a_1 b_1 & a_1 b_2 & a_1 b_3 \\ a_2 b_1 & a_2 b_2 & a_2 b_3 \\ a_3 b_1 & a_3 b_2 & a_3 b_3 \end{bmatrix}

2.3 텐서 곱의 성질

텐서 곱은 다음의 성질을 만족한다.

  1. 결합법칙: (S \otimes T) \otimes U = S \otimes (T \otimes U)
  2. 분배법칙: S \otimes (T + U) = S \otimes T + S \otimes U
  3. 비교환성: 일반적으로 S \otimes T \neq T \otimes S

3. 축약

3.1 정의

축약(contraction)은 텐서의 반변 지표 하나와 공변 지표 하나를 동일하게 놓고 합산하는 연산이다. (p, q)-형 텐서에 축약을 적용하면 (p-1, q-1)-형 텐서가 된다.

(2, 1)-형 텐서 T^{ij}{}_k에서 jk를 축약하면 다음과 같다.

S^i = T^{ij}{}_j = \sum_{j=1}^{n} T^{ij}{}_j

결과 S^i(1, 0)-형 텐서(반변 벡터)이다.

3.2 대각합(Trace)

가장 기본적인 축약의 예는 (1, 1)-형 텐서의 대각합이다.

\text{tr}(A) = A^i{}_i = \sum_{i=1}^{n} A^i{}_i

결과는 0차 텐서(스칼라)이다. 대각합은 좌표 변환에 대해 불변인 양이다.

3.3 축약의 텐서 성질

축약의 결과가 텐서임을 증명할 수 있다. (p, q)-형 텐서 Tr번째 반변 지표와 s번째 공변 지표를 축약한 결과는 (p-1, q-1)-형 텐서의 변환 규칙을 만족한다.

4. 축약과 곱의 조합

4.1 내적(Inner Product)

텐서 곱에 이어 축약을 수행하면 내적(inner contraction)을 얻는다.

두 벡터의 내적:

\mathbf{a} \cdot \mathbf{b} = a^i b_i = \sum_{i=1}^{n} a^i b_i

이는 두 벡터의 텐서 곱 (a \otimes b)^i{}_j = a^i b_j에서 i = j로 축약한 것이다.

4.2 행렬-벡터 곱

행렬 A^i{}_j와 벡터 b^j의 곱은 텐서 곱 후 축약이다.

c^i = A^i{}_j \, b^j

4.3 행렬 곱

두 행렬의 곱은 텐서 곱 후 하나의 지표를 축약한 것이다.

C^i{}_j = A^i{}_k \, B^k{}_j

4.4 이중 축약(Double Contraction)

2차 텐서 두 개에 대해 두 쌍의 지표를 축약하면 스칼라를 얻는다.

A : B = A^{ij} B_{ij} = \sum_{i}\sum_{j} A^{ij} B_{ij}

이는 프로베니우스 내적(Frobenius inner product)과 동치이며, 행렬 표기로는 다음과 같다.

A : B = \text{tr}(A^T B)

5. 지표 올림과 내림

5.1 계량 텐서를 이용한 연산

계량 텐서 g_{ij}와 그 역 g^{ij}를 사용하여 지표의 위치를 변환할 수 있다.

지표 내림(lowering):

v_i = g_{ij} \, v^j

지표 올림(raising):

v^i = g^{ij} \, v_j

이 연산은 텐서 곱 후 축약으로 이해할 수 있다. 유클리드 공간의 직교 좌표계에서는 g_{ij} = \delta_{ij}이므로 v_i = v^i가 성립한다.

5.2 차 텐서의 지표 변환

T_i{}^j = g_{ik} \, T^{kj}

T_{ij} = g_{ik} \, g_{jl} \, T^{kl}

6. 특수한 텐서 곱 연산

6.1 반대칭화와 대칭화

텐서 곱의 결과를 대칭 또는 반대칭으로 만드는 연산이 있다.

대칭화(symmetrization):

T^{(ij)} = \frac{1}{2}(T^{ij} + T^{ji})

반대칭화(antisymmetrization):

T^{[ij]} = \frac{1}{2}(T^{ij} - T^{ji})

로봇공학에서 관성 텐서는 대칭 텐서이므로 I_{ij} = I_{(ij)}를 만족한다.

6.2 교차곱과 축약

3차원에서 벡터의 교차곱은 레비-치비타 기호와 축약을 통해 표현된다.

(\mathbf{a} \times \mathbf{b})^i = \epsilon^{ijk} \, a_j \, b_k

이는 3차 텐서 \epsilon^{ijk}와 두 벡터의 텐서 곱에 두 번의 축약을 적용한 것이다.

7. 로봇공학 응용

7.1 관성 행렬의 에너지 계산

로봇의 운동 에너지는 관성 행렬과 속도 벡터의 이중 축약으로 표현된다.

K = \frac{1}{2} M_{ij} \, \dot{q}^i \, \dot{q}^j = \frac{1}{2} \dot{\mathbf{q}}^T \mathbf{M} \dot{\mathbf{q}}

7.2 코리올리 항

코리올리 및 원심 가속도 항에는 크리스토펠 기호(3차 텐서)의 축약이 포함된다.

C_{ij} = \Gamma_{ijk} \, \dot{q}^k = \sum_{k=1}^{n} \Gamma_{ijk} \, \dot{q}^k

여기서 \Gamma_{ijk}는 3개의 지표를 가진 양이며, \dot{q}^k와의 축약을 통해 2차 텐서(행렬) C_{ij}가 된다.

7.3 응력-변형률 관계

유연체 로봇의 해석에서 응력과 변형률의 관계는 4차 탄성 텐서의 이중 축약이다.

\sigma_{ij} = C_{ijkl} \, \varepsilon_{kl}

이 연산에서 kl에 대한 이중 합산이 수행되어, 4차 텐서와 2차 텐서의 축약으로 2차 텐서가 생성된다.

7.4 텐서 곱 연산의 차수 변화 요약

연산입력 텐서 차수출력 텐서 차수예시
텐서 곱 \otimesp, qp + qa^i b^j (2차)
단일 축약pp - 2A^i{}_j b^jc^i
이중 축약 :p, qp + q - 4A_{ij} B^{ij} → 스칼라
대각합 tr20A^i{}_i → 스칼라

8. 참고 문헌

  1. Borisenko, A. I., & Tarapov, I. E. (1968). Vector and Tensor Analysis with Applications. Dover Publications.
  2. Itskov, M. (2013). Tensor Algebra and Tensor Analysis for Engineers. 4th ed., Springer.
  3. Simmonds, J. G. (1994). A Brief on Tensor Analysis. 2nd ed., Springer.
  4. Featherstone, R. (2008). Rigid Body Dynamics Algorithms. Springer.
  5. Goldstein, H., Poole, C., & Safko, J. (2002). Classical Mechanics. 3rd ed., Addison-Wesley.

v 0.1