행렬과 텐서 연산

수축, 전치, 역행렬, 행렬식과 Einstein 표기법

관련 자료는 다음 순서로 읽을 수 있다.

1. 매트릭스 연산

1.1. 더하기, 빼기

\[\boldsymbol C = \boldsymbol A + \boldsymbol B\] \[\boldsymbol D = \boldsymbol A - \boldsymbol B\] \[C_{11}=A_{11}+B_{11}\] \[C_{12}=A_{12}+B_{12}\] \[C_{13}=A_{13}+B_{13}\] \[C_{21}=A_{21}+B_{21}\] \[C_{22}=A_{22}+B_{22}\] \[C_{23}=A_{23}+B_{23}\] \[C_{31}=A_{31}+B_{31}\] \[C_{32}=A_{32}+B_{32}\] \[C_{33}=A_{33}+B_{33}\] \[C_{ij}=A_{ij}+B_{ij} \text{ with } i=1,2,3, \ \ \ j=1,2,3\]

1.2. 스칼라 곱하기

\[\boldsymbol B = c \boldsymbol A\] \[B_{ij}=c A_{ij} \text{ with } i=1,2,3, \ \ \ j=1,2,3\]

1.3. 매트릭스 곱하기1 (single contraction)

\[\boldsymbol b = \boldsymbol A \cdot \boldsymbol v\] \[b_1 = \sum_{j=1}^3 A_{1j} v_j\] \[b_2 = \sum_{j=1}^3 A_{2j} v_j\] \[b_3 = \sum_{j=1}^3 A_{3j} v_j\] \[b_i = \sum_{j=1}^3 A_{ij} v_j \text{ with } i=1,2,3\] \[\boldsymbol c = \boldsymbol v \cdot \boldsymbol B\] \[c_j = \sum_{i=1}^3 v_i B_{ij},\qquad j=1,2,3.\]

이를 성분 배열로 계산할 때는 행벡터 곱 $[\boldsymbol c]^T=[\boldsymbol v]^T[\boldsymbol B]$로 쓴다. 따라서 열벡터로 나타내면 $[\boldsymbol c]=[\boldsymbol B]^T[\boldsymbol v]$이다.

\[\boldsymbol A\cdot \boldsymbol v \ne \boldsymbol v \cdot \boldsymbol A\]

1.4. 매트릭스 곱하기2 (double contraction)

\[d_i = \sum_{j=1}^3 A_{ij} b_j \text{ with } i=1,2,3\] \[c = A_{ij} B_{ij} = \sum_{i=1}^3 \sum_{j=1}^3 A_{ij}B_{ij}\] \[c=\boldsymbol A : \boldsymbol B\] \[B_{ij} = \sum_{k=1}^3A_{ijk} b_k \text{ with } i=1,2,3,\ \ \ j=1,2,3\]

1.5. 매트릭스 전치 (transpose)

이 절에서는 같은 정규직교 기저의 실수 성분 배열로 계산한다. 텐서 표기로는 $(\boldsymbol A\cdot\boldsymbol B)^T=\boldsymbol B^T\cdot\boldsymbol A^T$이며, 아래에서는 대괄호를 사용해 대응하는 행렬곱을 설명한다.

행렬 $[\boldsymbol A]$의 전치는 $[\boldsymbol A]^T$로 표기한다. 행과 열을 서로 바꾸므로, $m\times n$ 행렬의 전치는 $n\times m$ 행렬이며 성분은

\[([\boldsymbol A]^T)_{ij}=A_{ji}\]

로 정의한다. 예를 들어

\[[\boldsymbol A]=\begin{bmatrix}1&2&3\\4&5&6\end{bmatrix}, \qquad [\boldsymbol A]^T=\begin{bmatrix}1&4\\2&5\\3&6\end{bmatrix}.\]

전치를 두 번 적용하면 원래 행렬이 된다: $([\boldsymbol A]^T)^T=[\boldsymbol A]$.

곱의 전치 법칙에서는 각 행렬을 전치하는 것과 함께 곱의 순서를 뒤집어야 한다. $[\boldsymbol A]$가 $m\times n$, $[\boldsymbol B]$가 $n\times p$ 행렬이면

\[\boxed{([\boldsymbol A][\boldsymbol B])^T=[\boldsymbol B]^T[\boldsymbol A]^T}.\]

좌변은 $p\times m$ 행렬이고, 우변도 $(p\times n)(n\times m)$의 곱이므로 같은 크기다. 성분으로도 확인할 수 있다.

\[\begin{aligned} [([\boldsymbol A][\boldsymbol B])^T]_{ij} &=([\boldsymbol A][\boldsymbol B])_{ji} =\sum_{k=1}^{n}A_{jk}B_{ki}\\ &=\sum_{k=1}^{n}([\boldsymbol B]^T)_{ik}([\boldsymbol A]^T)_{kj} =([\boldsymbol B]^T[\boldsymbol A]^T)_{ij}. \end{aligned}\]

일반적으로 $([\boldsymbol A][\boldsymbol B])^T=[\boldsymbol A]^T[\boldsymbol B]^T$는 성립하지 않는다. 행렬 세 개의 곱에도 같은 규칙을 적용한다.

\[([\boldsymbol A][\boldsymbol B][\boldsymbol C])^T =[\boldsymbol C]^T[\boldsymbol B]^T[\boldsymbol A]^T.\]

열벡터도 행렬의 일종이므로, 행렬과 벡터의 곱에 같은 규칙을 적용할 수 있다.

\[([\boldsymbol A][\boldsymbol a])^T=[\boldsymbol a]^T[\boldsymbol A]^T, \qquad ([\boldsymbol A][\boldsymbol a])^T([\boldsymbol A][\boldsymbol a]) =[\boldsymbol a]^T[\boldsymbol A]^T[\boldsymbol A][\boldsymbol a].\]

마지막 식은 변환된 벡터의 길이의 제곱을 나타내는 스칼라이며, 변형 전후 선분의 길이를 비교할 때에도 사용한다.

1.6. 매트릭스 trace

\[tr(\boldsymbol A) = A_{11}+A_{22}+A_{33}=\sum_{i=1}^3A_{ii}\]

1.7. 역행렬 (inverse matrix)

\[\boldsymbol{A}\cdot\boldsymbol{A}^{-1}=\boldsymbol {I}\]

2. Determinant

2.1. $2\times2$ 행렬

\[[\boldsymbol A]=\begin{bmatrix} a & b \\ c & d \end{bmatrix}\] \[\det(\boldsymbol A) = |\boldsymbol A| = ad -bc\]

2.2. $3\times3$ 행렬

\[[\boldsymbol A]=\begin{bmatrix} a & b & c \\ d & e & f \\ g & h & i \end{bmatrix}\] \[\det(\boldsymbol A)=|\boldsymbol A| = a(ei-fh)-b(di-fg)+c(dh-eg)\]

3. 랭크의 증감

4. Einstein 표기법

\[a_{ijk} b_{i}\] \[a_{ijk} b_{jk}\] \[a_{ijk} b_{ik}\] \[a_{ijk} b_{ijk}\]

텐서와 행렬 표현을 구분하기

벡터와 텐서는 좌표계와 무관한 물리량이고, 열벡터와 행렬은 선택한 좌표계에서 그 성분을 배열한 표현이다. 좌표계를 바꾸면 성분 행렬은 달라지지만 물리량 자체는 달라지지 않는다.

연산 성분 표현 결과
벡터 내적 $a_ib_i$ 스칼라
dyadic product $a_ib_j$ 2차 텐서
텐서–벡터 곱 $A_{ij}b_j$ 벡터
텐서 이중수축 $A_{ij}B_{ij}$ 스칼라

예를 들어 $dW=\boldsymbol\sigma:d\boldsymbol\varepsilon$은 단위부피당 일이라는 스칼라를 만들고, $\boldsymbol t=\boldsymbol\sigma\cdot\boldsymbol n$은 면력벡터(traction vector)를 만든다. 수축되는 첨자의 수와 결과의 랭크를 확인해야 한다.

5. 연습 문제

문제 1

단위행렬 $\boldsymbol I$와 임의의 벡터 $\boldsymbol a$의 곱 $\boldsymbol I\cdot\boldsymbol a$는 무엇인가?

추가 연습문제

링크를 활용하세요