2019년 8월 24일 토요일

1. 정역방향 변환(Forward and Backward Transformation)

[구구단만 알아도 '텐서'] 1. 정역방향 변환(Forward and Backward Transformation)


원본출처: Tensors for Beginners by eigenchris(YouTube)

* 주의: 위의 강의 영상에 오류가 있어 수정편이 추가되었음. 변환 행렬의 행과 열의 색인 순서가 바뀌는 오류가 있었음. 아래 본문 내용은 "수정"편에 근거거하여 작성 되었음.



앞서 텐서(Tensor)를 배우는 동기와 그 정의에 대해 이야기 했다. 이제부터 정말 수학으로 접근해보자. 먼저 정역방향 변환(Forward & Backward Transformation)이다. 변형된 좌표계 사이에서 벡터의 불변성(invariance)은 이미 이야기했다. 이 불변성은 벡터를 이해하는데 아주 중요하다. 정역방향 변환이란 두 좌표계 사이의 변환 방법을 다룬다. [벡터는 불변성을 유지하지만 각 좌표계에서 성분값은 변한다.]



두개의 좌표계가 있다. 파란색으로 표시된 원 좌표계(old coordinate)와 빨간색은 변형된 좌표계(new coordinate)다. [좌표계는 복수의 기저 벡터(Basis Vector)에 의해 정의 된다. 기저벡터는 저마다 길이와 방향을 갖는다. 기저 벡터의 길이는 임의 값을 갖는다. 기저 벡터의 길이를 1로 잡은 경우 단위벡터(unit vector)라 한다. 기저벡터의 각도가 90도인 경우 직각 좌표계(Cartesian Coordinate)라 한다. 기저벡터의 방향은 같을 수 없다.] 예에서 파란색 원 좌표계의 두 기저벡터는 각각 길이가 1인 직각 좌표계다. 빨간색은 변형된 좌표계다.

먼저 파란색의 원 좌표계는 e_1 과 e_2라는 두 기저벡터를 가지고 있다. 빨간색의 변형된 좌표계는 e_1_tilde 와 e_2_tilde다. 두 좌표계를 구성하는 기저벡터의 변환식을 구해보자. 벡터의 덧셈(화살표 더하기)을 활용하면 쉽고 직관 적으로 구할 수 있다. 결국 두 좌표계(각 좌표계는 다시 두개의 기저벡터를 가지고 있음)의 변환은 2x2 행렬로 표현된다.





[좌표변환 행렬의 표기규칙:행(row)은 성분(component), 열(column)은 벡터 의미한다. 행렬의 색인 순서는 행-열 이다. 벡터는 수직(열)으로 세워놓은 것이다.]

------------------------

이번에는 변형된 좌표계에서 원 좌표계로 되돌리는 방법이다. 변형된 기저벡터 e_1_tilde 와 e_2_tilde 가지고 e_1을 표현 하려니 좀 어색하다. 기저 벡터의 방향은 어쩌지 못한다. 평행이동만 있을 뿐이다. 단, 길이는 바꿀 수 있다. [앞으로 계속 나올 테지만 '선형성' 에서 벡터에 스칼라 곱과 덧셈이 허용될 뿐이다.] 변환 방법은 여러가지가 있을 수 있다. 우선 직관적으로 e_1_tilde를 1/4등분 하고 e_2_tilde를 수평이동 하여 역방향을 취하여 더하면 e_1이 된다. 같은 직관을 동원 하여 e_2를 표현해 보자. 먼저 e_1_tilde를 1/2등분 하고 e_2_tilde를 수평이동 하여 2배하면 e_2가 된다. 좌표 변환에 필요한 두개의 관계식(연립방정식)은 행렬 B로 표현했다.





[벡터의 덧셈을 그림으로 표현하면 직관적이긴 하다. 하지만 직관으로 다차원 벡터라는 추상적인 개념을 언재까지 표현 할 수 있을 것인가. 더구나 그림으로 당장 3차원의 좌표계를 어찌어찌 '그릴 수'  있다손 쳐도 그이상의 좌표계는 불가하다. 그래서 벡터 방정식을 도입하여 다수의 방정식(연립 방정식, simultaneous equation)은 행렬(matrix)로 기술한다. 행렬은 한 '객체'에 여러 특성을 담을 수 있는 '클래스(class)' 혹은 '컨테이너(container)' 같은 것이다.]

두 행렬 F와 B는 두 좌표계 사이의 변환 관계를 규정한다. 한가지 목적[벡터 불변성]을 위해 구해진 두 객체다. 그럼 이들 행렬을 서로 곱해보자. 행렬 곱셈을 연습삼아 해봐도 좋다. 정역변환 행렬 곱의 결과는 대각(Diagonal) 단위 행렬(Unit Matrix)이다. 이는 정변환 행렬 F와 역변환 행렬 B가 서로 역관계에 있다는 의미다.



2차원 좌표공간에 대한 예를 들어 봤다. 이제 다차원으로 일반화 해보자. 좌표계 변환을 위해 n 개의 연립 방정식이 얻어지며 기저 벡터의 계수로 정변환 nxn 행렬이 얻어진다. 일반화 하기위해 아직 확정되지 않은 n 에 대하여 행렬 내 원소를 일일이 표현하기 불가하므로 점을 찍어 표현된 것을 보게 되는데 지극히 수학적이지 못하다.



변환 연립 방정식을 합의 연산기호 ∑_j 를 도입하여 표현해 보자. 색인(index) 붙이기에 주의해야 하지만 매우 유용한 방법이다. 변환된 좌표계의 i번째 기저 벡터 e_i_tilde 는 원좌표계의 기저 벡터 e_j 에 변환계수 F_ij 를 곱하여 모두 더한 것이다. 이렇게 함으로써 변환이 아주 간단히(그리고 수학 방정식으로) 표현되었다.




이번에는 역변환이다. 역변환 역시 같은 방법으로 표현될 수 있다.



정역방향 변환식을 구했다. [벡터의 합을 그림으로 표현한 것도 아니고 일반화를 위해 점을 찍지도 않았다. 지금까지 그림을 그려가며 벡터와 그들 사이의 선형 연산을 정의하고 다시 행렬과 곱셈을 해 본 것은 결국 일반화된 변환식을 얻기 위한 과정이었다!] 이 두 변환식을 활용하여 두 변환이 서로 역관계(inverse relation)에 있음을 다시 증명해보자. [6:30]



몇가지 간단한 수학원리를 적용하여 다음과 같은 식을 얻는다. 좌변의 원좌표계의 기저 벡터를 얻기위해 우변에 역시 원좌표계의 기저 벡터들 선형 합이 동원 되었다. 조금 기묘하지 않은가? 아마도 괄호 않은 어떤 요소가 이런 방정식을 성립하게 만들었을 것이다.



잘 따져보면 e_n 은 ∑_k을 고려할 필요도 없이 그냥 e_n 이다. 예를 들어 e_2 = e_2 가 당연하다. 뭔가 덧붙일 필요 없다. 따라서 e_i = ∑_(...) e_k 에서 i=k일 경우 괄호안의 부분은 단위행렬의 꼴이 되어야 한다.




괄호안이 단위 행렬이 되도록 i=k일때만 1이며 그외의 행렬 원소는 모두 0으로 만드는 연산(기호)을 크로네커 델타(Kronecker Delta)라고 한다.




이번 강의를 요약하면 (벡터 불변성을 유지하는) 정방향 및 영방향 변환식과 두 변환은 서로 역의 관계에 있다는 점을 밝혔다. 아울러 두 변환의 곱은 단위 행렬이 되며 이는 크로네커 델타라고 한다.



* 색인 붙이는 순서에 주의해야 한다. 좌변은 변환된 좌표축의 기저 벡터이며 우변은 원좌표계의 좌표축 성분 합이다.

------------------------------------------------
[행렬과 벡터의 곱 vs 변환행렬]

행렬(row & column element, matrix)과 벡터(vector)의 곱의 결과는 벡터다. 아울러 이 곱셈을 일반형으로 기술할 대 붙인 색인에 주목하자.



좌표계의 변환(Coordinate Transformation)은 기저벡터의 선형합이다. 이때 원 기저벡터의 계수(스케일 값)을 변환 행렬로 표현 하면 다음과 같다.



좌표변환은 변환행렬과 원 기저벡터의 행렬곱셈이 아니라는 점에 주의하자. 굳이 행렬 곱으로 표현하자면 변환행렬의 트랜스포스와의 곱이다.



이번 동영상 강의에서도 좌표변환의 기저벡터 선형 합과 행렬 곱을 혼돈하여 수정편이 마련되었다. 이렇게 혼란스럽게 굳이 행렬로 표시하려는 이유는 변형된 좌표계 사이의 성분 계산을 비롯한 여러 계산에 유리하기 때문이다. 이에 관해 차례로 배우게 될 것이다.

-----------------------------------------------
[이전] 0. 텐서의 정의(Tensor definition)
[다음] 2. 벡터의 정의(Vector Definition)

------------------------------------
[구구단만 알아도 '텐서']
-1. 동기(Motivation)
0. 텐서의 정의(Tensor Definition)
1. 정역방향 변환(Forward and Backward Transformation)
2 벡터의 정의(Vector Definition)
3. 벡터 변환 규칙(Vector Transformation Rules)
4. 여벡터 란?(What's a Covector?)
5. 여벡터 성분(Covector components)
6. 여벡터 변환 규칙(Covector Transformation Rules)
7. 선형 사상(Linear Maps)
8. 선형사상 변환규칙(Linear Map Transformation Rules)
9. 측량 텐서(Metric Tensor)
10. 쌍선형 형식(Bilinear Form)
11. 선형사상은 벡터-여벡터의 짝(Linear-Maps are Vector-Covector Pair)
12. 쌍선형 형식은 여벡터-여벡터 짝(Bilinear Forms are Covector-Covector Pairs)
13. 텐서 곱 vs. 크로네커 곱(Tensor Product vs. Kronecker Product)
14. 텐서는 벡터-여벡터 조합의 일반형(Tensors are a general vector-covector combinations)
15. 텐서 곱 공간(Tensor Product Spaces)
16. 색인 올림과 내림(Raising/Lowering Indexes)
-------------------------

댓글 없음:

댓글 쓰기