텐서와 공변 미분 — 좌표가 바뀌어도 식이 같으려면

텐서는 좌표가 아니라 다중선형 사상 그 자체이고, 공변 미분은 좌표가 휘어 있을 때 편미분을 텐서로 되돌려 놓는 보정 장치다.

들어가며

해석역학을 한 줄로 줄이면 “좌표를 갈아끼워도 같은 운동방정식을 얻는 언어를 만드는 작업”이다. 1장에서 일반좌표 qiq^i 를 도입하고 2장에서 곡면 위의 운동을 그 좌표로 적었을 때 이미 그 언어의 입구에 서 있었다. 단진자를 θ\theta 하나로 적든 (x,y)(x, y) 둘로 적든 같은 물리가 나와야 한다는 요구를 수학적으로 보증하는 장치가 이 장의 주제다.

손에 쥐어야 할 두 개념은 텐서공변 미분 이다. 텐서는 “좌표에 의존하지 않는 양”을 적는 방법이고, 공변 미분은 “좌표가 휘어 있을 때도 미분이 텐서로 남게 하는” 보정 장치다.

벡터라는 대상 자체는 좌표 이전에 존재하고, 우리가 적는 성분은 그 대상에 좌표라는 자를 갖다 댄 읽음값일 뿐이다. 자를 바꾸면 읽음값이 바뀌지만 대상은 그대로다. 텐서는 그 “자와 무관한 대상”을 가리키는 이름이다.

4장에서는 운동을 다양체 위에 얹는데, 그러려면 “다양체 위의 한 점에서 의미를 가지는 양”이 무엇인지가 먼저 분명해야 한다. 그 양이 텐서다. 다양체가 휘어 있을 수 있으므로 그 위에서 미분을 제대로 하는 방법 — 공변 미분 — 도 함께 필요하다.

본문 전체에서 아인슈타인 합 규약 을 쓴다. 같은 인덱스 문자가 위아래에 한 번씩 나타나면 그 인덱스에 대해 자동으로 합을 취한다 — TiiiTiiT^i{}_i \equiv \sum_i T^i{}_i. 합이 일어나는 인덱스(위아래로 짝지어진 것)를 더미 인덱스(dummy index), 짝이 없이 남은 것을 자유 인덱스(free index) 라 부른다. 식의 양변에서 자유 인덱스는 정확히 같은 모양으로 남아 있어야 한다 — 이 점만 체크하면 식의 실수를 잡아낼 수 있다.

본론 1 — 텐서란 무엇인가

텐서를 처음 만날 때 가장 흔한 오해는 “인덱스가 두 개 이상 달린 숫자 표”라는 정의다. 절반만 맞다. 숫자 표는 텐서의 성분 표현(component representation) 이지 텐서 자체가 아니다. 어떤 사람의 키를 “175 cm”라고 적었을 때 숫자 “175”가 사람이 아닌 것과 같다. 자를 인치로 바꾸면 숫자가 바뀌지만 사람은 그대로다. 좌표를 바꾸면 성분 표가 바뀌지만 텐서는 그대로다.

한 점 pp 에서의 계수 (p,q)(p, q) 텐서(tensor of type (p,q)(p,q))공변 벡터 pp 개와 반변 벡터 qq 개를 받아 실수 하나를 돌려주는 다중선형 사상 이다. 슬롯이 p+qp + q 개 달린 기계 — 각 슬롯에는 정해진 종류의 입력(벡터 또는 코벡터)을 꽂게 되어 있고, 모든 슬롯을 채우면 숫자 하나를 뱉는다.

다중선형성(multilinearity) 은 “다중 = 슬롯이 여러 개, 선형 = 각 슬롯에 대해 따로따로 선형”이라는 뜻이다. 슬롯이 두 개인 기계 B(,)B(\,\cdot\,, \,\cdot\,) 에서 첫 슬롯에 대해 선형이라는 건 B(au+bv,w)=aB(u,w)+bB(v,w)B(au + bv, w) = a\,B(u, w) + b\,B(v, w), 둘째 슬롯에 대해서는 B(u,aw+bz)=aB(u,w)+bB(u,z)B(u, aw + bz) = a\,B(u, w) + b\,B(u, z) 가 성립한다는 뜻이다. 한쪽 슬롯을 만질 때 다른 슬롯은 고정되어 있다고 보고 선형성을 따진다.

합금을 만드는 기계로 비유하자. 슬롯 하나에 금속 A의 양, 다른 슬롯에 금속 B의 양을 넣으면 강도 같은 성질값이 나온다. A의 양을 두 배로 하면 (B를 고정한 채) 출력도 두 배, B의 양을 두 배로 하면 (A를 고정한 채) 출력도 두 배. 두 슬롯을 동시에 두 배로 하면 출력은 네 배 — 각 슬롯의 선형성이 곱해진 결과다.

다중선형성 덕분에 텐서는 성분만 알면 완전히 결정된다. 슬롯에 기저 벡터들을 꽂아 본 값 — 그게 성분이다 — 만 알면, 다중선형성으로 임의의 입력에 대한 출력을 다 계산할 수 있다. 슬롯이 두 개고 차원이 nn 이면 성분은 n2n^2 개, 슬롯이 세 개면 n3n^3 개.

이 정의에 우리가 이미 아는 양들이 자리를 잡는다.

  • 계수 (0,0)(0, 0) 텐서 = 스칼라. 슬롯이 하나도 없으니 그냥 숫자 하나. 온도나 질량처럼 좌표와 무관한 숫자.
  • 계수 (1,0)(1, 0) 텐서 = 벡터. 코벡터 한 장을 받아 숫자를 돌려준다.
  • 계수 (0,1)(0, 1) 텐서 = 코벡터(공변 벡터). 벡터 한 장을 받아 숫자를 돌려준다.
  • 계수 (0,2)(0, 2) 텐서 = 이중선형 형식. 벡터 두 장을 받아 숫자를 돌려준다. 대표 예가 계량 텐서(metric tensor) gijg_{ij}.
  • 계수 (1,1)(1, 1) 텐서 = 선형 사상. 벡터 한 장과 코벡터 한 장을 받아 숫자를 돌려준다. 우리가 아는 행렬과 똑같이 다룰 수 있다.

계량 텐서 gijg_{ij} 는 “두 벡터의 내적을 만들어 주는 기계”다. 벡터 두 개 uu, vv 를 두 슬롯에 꽂으면 gijuivjg_{ij}\,u^i v^j 라는 숫자 — 두 벡터의 내적 — 가 나온다. 한 벡터를 두 슬롯에 모두 꽂으면 gijvivjg_{ij}\,v^i v^j, 즉 그 벡터의 길이의 제곱. 계량 텐서는 “공간에서 거리와 각도를 재는 자” 그 자체다. 공간의 기하 — 멀고 가까움, 직각과 비스듬함 — 가 모두 이 한 기계 안에 들어 있다.

평평한 카르테시안 좌표에서는 gij=δijg_{ij} = \delta_{ij} 다. 크로네커 델타(Kronecker delta) δij\delta_{ij}i=ji=j 면 1, 아니면 0 인 기호 — 즉 단위행렬. 그래서 gijuivj=u1v1+u2v2+g_{ij}\,u^i v^j = u^1 v^1 + u^2 v^2 + \cdots 라는 우리에게 익숙한 점곱이 나온다. 같은 평면을 극좌표 (r,θ)(r, \theta) 로 적으면 계량은 더 이상 단위행렬이 아니다. grr=1g_{rr} = 1, gθθ=r2g_{\theta\theta} = r^2, 나머지 성분은 0.

gθθ=r2g_{\theta\theta} = r^2. 극좌표에서 각도를 dθd\theta 만큼 움직이면 실제로 이동한 호의 길이는 dθd\theta 가 아니라 rdθr\,d\theta — 반지름이 클수록 같은 각도 변화에 더 많이 움직인다. 길이의 제곱은 r2dθ2r^2\,d\theta^2 이니 gθθ=r2g_{\theta\theta} = r^2 이 이 사실을 담고 있다. grr=1g_{rr} = 1 은 “반지름 방향으로 drdr 만큼 움직이면 실제로 drdr 만큼 움직인다”는 당연한 사실. 극좌표에서 미소 거리의 제곱은

ds2=dr2+r2dθ2ds^2 = dr^2 + r^2\,d\theta^2

— 고등학교에서 본 식이 사실은 계량 텐서를 풀어 쓴 것이다. 텐서 자체(거리를 재는 기계)는 그대로인데, 성분 표만 좌표에 따라 달라졌을 뿐이다. 카르테시안에서는 δij\delta_{ij}, 극좌표에서는 diag(1,r2)\mathrm{diag}(1, r^2) — 같은 기계의 두 읽음값.

벡터가 왜 계수 (1,0)(1, 0) 텐서인지. 정의에 따르면 벡터 vv 는 “코벡터 한 장을 받아 숫자를 돌려주는 기계”여야 한다. 우리가 보통 벡터를 화살표로 생각하는 것과는 다른 그림이지만 같은 이야기다. 코벡터 ω\omega 와 벡터 vv 가 있으면 ω(v)\omega(v) 라는 숫자를 만들 수 있다. 이 식을 “코벡터 ω\omega 가 벡터 vv 를 받아 숫자를 낸다”고 읽으면 ω\omega 가 기계, vv 가 입력. 같은 식을 “벡터 vv 가 코벡터 ω\omega 를 받아 숫자를 낸다”고 읽을 수도 있다 — vv 가 기계, ω\omega 가 입력. 둘 다 맞다.

헷갈리기 쉬운 곳 — 행렬은 텐서가 아니다. 행렬은 계수 (1,1)(1, 1) 텐서의 성분 표현 이지 텐서 자체가 아니다. 더 미묘한 함정은 인덱스 위치다. TijT^i{}_j 라는 텐서를 행렬로 적으면 위 인덱스 ii 가 행, 아래 인덱스 jj 가 열이 되는데, 행렬 표기에서는 이 “위/아래” 구분이 가려져 버린다. 두 인덱스가 모두 그냥 아래에 놓인 것처럼 보인다. 행렬만 보면 그것이 (1,1)(1,1) 텐서인지 (0,2)(0,2) 텐서인지 알 수 없다. 행렬은 텐서를 적는 표기 도구일 뿐, 인덱스의 종류 정보는 표기에서 빠져 있다.

헷갈리기 쉬운 곳 — 벡터와 코벡터는 같은 것이 아니다. 학부 초반에는 벡터와 코벡터(공변 벡터)를 구별 없이 쓰는 경우가 많다. 둘 다 “성분이 nn 개인 줄”이니 같아 보인다. 하지만 둘은 변환 법칙이 정반대다(본론 2에서 본다). 둘을 동일시할 수 있는 건 계량 텐서가 주어졌을 때뿐이다. 계량이 있으면 vi=gijvjv_i = g_{ij}\,v^j 라는 식으로 벡터를 코벡터로 바꿀 수 있다 — “인덱스를 내린다”고 부르는 작업이다. 계량이 없으면 벡터와 코벡터는 그냥 서로 다른 종류의 양이다.

이 모든 정의에서 결정적인 점은 좌표가 한 번도 등장하지 않는다 는 것이다. 텐서는 슬롯에 입력을 꽂으면 숫자를 내는 기계로 정의되고, 그 정의 어디에도 “어떤 좌표계에서”라는 단서가 붙지 않는다. 좌표는 텐서를 이름표 붙여 적기 위한 도구일 뿐. 텐서 자체는 좌표 이전에 존재한다.

물리량 가운데 진짜 물리적인 양 은 좌표 선택에 의존하면 안 된다. 두 입자 사이의 거리, 한 벡터의 길이, 운동에너지 — 어떤 자를 들고 측정하든 같은 값이어야 한다. 그런데 우리가 적는 성분 은 자에 따라 바뀐다. 따라서 “성분이 좌표에 따라 어떻게 바뀌는가”를 정확히 알아야 좌표를 바꿔 가며 적은 식들이 같은 물리를 말하는지 판정할 수 있다. 텐서이기만 하면 본론 2의 변환 법칙을 정확히 따르고, 텐서로 적은 방정식은 좌표를 바꿔도 형태가 보존된다.

본론 2 — 성분 변환 법칙

실제 계산은 좌표로 한다. 기계 그 자체를 손에 들고 다닐 수 없으니 좌표라는 자를 갖다 대고 성분을 읽어서 계산한다. 좌표계 xx 에서 xx' 로 갈아탈 때 같은 텐서의 성분은 어떻게 바뀌는가.

벡터(반변, 인덱스가 위에 붙음)의 성분 변환.

Ti=xixjTjT'^{i} = \frac{\partial x'^{i}}{\partial x^{j}} \, T^{j}

코벡터(공변, 인덱스가 아래에 붙음)는 정확히 반대 방향의 야코비안.

Ti=xjxiTjT'_{i} = \frac{\partial x^{j}}{\partial x'^{i}} \, T_{j}

계수 (1,1)(1, 1) 텐서 TijT^{i}{}_{j} 는 위 인덱스에 위쪽 야코비안, 아래 인덱스에 아래쪽 야코비안을 한 번씩 곱한다.

Tij=xixkxlxjTklT'^{i}{}_{j} = \frac{\partial x'^{i}}{\partial x^{k}} \frac{\partial x^{l}}{\partial x'^{j}} \, T^{k}{}_{l}

규칙은 단순하다. 위 인덱스는 “새 좌표 / 옛 좌표” 야코비안, 아래 인덱스는 “옛 좌표 / 새 좌표” 야코비안, 각 인덱스마다 한 번씩 곱한다. 인덱스가 몇 개 달리든 변환식을 기계적으로 적을 수 있다. “위 = 새/옛”, “아래 = 옛/새”.

왜 위와 아래가 반대 방향의 야코비안을 쓰는가. 핵심은 “벡터의 성분과 기저 벡터가 서로 반대로 변한다”는 데 있다. 좌표를 잘게 쪼개서 기저 벡터를 더 촘촘하게(작게) 잡으면, 같은 화살표를 적는 데 필요한 성분 숫자는 더 커진다 — 작은 자로 재면 눈금 수가 많아지듯이. 반대로 기저를 크게 잡으면 성분은 작아진다. 벡터 성분은 기저의 변화에 반대로 (반-, contra-) 따라간다고 해서 반변(contravariant) 이라 부르고 인덱스를 위에 적는다. 코벡터의 성분은 기저와 같이 (공-, co-) 변해서 공변(covariant) 이라 부르고 인덱스를 아래에 적는다. 이름과 인덱스 위치가 변환 방향을 담고 있다.

합 규약과 인덱스 위치를 함께 보면 식의 일관성 도 보인다. 변환식 Ti=(xi/xj)TjT'^i = (\partial x'^i / \partial x^j)\,T^j 에서 우변의 더미 인덱스 jj 는 야코비안의 아래쪽(xj\partial x^j)과 텐서의 위쪽(TjT^j)에서 한 번씩 — 위아래로 — 만나 합쳐진다. 자유 인덱스 ii 는 야코비안의 위쪽에 위 인덱스로 남아서 좌변 TiT'^i 의 위 인덱스와 정확히 짝이 맞는다. 양변의 자유 인덱스 위치가 일치하고 더미 인덱스가 위아래로 짝지어지는지를 확인하는 것만으로도 변환식을 옳게 적었는지 검산할 수 있다.

헷갈리기 쉬운 곳 — 이 식이 어렵게 느껴진다면. xi/xj\partial x'^i / \partial x^j 같은 식이 처음 보면 위압적이다. 본질은 인덱스 자리만 맞춰 채우는 기계적 작업이다. 변환할 텐서의 인덱스를 하나씩 보면서 위 인덱스면 위쪽 야코비안, 아래 인덱스면 아래쪽 야코비안을 갖다 붙이고, 합 규약에 따라 짝지어 더하면 끝이다. 식의 의미를 한 번에 이해하려 하지 말고, 먼저 자리를 채우는 손에 익은 작업으로 받아들이면 부담이 줄어든다.

2차원 평면을 각도 α\alpha (alpha) 만큼 회전한 새 좌표계. 회전 변환의 야코비안은 회전행렬

R(α)=(cosαsinαsinαcosα)R(\alpha) = \begin{pmatrix} \cos\alpha & -\sin\alpha \\ \sin\alpha & \cos\alpha \end{pmatrix}

와 관련되어 있다. 옛 좌표에서 벡터가 v=(1,0)v = (1, 0). 새 좌표에서 이 벡터의 성분은 위쪽 야코비안을 곱해서 얻는데, 회전의 경우 결과는

v=(cosα, sinα).v' = (\cos\alpha,\ \sin\alpha).

같은 회전에서 코벡터 ω=(1,0)\omega = (1, 0)반대 방향의 야코비안 — 아래쪽 야코비안 — 을 쓴다. 회전행렬은 직교행렬(orthogonal matrix — R1=RTR^{-1} = R^{T} 인 행렬) 이라 RT=RR^{-T} = R, 즉 위쪽 야코비안과 아래쪽 야코비안이 전치 관계로만 다르다. 그 결과 코벡터 ω=(1,0)\omega = (1, 0)

ω=(cosα, sinα)\omega' = (\cos\alpha,\ -\sin\alpha)

로 변한다. 같은 회전 α\alpha 아래에서 옛 좌표의 (1,0)(1, 0) 이라는 같은 모양의 성분 줄이 —

  • 벡터로 보면 (cosα, sinα)\to (\cos\alpha,\ \sin\alpha)
  • 코벡터로 보면 (cosα, sinα)\to (\cos\alpha,\ -\sin\alpha)

둘째 성분의 부호만 다르다. 회전군은 RT=RR^{-T} = R 이라 두 변환이 부호 차이로만 갈리고, 일반적인 좌표변환에서는 벡터와 코벡터의 변환이 훨씬 크게 갈라진다. 좌표축을 균등하게 늘리거나 줄이는 변환(스케일링)에서는 벡터 성분은 줄어드는데 코벡터 성분은 늘어나는 식으로 정반대로 움직인다. 회전이라는 익숙한 예에서도 둘이 다르게 변한다 — 성분 줄만 보면 똑같이 생겼지만 좌표를 갈아탈 때 행동이 다르니 서로 다른 종류의 양이다.

야코비안을 실제로 계산해 보자. 극좌표 (r,θ)(r, \theta) 와 카르테시안 (x,y)(x, y) 사이의 관계는 x=rcosθx = r\cos\theta, y=rsinθy = r\sin\theta. 역으로 r=x2+y2r = \sqrt{x^2 + y^2} 이므로

rx=xx2+y2=xr,ry=yr.\frac{\partial r}{\partial x} = \frac{x}{\sqrt{x^2+y^2}} = \frac{x}{r}, \qquad \frac{\partial r}{\partial y} = \frac{y}{r}.

θ=arctan(y/x)\theta = \arctan(y/x) 에서 θ/x=y/r2\partial \theta / \partial x = -y/r^2, θ/y=x/r2\partial \theta / \partial y = x/r^2. 이 네 개의 숫자를 2×22 \times 2 표로 모으면 극좌표에서 카르테시안으로 가는 야코비안 행렬이 완성되고, 변환식에 꽂으면 어떤 텐서든 좌표를 갈아탈 수 있다. 거꾸로 가는 야코비안 — 카르테시안에서 극좌표로 — 도 x=rcosθx = r\cos\theta, y=rsinθy = r\sin\theta 를 직접 미분하면 x/r=cosθ\partial x / \partial r = \cos\theta, x/θ=rsinθ\partial x / \partial \theta = -r\sin\theta 식으로 한 줄에 나온다. 두 방향의 야코비안은 서로 역행렬 관계.

본론 1의 계량 텐서 변환을 직접 검산할 수도 있다. 카르테시안에서 gij=δijg_{ij} = \delta_{ij} 였던 것을 코벡터 인덱스 두 개짜리 — 계수 (0,2)(0, 2) — 텐서로 보고 극좌표 야코비안을 두 번 곱하면 정확히 grr=1g_{rr} = 1, gθθ=r2g_{\theta\theta} = r^2 이 떨어진다. gθθg_{\theta\theta}r2r^2 이 되는 데에 x/θ=rsinθ\partial x/\partial\theta = -r\sin\theta 같은 항의 제곱이 기여한다. 변환 법칙이 계량의 성분 변화를 예측한다.

헷갈리기 쉬운 곳 — 야코비안의 행과 열. xi/xj\partial x'^i / \partial x^j 를 행렬로 적을 때 어느 인덱스가 행이고 어느 인덱스가 열인지 헷갈리기 쉽다. 관례는 윗첨자 ii (새 좌표 인덱스)가 행, 아랫첨자 jj (옛 좌표 인덱스)가 열. 헷갈릴 때는 행렬 표기를 잊고 인덱스 합 규약으로 돌아가면 된다. Ti=(xi/xj)TjT'^i = (\partial x'^i / \partial x^j)\,T^j 에서 jj 가 위아래로 짝지어 합쳐지므로, 어느 게 행이고 열인지와 무관하게 식 자체는 명확하다. 행렬로 적는 건 편의일 뿐이고 진짜 정의는 인덱스 합에 있다.

본론 3 — 공변 미분

카르테시안 좌표계에서는 벡터장 VjV^{j} 의 편미분 iVj\partial_{i} V^{j} 가 그대로 계수 (1,1)(1, 1) 텐서의 성분이 된다. i/xi\partial_i \equiv \partial/\partial x^iii 번째 좌표 방향의 편미분을 줄여 적은 것. 미분이 텐서를 만든다 — 깔끔하다. 그런데 극좌표처럼 기저 벡터가 위치에 따라 달라지는 좌표계에서는 이 단순한 편미분이 더 이상 텐서가 아니다.

평면 위 어디서나 같은 방향을 가리키는 일정한 카르테시안 벡터장 — 가령 모든 점에서 오른쪽을 가리키는 벡터장. 이 벡터장은 변하지 않는다. 카르테시안 성분으로 적으면 Vx=1V^x = 1, Vy=0V^y = 0 으로 어디서나 같으니 편미분이 모두 0.

같은 벡터장을 극좌표 성분 VrV^r, VθV^\theta 로 적으면 이야기가 달라진다. 극좌표의 기저 벡터 e^r\hat e_r 은 점마다 다른 방향을 가리킨다 — 원점에서 멀어지는 방향이니 평면의 어느 점에 있느냐에 따라 회전한다. e^θ\hat e_\theta 도 점마다 회전한다. “오른쪽을 가리키는 일정한 벡터”를 이 회전하는 기저로 분해하면, 그 성분 VrV^r, VθV^\theta 는 위치에 따라 변할 수밖에 없다.

평면의 오른쪽 어딘가 — θ=0\theta = 0 근처 — 에 있는 점에서는 e^r\hat e_r 이 오른쪽을 가리키니 “오른쪽 벡터”는 거의 Vr=1V^r = 1, Vθ=0V^\theta = 0. 그 벡터장을 따라 점을 위쪽으로(θ\theta 가 커지는 쪽으로) 옮기면, 그 점에서는 e^r\hat e_r 이 위쪽을 가리키게 된다. 같은 “오른쪽 벡터”를 위쪽을 향한 e^r\hat e_r 로 분해하면 VrV^r 성분이 줄어들고 VθV^\theta 성분이 생긴다. θ\theta 가 변하면 VrV^r 이 변한다 — θVr0\partial_\theta V^r \neq 0. 벡터장은 분명히 한 톨도 안 변했는데 편미분이 0이 아니게 나온 것이다.

편미분은 성분의 변화만 잡아내는데, 그 성분 변화에는 두 가지가 섞여 있다 — 진짜 벡터장이 변한 몫과, 기저 e^r\hat e_r 이 회전한 탓에 생긴 가짜 변화. 편미분은 이 둘을 구별하지 못한다. 카르테시안에서는 기저가 회전하지 않으니 가짜 변화가 아예 없어서 이 문제가 드러나지 않았던 것이고, 극좌표로 옮기는 순간 가짜 변화가 섞여 들어온 것이다.

해법은 기저의 회전 탓에 생긴 가짜 변화를 빼 주는 보정항을 더하는 것 — 공변 미분(covariant derivative).

iVj=iVj+ΓjikVk\nabla_{i} V^{j} = \partial_{i} V^{j} + \Gamma^{j}{}_{ik} \, V^{k}

Γjik\Gamma^{j}{}_{ik}크리스토펠 기호(Christoffel symbol — 기저가 위치에 따라 회전하는 몫을 빼 주는 보정 계수). iVj\partial_i V^j 가 진짜 변화와 가짜 변화를 섞어서 내놓으면 ΓjikVk\Gamma^j{}_{ik} V^k 항이 가짜 변화를 정확히 상쇄해서, 합 iVj\nabla_i V^j 가 진짜 변화 — 텐서 — 만 남게 한다. 인덱스 구조: VkV^k 의 더미 인덱스 kkΓ\Gamma 의 마지막 자리와 짝지어 합쳐지고, 남는 자유 인덱스 ii, jj 가 좌변 iVj\nabla_i V^j 와 정확히 짝이 맞는다.

카르테시안의 기저 벡터는 평면 어디서나 같은 방향, 같은 길이다. 회전하지도 늘어나지도 않으니 빼 줄 가짜 변화가 없고 보정항도 필요 없다 — Γ=0\Gamma = 0. 이때 공변 미분은 그냥 편미분으로 되돌아간다 (iVj=iVj\nabla_i V^j = \partial_i V^j). 크리스토펠 기호는 “비-카르테시안 좌표를 쓴 대가”다 — 좌표를 휘게 잡았으니 그 휨을 보정하는 항이 따라붙는 것이다.

평탄한 평면을 극좌표로 적었을 때 크리스토펠 기호. 대부분 성분이 0이고 0이 아닌 것은 단 세 개 — 사실상 두 종류 — 다.

Γrθθ=r,Γθrθ=Γθθr=1r\Gamma^{r}{}_{\theta\theta} = -r, \qquad \Gamma^{\theta}{}_{r\theta} = \Gamma^{\theta}{}_{\theta r} = \frac{1}{r}

Γrθθ=r\Gamma^r{}_{\theta\theta} = -r 은 ”θ\theta 방향으로 움직일 때 e^θ\hat e_\theta 기저가 안쪽(r-r 방향)으로 휘어 들어가는 몫” — 원을 따라 돌면 접선 방향 기저가 원 중심 쪽으로 꺾이는 그 효과. 원운동에서 접선 속도가 일정해도 가속도(구심가속도)가 안쪽으로 생기는 그 익숙한 현상이 이 크리스토펠 항으로 표현된다. Γθrθ=1/r\Gamma^\theta{}_{r\theta} = 1/r 은 “반지름 방향으로 움직일 때 e^θ\hat e_\theta 기저의 길이가 rr 에 비례해 늘어나는 몫” — 원점에서 멀어질수록 같은 각도에 대응하는 호의 길이가 길어지니 θ\theta 방향 기저가 그만큼 늘어난다. Γθrθ=Γθθr\Gamma^\theta{}_{r\theta} = \Gamma^\theta{}_{\theta r} 인 것은 크리스토펠 기호가 아래 두 인덱스에 대해 대칭이기 때문이다(평탄 공간, 비틀림 없음).

이 두 항은 본론 1의 계량 gθθ=r2g_{\theta\theta} = r^2 과 한 가족이다. Γrθθ=r\Gamma^r{}_{\theta\theta} = -r 에는 gθθ=r2g_{\theta\theta} = r^2rr 로 미분한 2r2r 의 절반이, Γθrθ=1/r\Gamma^\theta{}_{r\theta} = 1/r 에도 같은 미분이 모습을 바꿔 들어가 있다. 일반적인 좌표계에서 Γ\Gamma 는 계량 gijg_{ij} 와 그 1계 도함수로부터 완전히 정해진다 — 계량이 공간의 기하를 다 담고 있으니, 그 기하에서 따라 나오는 기저의 휨도 계량으로부터 계산된다. 공식의 정식 유도는 뒤 장에서 한다. 지금은 ”Γ\Gamma 는 계량으로부터 나온다, 카르테시안에서는 0이다, 극좌표에서는 위의 세 성분만 0이 아니다” 세 줄만 손에 쥐면 된다.

헷갈리기 쉬운 곳 — 크리스토펠 기호는 텐서가 아니다. Γjik\Gamma^j{}_{ik} 는 인덱스가 세 개 달려서 텐서처럼 보이지만 텐서가 아니다. 텐서라면 본론 2의 변환 법칙을 따라야 하는데, Γ\Gamma 의 변환식에는 야코비안 곱 항 외에 추가 항 — 야코비안의 2계 도함수 항 — 이 붙는다. 이 추가 항 때문에 어떤 좌표계에서 Γ=0\Gamma = 0 (카르테시안)이라도 다른 좌표계에서는 Γ0\Gamma \neq 0 (극좌표)이 될 수 있다. 텐서라면 한 좌표계에서 0이면 모든 좌표계에서 0이어야 하니, Γ\Gamma 가 텐서가 아니라는 증거이기도 하다. Γ\Gamma 는 “좌표계의 휘어짐을 담은 보조량”이지 좌표와 무관한 대상이 아니다.

헷갈리기 쉬운 곳 — \nabla 는 단순 편미분이 아니다. 공변 미분 i\nabla_i 를 그냥 편미분의 다른 표기쯤으로 여기기 쉽다. \nabla 는 다양체 위의 벡터장에 작용하는 연산자로, 편미분에 크리스토펠 보정을 더한 것이다. 둘이 우연히 일치하는 건 카르테시안 좌표뿐. 일반 좌표계에서 “벡터장을 미분한다”고 하면 그건 i\partial_i 가 아니라 i\nabla_i 를 뜻한다 — 그래야 결과가 텐서로 남는다.

공변 미분은 편미분을 텐서로 되돌려 놓는 보정 장치다. 좌표가 휘어 있으면 편미분만으로는 텐서가 안 나오니 크리스토펠 기호라는 보정항을 더해서 텐서성을 회복시킨다. 그게 전부다.

파이썬으로 확인

# 회전 변환 아래에서 벡터의 길이, 텐서의 트레이스/행렬식이 보존되는지 확인.
# 좌표(=기저) 회전이지 객체 회전이 아니므로 모두 동일하게 나와야 한다.
import numpy as np

alpha = np.pi / 6                                        # 회전각 (라디안)
R = np.array([[np.cos(alpha), -np.sin(alpha)],
              [np.sin(alpha),  np.cos(alpha)]])
R_inv = R.T                                              # 회전행렬은 직교

# 벡터: A 기저에서 (1, 0), B 기저에서의 성분은 R^{-1} v
v = np.array([1.0, 0.0])
v_prime = R_inv @ v
print(f"|v|^2  = {v @ v:.6f}")
print(f"|v'|^2 = {v_prime @ v_prime:.6f}")               # 같아야 함

# 랭크-2 텐서: T' = R^{-1} T R
T = np.array([[2.0, 1.0],
              [1.0, 0.0]])
T_prime = R_inv @ T @ R
print(f"tr T   = {np.trace(T):.6f},  tr T'   = {np.trace(T_prime):.6f}")
print(f"det T  = {np.linalg.det(T):.6f},  det T'  = {np.linalg.det(T_prime):.6f}")

회전각 alpha 로 회전행렬 R 을 만들고, 직교성 — R1=RTR^{-1} = R^{T} — 으로 역변환 R_inv 를 얻는다. 여기서 다루는 회전은 좌표계를 돌리는 회전이지 물체를 돌리는 회전이 아니다. 같은 화살표를 회전한 자로 다시 읽는 작업이다.

v = (1, 0) 은 옛 기저에서의 성분이고 v_prime = R_inv @ v 는 새 기저에서의 성분. 본론 2에서 벡터 v=(1,0)v = (1,0) 이 회전 아래에서 (cosα,sinα)(\cos\alpha, \sin\alpha) 로 변한다고 한 계산을 코드가 그대로 수행한다. |v|^2|v'|^2같은 숫자가 나와야 한다 — 화살표 자체는 안 변했으니 길이도 안 변한다.

랭크-2 텐서 TT=R1TRT' = R^{-1} T R 로 변환된다 — 본론 2의 계수 (1,1)(1,1) 텐서 변환식을 행렬 곱으로 적은 것 — 한쪽 인덱스에 위쪽 야코비안, 다른 쪽에 아래쪽 야코비안. 트레이스와 행렬식은 이 변환 아래에서 불변. 트레이스 TiiT^i{}_i 는 인덱스가 위아래로 짝지어 합쳐진 양 — 합 규약으로 슬롯이 다 채워진 양 — 이라 좌표와 무관하고, 행렬식도 좌표 선택에 의존하지 않는 양.

네 줄의 출력이 짝지어 같게 나오면, 좌표를 갈아끼워도 변하지 않는 스칼라 불변량(scalar invariant) — 길이, 트레이스, 행렬식 — 을 손으로 확인한 셈이다. 이 불변량들이 “좌표 이전에 존재하는 대상”의 자취다. 성분 표는 좌표에 따라 춤추듯 바뀌지만 그 표에서 뽑아낸 불변량은 꿈쩍도 하지 않는다. alpha 값을 바꿔 가며 돌려 보면 — π/6\pi/6 이든 π/3\pi/3 이든 — 불변량이 항상 같은 값에 머문다.

다음 장으로

4장: 다양체에서는 이 장의 텐서를 다양체 위에 얹는다. 지금까지는 “한 점 pp 에서의 텐서”였지만, 운동은 공간 전체를 누비니 점마다 정의된 텐서들이 매끄러운 좌표 패치들 사이에서 일관되게 이어 붙어야 한다. 그 일관성을 보증하는 무대가 다양체다.