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 텐서 곱의 성질
텐서 곱은 다음의 성질을 만족한다.
- 결합법칙: (S \otimes T) \otimes U = S \otimes (T \otimes U)
- 분배법칙: S \otimes (T + U) = S \otimes T + S \otimes U
- 비교환성: 일반적으로 S \otimes T \neq T \otimes S
3. 축약
3.1 정의
축약(contraction)은 텐서의 반변 지표 하나와 공변 지표 하나를 동일하게 놓고 합산하는 연산이다. (p, q)-형 텐서에 축약을 적용하면 (p-1, q-1)-형 텐서가 된다.
(2, 1)-형 텐서 T^{ij}{}_k에서 j와 k를 축약하면 다음과 같다.
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)-형 텐서 T의 r번째 반변 지표와 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}
이 연산에서 k와 l에 대한 이중 합산이 수행되어, 4차 텐서와 2차 텐서의 축약으로 2차 텐서가 생성된다.
7.4 텐서 곱 연산의 차수 변화 요약
| 연산 | 입력 텐서 차수 | 출력 텐서 차수 | 예시 |
|---|---|---|---|
| 텐서 곱 \otimes | p, q | p + q | a^i b^j (2차) |
| 단일 축약 | p | p - 2 | A^i{}_j b^j → c^i |
| 이중 축약 : | p, q | p + q - 4 | A_{ij} B^{ij} → 스칼라 |
| 대각합 tr | 2 | 0 | A^i{}_i → 스칼라 |
8. 참고 문헌
- Borisenko, A. I., & Tarapov, I. E. (1968). Vector and Tensor Analysis with Applications. Dover Publications.
- Itskov, M. (2013). Tensor Algebra and Tensor Analysis for Engineers. 4th ed., Springer.
- Simmonds, J. G. (1994). A Brief on Tensor Analysis. 2nd ed., Springer.
- Featherstone, R. (2008). Rigid Body Dynamics Algorithms. Springer.
- Goldstein, H., Poole, C., & Safko, J. (2002). Classical Mechanics. 3rd ed., Addison-Wesley.
v 0.1