텐서 표기법 (Tensor Notation) -기본

연속체역학(continuum mechanics)이나 유한요소법(finite element method)에서 많이 나오는 텐서(첨자 또는 아인슈타인) 표기법에 대해 알아본다.

총합 규약(Summation Convention)

하나의 항에 첨자가 두번 나오면 1에서 3까지 합을 나타낸다. \(a_ib_j\)는 단순히 벡터 \(\bf a\)의 i번째 성분과 j번째 성분의 곱이다. 하지만 \(a_ib_i\)는 완전히 다르다. i가 두번 나오므로 자동적으로 다음과 같이 확장된다.

\(a_ib_i=a_1b_1+a_2b_2+a_3b_3\)

이는 벡터 \(\bf a, b\)의 내적을 나타낸다.

크로넥커 델타 (Kronecker Delta)

크로넥커 델타, \(\delta_{ij}\)는 단위행렬(identity matrix), \(\bf I\) 역할을 한다. 그 이유는 i=j 일 때는 \(\delta_{ij}=1\) 이고 그 외에 i≠j 일 때는 \(\delta_{ij}=0\) 이기 때문이다. 따라서 i, j 행열에서 대각 성분은 1 이고 비대각 성분은 0 이 된다.

순열 텐서 (Alternating Tensor)

순열 텐서 \(\epsilon_{ijk}\)는 ijk가 우순열이면 +1, 기순열이면 -1, 그 외의 경우는 0 이다. 벡터의 외적 \(\bf c=a\times b\)를 다음과 같이 나타낼 수 있다.

\(\begin{split}c_i=&\epsilon_{ijk}a_jb_k\\=&\epsilon_{i11}a_1b_1+\epsilon_{i12}a_1b_2+\epsilon_{i13}a_1b_3+\\&\epsilon_{i21}a_2b_1+\epsilon_{i22}a_2b_2+\epsilon_{i23}a_2b_3+\\&\epsilon_{i31}a_3b_1+\epsilon_{i32}a_3b_2+\epsilon_{i33}a_3b_3\end{split}\)

위의 식은 아직 일반적이므로 벡터의 특정 성분을 계산하기 위해서는 i를 선택해야 한다.

외적의 z 성분을 얻기 위해 i=3 으로 하면

\(\begin{split}c_3=&\epsilon_{3jk}a_jb_k\\=&\epsilon_{311}a_1b_1+\epsilon_{312}a_1b_2+\epsilon_{313}a_1b_3+\\&\epsilon_{321}a_2b_1+\epsilon_{322}a_2b_2+\epsilon_{323}a_2b_3+\\&\epsilon_{331}a_3b_1+\epsilon_{332}a_3b_2+\epsilon_{333}a_3b_3\\=&a_1b_2-a_2b_1\end{split}\)

위의 식은 행열식 결과와 동일하며 x, y 성분을 위해서는 각각 i=1, 2로 하면 된다.

벡터와 텐서의 덧셈 (Vector and Tensor Addition)

벡터와 텐서의 덧셈은 간단히 각각 다음과 같이 나타낸다.

\(c_i=a_i+b_i\qquad c_{ij}=a_{ij}+b_{ij}\)

텐서 표기법의 성질 (Property of Tensor Notation)

벡터 \(\bf a, b\)를 양변으로 하는 삼각형의 면적은

\(\text{Area}={1\over2}|\bf a\times b|\)

텐서 표기법으로는

\(\text{Area}={1\over2}\sqrt{c_ic_i}={1\over2}\sqrt{\epsilon_{ijk}a_jb_k\epsilon_{imn}a_mb_n}\)

위의 식에서 각 첨자는 두번만 쓰였음에 유의한다. 규약에 의해 두번을 초과해서 쓸 수 없다.

텐서 표기법은 벡터 표기법에 비해 각 변수들의 연산순서에 있어 유연함을 제공한다. 요컨데 \(\bf a\times b\)와 \(\bf b\times a\)는 다르다. 반면에 \(\epsilon_{ijk}a_jb_k,\,\epsilon_{ijk}b_ka_j\) 및 \(a_jb_k\epsilon_{ijk}\)는 모두 같다. 이는 연산순서가 변수의 순서가 아닌 첨자의 순서에 의해 정해지기 때문이다. 

벡터의 다이애딕 곱 (Vector Diadic Product)

벡터 \(\bf a, b\)의 다이애딕 곱은 텐서를 반환하며 텐서 표기법으로 간단히 표현된다.

\(c_{ij}=a_ib_j\)

[예제] a=(3, 7, 2), b=(1, 2, 3) 이면 다이애딕 곱은

\({\bf a\otimes b}=\begin{bmatrix}3\times1&3\times2&3\times3\\7\times1&7\times2&7\times3\\2\times1&2\times2&2\times3\end{bmatrix}=\begin{bmatrix}3&6&9\\7&14&21\\2&4&6\end{bmatrix}\)

\(c_{23}\) 항을 예로 들면 텐서 표기법에 의해

\(c_{23}=a_2b_3=7\times3=21\)

전치 행열 (Matrix Transpose)

행열 \(\text{A}_{ij}\)의 전치 행열은 행과 열을 바꾸면 되므로 \(\text{A}_{ji}\) 이다.

행열식 (Determinant)

행열식의 계산은 텐서 표기법으로 두개의 다른 방법으로 쓰어질 수 있다.

\(\text{det}({\bf A})=\epsilon_{ijk}\text{A}_{i1}\text{A}_{j2}\text{A}_{k3}={1\over6}\epsilon_{ijk}\epsilon_{rst}\text{A}_{ir}\text{A}_{js}\text{A}_{kt}\)

역행열 (Matrix Inverse)

역행열 \(\bf A^{-1}\)의 각 항은 다음식으로 계산된다.

\(\text{A}_{ij}^{-1}=\frac{1}{2\text{det}(\bf A)}\epsilon_{imn}\epsilon_{ipq}\text{A}_{mp}\text{A}_{nq}\)

행열의 곱셈 (Matrix Multiplication)

행열 \(\bf A\)와 \(\bf B\)의 곱 \(\bf AB\)의 각 항은 텐서 표기법으로

\(\text{C}_{ij}=\text{A}_{ik}\text{B}_{kj}=\text{A}_{i1}\text{B}_{1j}+\text{A}_{i2}\text{B}_{2j}+\text{A}_{i3}\text{B}_{3j}\)

예를 들어 \(\text{C}|_{23}\) 항을 계산하고자 하면 i=2, j=3을 대입하면 된다.

\(\text{C}_{23}=\text{A}_{21}\text{B}_{13}+\text{A}_{22}\text{B}_{23}+\text{A}_{23}\text{B}_{33}\)

[예제]

\(\begin{split}&{\bf A}=\begin{bmatrix}1&2&3\\4&2&2\\2&3&4\end{bmatrix},\,{\bf B}=\begin{bmatrix}1&4&7\\2&5&8\\3&6&9\end{bmatrix}\ \text{이면}\\&\text{C}_{23}=(4)(7)+(2)(8)+(2)(9)=62\\&\bf C=AB=\begin{bmatrix}14&32&50\\14&38&62\\20&47&74\end{bmatrix}\end{split}\)

이중 내적 (Double Dot Product)

두 행열의 이중 내적은 스칼라 값을 반환하며 다음과 같이 표기한다.

\(\begin{split}{\bf A:B}=&\text{A}_{ij}\text{B}_{ij}\\=&\text A_{11}\text B_{11}+\text A_{12}\text B_{12}+\text A_{13}\text B_{13}+\\&\text A_{21}\text B_{21}+\text A_{22}\text B_{22}+\text A_{23}\text B_{23}+\\&\text A_{31}\text B_{31}+\text A_{32}\text B_{32}+\text A_{33}\text B_{33}\end{split}\)

[예제] 행열 \(\bf A,\,B\)가 위의 예제와 같으면

\(\begin{split}\text A_{ij}\text B_{ij}=&1\times1+2\times4+3\times7+\\&4\times2+2\times5+2\times8+\\&2\times3+3\times6+4\times9\\=&124\end{split}\)

시간 미분 (Differentiation with respect to Time)

시간 미분은 몇 개의 형식으로 쓰여질 수 있다.

\(\begin{split}{\bf v}=&\frac{d\bf x}{dt}=\left(\frac{dx_1}{dt},\,\frac{dx_2}{dt},\,\frac{dx_3}{dt}\right)=\dot{\bf x}=\dot x_i=x_{i,t}\\{\bf a}=&\frac{d\bf v}{dt}=\left(\frac{dv_1}{dt},\,\frac{dv_2}{dt},\,\frac{dv_3}{dt}\right)=\dot{\bf v}=\dot v_i=v_{i,t}\\=&\frac{d^2\bf x}{dt^2}=\left(\frac{d^2x_1}{dt^2},\,\frac{d^2x_2}{dt^2},\,\frac{d^2x_3}{dt^2}\right)=\ddot{\bf x}=\ddot x_i=x_{i,tt}\end{split}\)

위와 같이 변수 위에 점으로 표시하는 방법 외에도 콤마로 표기하는 방법도 텐서 표기법에서 널리 쓰인다.

좌표계 미분 (Differentiation with respect to Spatial Coordinates)

스탈라 함수 f(x)의 \(x_i\)에 대한 미분은

\(\frac{\partial f}{\partial x_i}\) 또는 \(f_{,i}\)

벡터 v의 미분은

\(\frac{\partial\bf v}{\partial x_j}\) 또는 \(\left(\frac{\partial v_1}{\partial x_j},\,\frac{\partial v_2}{\partial x_j},\,\frac{\partial v_3}{\partial x_j}\right)\) 또는 \(v_{i,j}\)

텐서 σ의 미분은

\(\frac{\partial\boldsymbol\sigma}{\partial x_k}\) 또는 \(\begin{bmatrix}\frac{\partial\sigma_{11}}{\partial x_k}&\frac{\partial\sigma_{12}}{\partial x_k}&\frac{\partial\sigma_{13}}{\partial x_k}\\\frac{\partial\sigma_{21}}{\partial x_k}&\frac{\partial\sigma_{22}}{\partial x_k}&\frac{\partial\sigma_{23}}{\partial x_k}\\\frac{\partial\sigma_{31}}{\partial x_k}&\frac{\partial\sigma_{32}}{\partial x_k}&\frac{\partial\sigma_{33}}{\partial x_k}\end{bmatrix}\) 또는 \(\sigma_{ij,k}\)

발산 (Divergence)

벡터의 발산은 스칼라 양이다. \(v_{i,i}\)로 쓰며 다음과 같이 계산된다.

\(v_{i,i}=\frac{\partial v_1}{\partial x_1}+\frac{\partial v_2}{\partial x_2}+\frac{\partial v_3}{\partial x_3}\)

[예제] \({\bf v}=(3x^2-2y,\,z^2+x,\,y^3-z)\) 일 때 발산 ∇·v

\(v_{i,i}=\frac{\partial}{\partial x}(3x^2-2y)+\frac{\partial}{\partial y}(z^2+x)+\frac{\partial}{\partial z}(y^3-z)=6x-1\)

컬 (Curl)

벡터의 컬은 ∇×v 이며 텐서 표기법은

\(\begin{split}\epsilon_{ijk}v_{k,j}=&\epsilon_{i11}v_{1,1}+\epsilon_{i12}v_{2,1}+\epsilon_{i13}v_{3,1}+\\&\epsilon_{i21}v_{1,2}+\epsilon_{i22}v_{2,2}+\epsilon_{i23}v_{3,2}+\\&\epsilon_{i31}v_{1,3}+\epsilon_{i32}v_{2,3}+\epsilon_{i33}v_{3,3}\end{split}\)

컬의 y 성분을 얻기 위해 i=2로 두면

\(\begin{split}\epsilon_{2jk}v_{k,j}=&\epsilon_{211}v_{1,1}+\epsilon_{212}v_{2,1}+\epsilon_{213}v_{3,1}+\\&\epsilon_{221}v_{1,2}+\epsilon_{222}v_{2,2}+\epsilon_{223}v_{3,2}+\\&\epsilon_{231}v_{1,3}+\epsilon_{232}v_{2,3}+\epsilon_{233}v_{3,3}\\=&v_{1,3}-v_{3,1}=\frac{\partial v_x}{\partial z}-\frac{\partial v_z}{\partial x}\end{split}\)

이것 역시 행열식 결과와 동일하며 x, z 성분도 각각 i=1, 3으로 두면 얻을 수 있다.

라플라시안 (Laplacian)

라플라시안은 함수 구배의 발산이다. 행열 표기법으로는 \(\nabla^2f(x)\)이며 텐서 표기법으로는 다음과 같이 정의된다.

\(f_{,ii}=\frac{\partial^2f({\bf x})}{\partial x^2}+\frac{\partial^2f({\bf x})}{\partial y^2}+\frac{\partial^2f({\bf x})}{\partial z^2}\)

[예제] \(f({\bf x})=2x^3y-z\sin y\)의 라블라시안을 구하라.

f(x)의 구배와 구배의 발산을 차례로 구한다.

\(\begin{split}&f_{,i}=(6x^2y,\,2x^3-z\cos y,\,-\sin y)\\&f_{,ii}=\nabla\cdot\nabla f(x)=12xy+z\sin y\end{split}\)

벡터적(積)의 도함수 (Derivatives of Products)

벡터적의 연산규칙이 그의 도함수에도 동일하게 적용된다.
내적의 구배는

\((a_ib_i)_{,j}=a_{i,j}b_i+a_ib_{i,j}\)

외적의 구배는

\((\epsilon_{ijk}a_jb_k)_{,m}=\epsilon_{ijk}a_{j,m}b_k+\epsilon_{ijk}a_jb_{k,m}\)

미지막으로 다이애딕 곱의 구배는 다음과 같다.

\((a_ib_j)_{,k}=a_{i,k}b_j+a_ib_{j,k}\)

댓글

  1. 책읽다가 들어와봤는데 백터의 다이애딕 곱에서 2×1의 값이 12와 3×2의 값이 왜 5가 되나요..?

    답글삭제

댓글 쓰기

이 블로그의 인기 게시물

전단응력 (Shear Stress)

표면장력 공식

엑셀 상자그림(Box Plot) 그리기