혹시라도 아래글을 안 읽었다면, 읽고오는 것을 매우 강력히 권고한다.
---------------------------------------------------------------------------------------------------------------------
모든 수학적 대상에는 그들 사이를 잇는 사상이 존재한다.
집합과 집합 사이에는 함수가 존재하며, 범주와 범주사이에는 함자가 존재한다.
그렇다면, 함자와 함자 사이에도 이들을 잇는 사상이 존재하지 않을까? 그것이 바로 자연 변환(natural transfomation)이다.
범주 C, D 사이의 두 공변 함자 F: C→D , G: C→D 에 대하여, 자연 변환 η: F → G 는 다음과 같은 데이터로 구성된다.
- 임의의 대상 X∈ob(C)에 관하여 이에 대응되는 D의 사상 ηX : F(X)→G(X)
위 데이터는 다음 조건을 만족시켜야한다.
- 임의의 사상 f: X→Y에 관하여 G(f) ∘ ηX = ηY ∘ F(f)
이해를 돕기 위해 아래 그림을 보자.

왼쪽의 화살표는 C의 사상 f: X→Y를 나타내며, 오른쪽의 두 검은색 화살표는 함자 F, G에 사상 f를 넣어서 얻은 D의 사상 F(f): F(X)→F(Y)와 G(f): G(X)→G(Y) 를 나타낸다. 파란색 화살표는 C의 각 대상 X, Y에 대응되는 자연변환의 사상 ηX : F(X)→G(X), ηY :F(Y)→G(Y)를 나타내는데, 여기서 파란색 화살표와 검은색 화살표를 연결하여 G(f)∘ηX , ηY∘F(f): F(X)→G(Y) 라는 두 사상을 얻을 수 있음을 확인 할 수 있다. 그리고 이렇게 얻은 두 사상이 똑같은 사상이어야 한다는게 바로 자연 변환의 조건이다.
더 나아가 임의의 대상 X에 대하여 대응되는 사상 ηX 가 동형사상이라면 η: F → G 를 자연동형사상이라고 하며, 두 함자 사이에 자연동형사상이 존재할 경우 두 함자를 자연 동형이라고 한다. (여기서 어떤 사상 f: X→Y가 동형사상이라는 것은 적당한 사상 g:Y → X가 존재하여 f∘g=idY , g∘f=idX 를 만족시킴을 의미한다.)
위에서는 공변 함자에 대해서만 서술하였지만, 반변 함자의 자연 변환과 자연 동형 또한 비슷한 방식으로 정의 할 수 있으며, 공변 함자와 반변 함자 사이에는 자연 변환이 정의 될 수 없다는 점을 기억하자.
자연 변환의 예시를 하나 들어보자.
먼저 체 K위의 유한차원 벡터공간을 대상으로 하고, 이들 사이의 선형사상을 사상으로 하는 범주를 K-FinVect 라고 적자. 이전 글에서 벡터공간을 그 이중쌍대공간으로 대응시키는 연산 **: V → V** 가 사실 자기 자신으로 향하는 공변 함자 (homK-Vect(-,K))2 : K-Vect → K-Vect 를 정의한다고 하였는데, 유한차원 벡터공간의 쌍대공간은 유한 차원이므로 이는 K-FinVect의 자기 함자 (homK-FinVect(-,K))2 : K-FinVect → K-FinVect 로 취급 할 수 있다. 또한 IDK-FinVect 가 모든 대상과 사상을 자기 자신으로 대응 시키는 항등 함자라고 하자. 이는 대략 벡터공간 V를 자기자신으로 대응시키는 연산으로 생각할 수 있다. 이제 자연변환 η을 다음과 같이 정의 할 수 있다.
η: IDK-FinVect → (homK-FinVect(-,K))2
ηV :V → V**
ηV :v→(f→f(v))
즉, ηV는 v∈V를 (f→f(v))∈V** 으로 대응시키는 선형사상이다. (여기서 f는 V*의 임의의 원소이다.) 이제 ηV 는 단사함수가 됨을 자명하게 알 수 있는데, 여기서 K-FinVect 의 대상은 모두 유한차원 벡터공간이므로, ηV는 자연스럽게 동형사상이 되며, 따라서 η: IDK-FinVect → (homK-FinVect(-,K))2 은 자연동형사상이라는 것을 알 수 있다. 즉, IDK-FinVect 와 (homK-FinVect(-,K))2 은 자연 동형이다. 그리고 IDK-FinVect는 벡터공간을 자기자신으로 대응시키는 연산으로 생각 할 수 있다. 즉, 벡터공간을 그 이중쌍대공간으로 대응시키는 연산 **: V → V** 은 사실 범주론적으로 자기 자신으로 대응시키는 것과 동형이며, 때문에 우리는 V** 을 V와 똑같은 것으로 취급 할 수 있는 것이다. 다만 위 자연동형은 유한차원 벡터공간의 범주인 K-FinVect 에서만 성립하며, 일반적인 벡터공간의 범주인 K-Vect에서는 성립하지 않는데에 주의하자.
------------------------------------------------------------------------------------------------------------------------
지금까지 범주, 함자, 자연 변환이라는 범주론의 핵심적인 개념 3가지에 대해 알아보았습니다. 사실 함자에 관한 글을 쓰고 진이 전부 빠져버려서 자연 변환에 대해서는 글은 좀 대충 쓴 감이 없잖아 있습니다. 잘 전달이 되었으면 좋겠는데 일단 글을 끝마친 것에 의의를 두도록 하죠. 그리고 이해를 돕기 위해 그나마 친숙한 선형대수와 연관지어서 설명을 좀 했는데, 솔직히 괜찮았는지는 잘 모르겠네요. 어쨋든 이런 부족함 많은 글을 읽어주신 분들께 정말 감사드리고, 언젠가 또 다른 글로 뵐 수 있기를 기대하겠습니다.
