Qaether 연구일지

Chain, Cochain, Homology, Cohomology 입문 본문

기존 이론

Chain, Cochain, Homology, Cohomology 입문

Qaether Theory 2026. 3. 8. 19:52

1. 가장 먼저: 우리는 무엇을 하고 싶은가?

어떤 도형이 있다고 합시다.

예를 들면

  • 점과 점을 잇는 선분
  • 선분들이 둘러싸는 삼각형, 사각형

이런 것들로 이루어진 도형입니다.

수학에서는 이런 조각들을 가지고 도형을 기록합니다.

  • 점 = 0차원 조각
  • 선분 = 1차원 조각
  • 면(삼각형, 사각형) = 2차원 조각

이런 조각들을 모아놓은 것을 아주 거칠게 말하면 cell complex라고 생각하면 됩니다.

2. 왜 점, 선, 면을 따로 보나?

도형을 볼 때 그냥 “모양”만 보는 게 아니라,

  • 어떤 점들이 있는지
  • 어떤 선들이 있는지
  • 어떤 면들이 있는지
  • 무엇이 무엇의 경계인지

를 알고 싶기 때문입니다.

예를 들어 삼각형 하나가 있으면:

  • 꼭짓점 3개
  • 변 3개
  • 면 1개

가 있고, 그 면의 경계는 변 3개입니다.

즉, 큰 조각은 작은 조각들로 둘러싸여 있다는 관계가 중요합니다.

3. chain이란 무엇인가?

이제 핵심으로 갑니다.

chain은 “점들, 선들, 면들을 형식적으로 더한 것”입니다.

이 말이 처음엔 너무 이상하게 들립니다. 그래서 아주 쉬운 예를 보죠.

선분이 세 개 있다고 합시다:

$$
e_1, e_2, e_3
$$

그러면

$$
e_1 + e_2
$$

는 “첫 번째 선분과 두 번째 선분을 함께 본다”는 뜻입니다.

$$
e_1 - e_2
$$

도 쓸 수 있습니다.

이건 단순히 숫자 계산이라기보다, “부호를 붙여서 선분들을 기록한다”는 뜻입니다.

즉, chain은 대충 이렇게 생각하면 됩니다:

  • 0-chain: 점들을 모아서 적은 것
  • 1-chain: 선분들을 모아서 적은 것
  • 2-chain: 면들을 모아서 적은 것

4. 왜 굳이 더하나?

좋은 질문입니다. 그냥 집합처럼 “이 선분들과 저 선분들”이라고 말하면 되지 않나 싶죠.

그런데 수학에서는 더하기를 도입하면 아주 편해집니다.

왜냐하면

  • 여러 조각을 한꺼번에 다룰 수 있고
  • 경계를 계산할 수 있고
  • 어느 부분이 상쇄되는지도 볼 수 있기 때문입니다.

예를 들어 어떤 닫힌 고리를 따라 선분들을 차례로 더하면, 그 고리 전체를 하나의 1-chain으로 표현할 수 있습니다.

5. orientation(방향)은 왜 필요한가?

선분에는 방향을 줄 수 있습니다.

예를 들어 두 점 $A$, $B$를 잇는 선분이 있으면

  • $A \to B$
  • $B \to A$

는 같은 선분이지만 방향이 반대입니다.

수학에서는 이 둘을 구분합니다.

그래서 보통

$$
[B,A] = -[A,B]
$$

처럼 생각합니다.

즉, 방향을 뒤집으면 부호가 바뀝니다.

면도 마찬가지입니다. 삼각형 둘레를 시계방향으로 돌지, 반시계방향으로 돌지 정할 수 있습니다.

이 방향 정보가 있어야 나중에 경계(boundary)를 정확히 계산할 수 있습니다.

6. boundary(경계)란 무엇인가?

이제 아주 중요한 개념입니다.

경계는 말 그대로 “둘레”입니다.

예를 들어:

  • 선분의 경계 = 양 끝점 2개
  • 삼각형 면의 경계 = 세 변
  • 사각형 면의 경계 = 네 변

수학적으로는 boundary 연산자를 보통 $\partial$라고 씁니다.

예 1: 선분의 경계

선분 $e=[A,B]$가 있으면

$$
\partial e = B - A
$$

입니다.

왜 이렇게 쓰냐면, 끝점 $B$는 도착점이라 $(+)$, 시작점 $A$는 출발점이라 $(-)$입니다.

예 2: 삼각형의 경계

삼각형 면 $[A,B,C]$가 있으면 경계는 세 변입니다.

대충

$$
\partial [A,B,C] = [B,C] - [A,C] + [A,B]
$$

처럼 됩니다.

정확한 부호 규칙은 나중에 익혀도 됩니다. 지금은 그냥 “면의 경계는 그 둘레를 이루는 변들의 합”이라고 이해하면 충분합니다.

7. chain을 왜 배우는가?

chain을 배우는 이유는 도형 속의 “길”, “고리”, “표면”을 대수적으로 적고 싶기 때문입니다.

예를 들어 어떤 선분들을 이어서 닫힌 고리를 만들었다고 합시다.

그 고리를 $c$라고 하면, 고리는 시작점과 끝점이 없으므로 경계가 없습니다.

즉,

$$
\partial c = 0
$$

입니다.

이런 것은 아주 중요합니다. 왜냐하면 “구멍”과 관련이 있기 때문입니다.

8. cycle이란 무엇인가?

cycle은 경계가 0인 chain입니다.

즉,

$$
\partial c = 0
$$

이면 $c$를 cycle이라고 합니다.

쉽게 말해:

  • 끊어진 끝이 없는 것
  • 닫힌 고리
  • 닫힌 면의 조합

같은 것입니다.

예를 들어 원 둘레를 따라 한 바퀴 도는 1-chain은 cycle입니다.

9. boundary와 cycle의 차이는?

이 둘은 아주 비슷하지만 다릅니다.

  • boundary: 더 높은 차원 조각의 경계로 나온 것
  • cycle: 경계가 0인 것

예를 들어 삼각형의 둘레는 cycle입니다. 왜냐하면 닫혀 있으니까요.

그런데 동시에 그것은 삼각형 면 하나의 boundary이기도 합니다.

즉, 삼각형 둘레는

  • cycle이면서
  • boundary입니다.

하지만 어떤 도형에서는 닫힌 고리가 있어도 그것이 어떤 면의 경계가 아닐 수 있습니다.

예를 들어 도넛 모양의 구멍 둘레를 도는 고리는 닫혀 있지만, 안을 메우는 면이 없을 수 있습니다.

이 차이가 나중에 homology로 갑니다.

10. 그럼 cochain은 뭔가?

이제 cochain으로 넘어갑니다.

chain은 “조각들을 모아서 적은 것”이었습니다.

반대로 cochain은 “각 조각에 값을 붙이는 것”입니다.

예를 들어 각 edge마다 숫자를 하나 준다고 합시다.

  • $e_1$에는 2
  • $e_2$에는 -1
  • $e_3$에는 5

이렇게 edge마다 값을 붙이는 것이 1-cochain입니다.

마찬가지로

  • 각 점에 값을 주면 0-cochain
  • 각 선분에 값을 주면 1-cochain
  • 각 면에 값을 주면 2-cochain

11. chain과 cochain의 차이를 직관적으로

이 구분이 제일 중요합니다.

chain

도형의 조각 자체를 모은 것

예:

  • “이 점들과 저 점들”
  • “이 변들과 저 변들”
  • “이 면들과 저 면들”

cochain

각 조각 위에 숫자나 위상 같은 데이터를 얹은 것

예:

  • 각 점의 온도
  • 각 edge의 전위차
  • 각 face의 flux
  • 각 edge의 phase

즉,

  • chain = 도형 쪽
  • cochain = 도형 위의 데이터 쪽

입니다.

12. 왜 cochain이 필요한가?

현실이나 물리에서는 종종 도형 자체보다 그 위에 얹힌 값이 중요합니다.

예를 들어:

  • 각 점에 전위
  • 각 edge에 위상차
  • 각 face에 자기 flux

이런 데이터는 chain이 아니라 cochain으로 표현하는 게 자연스럽습니다.

당신이 말한

$$
\theta_e \in \mathbb{R}/2\pi\mathbb{Z}
$$

처럼 각 edge에 phase를 붙이는 것은 딱 1-cochain입니다.

13. cochain에도 미분 비슷한 것이 있다: coboundary

chain에는 boundary $\partial$가 있었습니다.

cochain에는 그 짝으로 coboundary $\delta$가 있습니다.

이건 “아래 차원에 준 값으로부터 위 차원에서의 합을 만드는 것”입니다.

예: 0-cochain에서 1-cochain으로

각 점에 값 $u$를 준다고 합시다.

그러면 edge $[A,B]$에서

$$
(\delta u)([A,B]) = u(B)-u(A)
$$

라고 할 수 있습니다.

즉, 꼭짓점 값의 차이입니다.

이건 아주 자연스럽죠. 점마다 값을 알면, 선분을 따라 얼마나 변하는지 계산할 수 있습니다.

예: 1-cochain에서 2-cochain으로

각 edge에 값 $\theta$를 준다고 합시다.

그럼 어떤 face $f$에 대해

$$
(\delta \theta)(f)
$$

는 그 face의 경계를 따라 edge 값들을 부호를 붙여 더한 것입니다.

즉, 면의 둘레를 한 바퀴 돌면서 edge 값들을 합한 것 입니다.

이게 당신이 말한 closure sum과 거의 같은 것입니다.

14. 아주 쉬운 그림적 이해

삼각형의 세 변에 숫자가 있다고 합시다.

  • 첫 번째 변: $a$
  • 두 번째 변: $b$
  • 세 번째 변: $c$

그러면 그 삼각형 face에 대해

$$
(\delta\theta)(f) = a+b+c
$$

비슷한 꼴이 됩니다. 정확히는 orientation 때문에 부호가 붙을 수 있습니다.

이 값이 0이면 “한 바퀴 돌아서 다시 원래로 왔다”는 식의 closure가 성립합니다.

15. cocycle은 뭔가?

cochain $\varphi$가 있을 때

$$
\delta\varphi = 0
$$

이면 cocycle이라고 합니다.

쉽게 말하면 한 단계 위 셀에서 보았을 때, 둘레를 따라 합하면 0이 된다는 뜻입니다.

예를 들어 edge phase $\theta$에 대해 모든 face에서

$$ 
(\delta\theta)(f)=0
$$

이면 $\theta$는 1-cocycle입니다.

즉, 모든 face에서 closure가 맞습니다.

16. coboundary는 뭔가?

어떤 cochain이 사실 더 낮은 차원의 값에서 나온 것일 수 있습니다.

예를 들어 꼭짓점 값 $u$가 있고,

$$
\theta = \delta u
$$

이면 $\theta$는 coboundary입니다.

뜻은:

  • edge에 붙은 값 $\theta$가 사실
  • vertex 값의 차이일 뿐이다

입니다.

즉, $\theta$는 독립적인 데이터가 아니라 더 근본적인 vertex 함수 $u$에서 왔다는 뜻입니다.

17. homology는 왜 나오는가?

이제 chain 쪽 이야기를 마무리해봅시다.

chain 쪽에서는

  • cycle: $\partial c = 0$
  • boundary: $c = \partial d$

를 비교합니다.

그리고 cycle인데 boundary는 아닌 것을 구분합니다. 이게 homology입니다.

직관적으로는

  • 닫혀 있는데
  • 어떤 더 높은 차원 조각의 경계는 아닌 것

즉, 도형의 진짜 구멍을 나타냅니다.

18. cohomology는 왜 나오는가?

cochain 쪽에서는

  • cocycle: $\delta\varphi = 0$
  • coboundary: $\varphi = \delta\psi$

를 비교합니다.

그리고 cocycle인데 coboundary는 아닌 것을 구분합니다. 이게 cohomology입니다.

직관적으로는

  • 국소적으로는 잘 맞는데
  • 전역적으로는 어떤 더 기본적인 함수에서 오지 않는 데이터

를 나타냅니다.

19. homology와 cohomology를 한 문장씩

homology

도형 안의 구멍을 찾는 도구

cohomology

도형 위에 얹힌 데이터의 전역적 꼬임을 찾는 도구

20. 가장 쉬운 예 하나: 원 ($S^1$)

원을 생각합시다.

chain 관점

원을 따라 한 바퀴 도는 1-chain이 있습니다. 이건 닫혀 있으므로 cycle입니다.

그런데 원판이 같이 붙어 있지 않다면, 이 고리는 어떤 2차원 면의 boundary가 아닙니다.

그래서 이 원은 “구멍 하나”를 가집니다. 이게 homology가 보는 것입니다.

cochain 관점

원 위의 edge들에 값을 붙입니다.

그 값들이 국소적으로는 잘 맞을 수 있지만, 전역적으로 어떤 vertex 함수의 차이로는 표현되지 않을 수 있습니다.

그런 남는 전역 정보가 cohomology입니다.

21. 지금 단계에서 꼭 기억할 최소 핵심

딱 이것만 먼저 잡아도 됩니다.

도형 조각

  • 점: 0-cell
  • 선분: 1-cell
  • 면: 2-cell

chain

조각 자체를 형식적으로 더한 것

boundary ($\partial$)

그 조각의 경계

cycle

경계가 0인 chain

cochain

각 조각에 값을 붙이는 것

coboundary ($\delta$)

붙인 값들을 경계 따라 합하는 것

cocycle

그 합이 0이 되는 cochain

22. 정말 짧게 비유하면

  • chain = 레고 블록 자체를 모아놓은 것
  • cochain = 각 블록에 숫자 스티커를 붙인 것
  • boundary = 큰 블록의 테두리
  • coboundary = 테두리를 따라 숫자를 합한 것
  • homology = 블록 구조의 구멍
  • cohomology = 숫자 배치의 전역적 꼬임

23. 마지막으로, 어디서 제일 많이 막히는가?

처음 배우는 사람이 가장 자주 헷갈리는 건 보통 세 가지입니다.

(1) chain은 “도형”이고 cochain은 “도형 위 값”이다

이걸 먼저 분리해야 합니다.

(2) boundary와 coboundary는 서로 반대편 개념이다

  • boundary는 셀의 경계를 내려감
  • coboundary는 값의 합을 한 단계 올려서 계산함

(3) homology와 cohomology는 완전히 다른 말이 아니라 서로 짝이다

  • homology는 chain 쪽
  • cohomology는 cochain 쪽