#!if 넘어옴1 != null
''''''{{{#!if 넘어옴2 == null
{{{#!if 넘어옴1[넘어옴1.length - 1] >= 0xAC00 && 넘어옴1[넘어옴1.length - 1] <= 0xD7A3
{{{#!if ((넘어옴1[넘어옴1.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴1[넘어옴1.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴1[넘어옴1.length - 1] < 0xAC00 || 넘어옴1[넘어옴1.length - 1] > 0xD7A3
은(는)}}}}}}{{{#!if 넘어옴2 != null
, ''''''{{{#!if 넘어옴3 == null
{{{#!if 넘어옴2[넘어옴2.length - 1] >= 0xAC00 && 넘어옴2[넘어옴2.length - 1] <= 0xD7A3
{{{#!if ((넘어옴2[넘어옴2.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴2[넘어옴2.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴2[넘어옴2.length - 1] < 0xAC00 || 넘어옴2[넘어옴2.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴3 != null
, ''''''{{{#!if 넘어옴4 == null
{{{#!if 넘어옴3[넘어옴3.length - 1] >= 0xAC00 && 넘어옴3[넘어옴3.length - 1] <= 0xD7A3
{{{#!if ((넘어옴3[넘어옴3.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴3[넘어옴3.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴3[넘어옴3.length - 1] < 0xAC00 || 넘어옴3[넘어옴3.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴4 != null
, ''''''{{{#!if 넘어옴5 == null
{{{#!if 넘어옴4[넘어옴4.length - 1] >= 0xAC00 && 넘어옴4[넘어옴4.length - 1] <= 0xD7A3
{{{#!if ((넘어옴4[넘어옴4.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴4[넘어옴4.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴4[넘어옴4.length - 1] < 0xAC00 || 넘어옴4[넘어옴4.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴5 != null
, ''''''{{{#!if 넘어옴6 == null
{{{#!if 넘어옴5[넘어옴5.length - 1] >= 0xAC00 && 넘어옴5[넘어옴5.length - 1] <= 0xD7A3
{{{#!if ((넘어옴5[넘어옴5.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴5[넘어옴5.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴5[넘어옴5.length - 1] < 0xAC00 || 넘어옴5[넘어옴5.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴6 != null
, ''''''{{{#!if 넘어옴7 == null
{{{#!if 넘어옴6[넘어옴6.length - 1] >= 0xAC00 && 넘어옴6[넘어옴6.length - 1] <= 0xD7A3
{{{#!if ((넘어옴6[넘어옴6.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴6[넘어옴6.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴6[넘어옴6.length - 1] < 0xAC00 || 넘어옴6[넘어옴6.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴7 != null
, ''''''{{{#!if 넘어옴8 == null
{{{#!if 넘어옴7[넘어옴7.length - 1] >= 0xAC00 && 넘어옴7[넘어옴7.length - 1] <= 0xD7A3
{{{#!if ((넘어옴7[넘어옴7.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴7[넘어옴7.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴7[넘어옴7.length - 1] < 0xAC00 || 넘어옴7[넘어옴7.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴8 != null
, ''''''{{{#!if 넘어옴9 == null
{{{#!if 넘어옴8[넘어옴8.length - 1] >= 0xAC00 && 넘어옴8[넘어옴8.length - 1] <= 0xD7A3
{{{#!if ((넘어옴8[넘어옴8.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴8[넘어옴8.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴8[넘어옴8.length - 1] < 0xAC00 || 넘어옴8[넘어옴8.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴9 != null
, ''''''{{{#!if 넘어옴10 == null
{{{#!if 넘어옴9[넘어옴9.length - 1] >= 0xAC00 && 넘어옴9[넘어옴9.length - 1] <= 0xD7A3
{{{#!if ((넘어옴9[넘어옴9.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴9[넘어옴9.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴9[넘어옴9.length - 1] < 0xAC00 || 넘어옴9[넘어옴9.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴10 != null
, ''''''{{{#!if 넘어옴10[넘어옴10.length - 1] >= 0xAC00 && 넘어옴10[넘어옴10.length - 1] <= 0xD7A3
{{{#!if ((넘어옴10[넘어옴10.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴10[넘어옴10.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴10[넘어옴10.length - 1] < 0xAC00 || 넘어옴10[넘어옴10.length - 1] > 0xD7A3
은(는)}}}}}} 여기로 연결됩니다. #!if 설명 == null && 리스트 == null
{{{#!if 설명1 == null
다른 뜻에 대한 내용은 아래 문서를}}}{{{#!if 설명1 != null
{{{#!html 아랍 인명}}}에 대한 내용은 [[함자(인명)]] 문서{{{#!if (문단1 == null) == (앵커1 == null)
를}}}{{{#!if 문단1 != null & 앵커1 == null
의 [[함자(인명)#s-|]]번 문단을}}}{{{#!if 문단1 == null & 앵커1 != null
의 [[함자(인명)#|]] 부분을}}}}}}{{{#!if 설명2 != null
, {{{#!html 아랍 문자의 일종인 ء}}}에 대한 내용은 [[아랍문자]] 문서{{{#!if (문단2 == null) == (앵커2 == null)
를}}}{{{#!if 문단2 != null & 앵커2 == null
의 [[아랍문자#s-|]]번 문단을}}}{{{#!if 문단2 == null & 앵커2 != null
의 [[아랍문자#|]] 부분을}}}}}}{{{#!if 설명3 != null
, {{{#!html 이름의 높임}}}에 대한 내용은 [[이름]] 문서{{{#!if (문단3 == null) == (앵커3 == null)
를}}}{{{#!if 문단3 != null & 앵커3 == null
의 [[이름#s-|]]번 문단을}}}{{{#!if 문단3 == null & 앵커3 != null
의 [[이름#|]] 부분을}}}}}}{{{#!if 설명4 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단4 == null) == (앵커4 == null)
를}}}{{{#!if 문단4 != null & 앵커4 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단4 == null & 앵커4 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명5 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단5 == null) == (앵커5 == null)
를}}}{{{#!if 문단5 != null & 앵커5 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단5 == null & 앵커5 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명6 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단6 == null) == (앵커6 == null)
를}}}{{{#!if 문단6 != null & 앵커6 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단6 == null & 앵커6 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명7 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단7 == null) == (앵커7 == null)
를}}}{{{#!if 문단7 != null & 앵커7 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단7 == null & 앵커7 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명8 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단8 == null) == (앵커8 == null)
를}}}{{{#!if 문단8 != null & 앵커8 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단8 == null & 앵커8 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명9 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단9 == null) == (앵커9 == null)
를}}}{{{#!if 문단9 != null & 앵커9 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단9 == null & 앵커9 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명10 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단10 == null) == (앵커10 == null)
를}}}{{{#!if 문단10 != null & 앵커10 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단10 == null & 앵커10 != null
의 [[#|]] 부분을}}}}}}#!if 설명 == null
{{{#!if 리스트 != null
다른 뜻에 대한 내용은 아래 문서를}}} 참고하십시오.#!if 리스트 != null
{{{#!if 문서명1 != null
* {{{#!if 설명1 != null
아랍 인명: }}}[[함자(인명)]] {{{#!if 문단1 != null & 앵커1 == null
문서의 [[함자(인명)#s-|]]번 문단}}}{{{#!if 문단1 == null & 앵커1 != null
문서의 [[함자(인명)#|]] 부분}}}}}}{{{#!if 문서명2 != null
* {{{#!if 설명2 != null
아랍 문자의 일종인 ء: }}}[[아랍문자]] {{{#!if 문단2 != null & 앵커2 == null
문서의 [[아랍문자#s-|]]번 문단}}}{{{#!if 문단2 == null & 앵커2 != null
문서의 [[아랍문자#|]] 부분}}}}}}{{{#!if 문서명3 != null
* {{{#!if 설명3 != null
이름의 높임: }}}[[이름]] {{{#!if 문단3 != null & 앵커3 == null
문서의 [[이름#s-|]]번 문단}}}{{{#!if 문단3 == null & 앵커3 != null
문서의 [[이름#|]] 부분}}}}}}{{{#!if 문서명4 != null
* {{{#!if 설명4 != null
: }}}[[]] {{{#!if 문단4 != null & 앵커4 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단4 == null & 앵커4 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명5 != null
* {{{#!if 설명5 != null
: }}}[[]] {{{#!if 문단5 != null & 앵커5 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단5 == null & 앵커5 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명6 != null
* {{{#!if 설명6 != null
: }}}[[]] {{{#!if 문단6 != null & 앵커6 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단6 == null & 앵커6 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명7 != null
* {{{#!if 설명7 != null
: }}}[[]] {{{#!if 문단7 != null & 앵커7 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단7 == null & 앵커7 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명8 != null
* {{{#!if 설명8 != null
: }}}[[]] {{{#!if 문단8 != null & 앵커8 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단8 == null & 앵커8 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명9 != null
* {{{#!if 설명9 != null
: }}}[[]] {{{#!if 문단9 != null & 앵커9 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단9 == null & 앵커9 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명10 != null
* {{{#!if 설명10 != null
: }}}[[]] {{{#!if 문단10 != null & 앵커10 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단10 == null & 앵커10 != null
문서의 [[#|]] 부분}}}}}}| [[범주론|'''범주론 {{{#!wiki style="font-family: Times New Roman, serif; display: inline"]] | ||
| {{{#!wiki style="min-height: calc(1.5em + 5px); margin: 0 -10px -5px" {{{#!folding [ 펼치기 · 접기 ] {{{#!wiki style="margin: -5px -1px -11px" | <colbgcolor=#2f4c52,#2f4c52><colcolor=#fff,#fff> 개념 | 범주(종류 · 여러 가지 범주) · 대상(부분 대상) · 사상(정의역과 공역 · Hom · 항등 사상 · 동형 사상) · 함자(항등 함자 · Hom-함자 · 범주의 동치) · 자연 변환(자연 동형) · 수반쌍 · 보편 성질 · 퀴버(quiver) · 자기 동형 사상군 |
| 범주의 종류 및 구성 | 곱범주 · 콤마 범주(조각 범주) · 자유 범주 · 준군(groupoid)(기본준군) · 반대 범주 · 함자 범주(화살 범주) | |
| 극한 | 다이어그램(가환 다이어그램) · 극한↔쌍대극한op · 끝↔시작op(영대상 · 영사상) · 곱↔쌍대곱op · 이퀄라이저(핵)↔코이퀄라이저op(공핵) · 당김↔밂op · 완비 범주 | |
| 하위 분야 | 범주론적 대수학 · 고차 범주론 · 풍성 범주론(enriched category theory) · 토포스 이론 · 대수적 집합론 | |
| 기타 | 교재(Categories for the Working Mathematician) · abstract nonsense · 쌍대성 | |
| 틀:수학기초론 · 틀:대수학 · 수학 관련 정보 | }}}}}}}}} | |
1. 개요
functor / 函子
범주의 구조를 보존하는 대응.
2. 정의
대상(object) 대응은 항상 같으나 사상의 경우 방향을 유지하는지, 반대로 뒤집는지에 따라 두 가지 종류가 있을 수 있다. 전자를 공변(covariant) 함자, 후자를 반변(contravariant) 함자라고 한다.범주 [math(\mathcal C)]와 [math(\mathcal D)]가 주어졌을 때, [math(\mathcal C)]에서 [math(\mathcal D)]로 가는 함자 [math(F : \mathcal C \longrightarrow \mathcal D)]는 각각 대상 간 대응 [math(F_\mathrm{Ob})]와 사상 간 대응 [math(F_\mathrm{Mor})] 두 대응으로 이루어진 순서쌍 [math(F = (F_\mathrm{Ob}, F_\mathrm{Mor}))]로 나타낼 수 있다. 편의상 범주 [math(X)] 내 모든 대상의 모임, 모든 사상의 모임을 [math(\mathrm{Ob}(X))], [math(\mathrm{Mor}(X))]로 나타낸다.
- [math(F_\mathrm{Ob})]의 경우 [math(\mathcal C)]의 각 대상 [math(A \in \mathrm{Ob}(\mathcal C))]를 [math(\mathcal D)]의 대상 [math(F_\mathrm{Ob}(A) \in \mathrm{Ob}(\mathcal D))]에 대응시키는 [math(F_\mathrm{Ob} : \mathrm{Ob}(\mathcal C) \to \mathrm{Ob}(\mathcal D))] 형태의 모임 함수(class function)이다.
- [math(F_\mathrm{Mor})]의 경우 [math(\mathcal C)]의 각 사상 [math(f \in \mathrm{Mor}(\mathcal C))]를 [math(\mathcal D)]의 사상 [math(F_\mathrm{Mor}(f) \in \mathrm{Mor}(\mathcal D))]에 대응시키며 다음을 만족하는 [math(F_\mathrm{Mor} : \mathrm{Mor}(\mathcal C) \to \mathrm{Mor}(\mathcal D))] 형태의 모임 함수(class function)이다.
- 공변: [math(\mathcal C)]의 대상 [math(A)], [math(B)]와 사상 [math(f)]에 대해 [math(f \in \mathrm{Hom}_\mathcal C(A, B))] 라면 [math(F_\mathrm{Mor}(f) \in \mathrm{Hom}_\mathcal D(F_\mathrm{Ob}(A), F_\mathrm{Ob}(B)))]이다. 즉 정의역과 공역이 [math(F_\mathrm{Ob})]에 의해 보존된다.
- 반변: [math(\mathcal C)]의 대상 [math(A)], [math(B)]와 사상 [math(f)]에 대해 [math(f \in \mathrm{Hom}_\mathcal C(A, B))] 라면 [math(F_\mathrm{Mor}(f) \in \mathrm{Hom}_\mathcal D(F_\mathrm{Ob}(B), F_\mathrm{Ob}(A)))]이다. 즉 정의역과 공역이 [math(F_\mathrm{Ob})]에 의해 보존되나, 정의역과 공역의 순서가 뒤집힌다.
다시 말해, 공변의 경우 왼쪽 다이어그램이 가환한다. 이 때 [math(\mathrm{dom}_X)], [math(\mathrm{cod}_X)]는 범주 [math(X)]의 정의역, 공역 할당을 말한다. 비슷하게 반변의 경우, 오른쪽 다이어그램이 가환한다.
|
- [math(\mathcal C)]의 대상 [math(A)]에 대해, [math(F_\mathrm{Mor}(\mathrm{id}_A) = \mathrm{id}_{F_\mathrm{Ob} A})]가 성립한다. 즉, 항등 사상이 보존된다.
즉, 아래 다이어그램이 가환한다. 여기서 [math(1_X)]는 범주 [math(X)]의 항등 사상 할당을 말한다.
{{{#!latex
\mathrm{Ob}(\mathcal C) @> 1_\mathcal C >> \mathrm{Mor}(\mathcal C) \\
@V F_\mathrm{Ob} VV @VV F_\mathrm{Mor} V \\
\mathrm{Ob}(\mathcal D) @>> 1_\mathcal D > \mathrm{Mor}(\mathcal D) \\
\end{CD}
}}}
- 사상의 합성을 보존한다. 공변과 반변은 여기서도 순서를 바꿔야 한다.
- 공변: 사상 [math(f \in \mathrm{Hom}_\mathcal C(A, B))], [math(g \in \mathrm{Hom}_\mathcal C(B, C))]에 대해 [math(F_\mathrm{Mor}(g) \circ F_\mathrm{Mor}(f) = F_\mathrm{Mor}(g \circ f))]
- 반변: 사상 [math(f \in \mathrm{Hom}_\mathcal C(A, B))], [math(g \in \mathrm{Hom}_\mathcal C(B, C))]에 대해 [math(F_\mathrm{Mor}(f) \circ F_\mathrm{Mor}(g) = F_\mathrm{Mor}(g \circ f))]
즉 합성 가능한 임의의 [math(\mathcal C)] 사상 [math(f)]와 [math(g)]에 대해서 공변은 좌측, 반변은 우측의 다이어그램이 [math(\mathcal D)]에서 가환하게 만든다.
{{{#!wiki style="text-align: center"
다시 말해 정의역과 공역의 fiber product, 즉 당김(pullback) [math(\set{ (f, g) \in \mathrm{Mor}(\mathcal C) \times \mathrm{Mor}(\mathcal C) | \mathrm{cod}_\mathcal C(f) = \mathrm{dom}_\mathcal C(g) })]를 [math(\mathrm{Mor}(\mathcal C) \times_{\mathrm{Ob}(\mathcal C)} \mathrm{Mor}(\mathcal C))]로 나타냈을 때 공변은 좌측, 반변은 우측의 다이어그램이 가환한다.[3]
\begin{CD}\mathrm{Mor}(\mathcal C) \times_{\mathrm{Ob}(\mathcal C)} \mathrm{Mor}(\mathcal C) @> \circ_\mathcal C >> \mathrm{Mor}(\mathcal C) \\
@V F_\mathrm{Mor} \times F_\mathrm{Mor} VV @VV F_\mathrm{Mor} V \\
\mathrm{Mor}(\mathcal D) \times_{\mathrm{Ob}(\mathcal D)} \mathrm{Mor}(\mathcal D) @>> \circ_\mathcal D > \mathrm{Mor}(\mathcal D) \\
\end{CD}
\quad \qquad
\begin{CD}
\mathrm{Mor}(\mathcal C^\mathrm{op}) \times_{\mathrm{Ob}(\mathcal C^\mathrm{op})} \mathrm{Mor}(\mathcal C^\mathrm{op}) @> \circ_\mathcal C^\mathrm{op} >> \mathrm{Mor}(\mathcal C^\mathrm{op}) \\
@V F_\mathrm{Mor} \times F_\mathrm{Mor} VV @VV F_\mathrm{Mor} V \\
\mathrm{Mor}(\mathcal D) \times_{\mathrm{Ob}(\mathcal D)} \mathrm{Mor}(\mathcal D) @>> \circ_\mathcal D > \mathrm{Mor}(\mathcal D) \\
\end{CD}
}}} ||
눈치챘겠지만, [math(\mathcal C \to \mathcal D)] 꼴의 contravariant functor는 사실상 [math(\mathcal C^\mathrm{op} \to \mathcal D)] 꼴의 covariant functor와 같다. [math(\mathcal C^\mathrm{op})]은 반대 범주이다.
일반적으로 별다른 조건 없이 함자라고만 하면 보통 공변 함자만을 의미한다. 위의 성질을 이용해, 공변 함자만 정의한 후 반변 함자를 반대 범주 위의 공변 함자로 정의하기도 한다.
3. 성질
- 모든 함자는 동형 사상을 보존한다. 즉, [math(f : A \to B)]가 범주 [math(\mathcal C)]에서 동형 사상이고 [math(F : \mathcal C \to \mathcal D)]가 함자라면 [math(F(f): F A \to F B)]는 동형 사상이다. 가정이 참이라면 [math(f^{-1} : B \to A)]가 존재해 [math(f^{-1} f = 1_A)], [math(f f^{-1} = 1_B)]인데 이를 [math(F)]에 넣으면 [math(F(f^{-1}) F(f) = F(1_A) = 1_{F A})], [math(F(f) F(f^{-1}) = F(1_B) = 1_{F B})]이므로 [math(F(f))]는 동형 사상이다.
4. 합성
함수의 합성과 마찬가지로, 함자 역시 자연스러운 합성을 정의할 수 있다.범주 [math(\mathcal C)], [math(\mathcal D)], [math(\mathcal E)]에 대해, [math(F : \mathcal C \to \mathcal D)], [math(G : \mathcal D \to \mathcal E)]가 각각 함자라고 하자. 이들의 합성 [math(G F : \mathcal C \to \mathcal E)]는
|
5. 범주의 동형
범주가 대상(object)에 대응되고, 함자가 그 사이 사상(morphism)에 대응되며 함자 간 합성까지 정의했다면 자연히 section, retraction, isomorphism 등의 개념을 떠올릴 수 있다.아래 정의에서 [math(1_{\mathcal C})]는 범주 [math(\mathcal C)]의 항등 함자를 뜻한다.
| [math(\mathcal C)], [math(\mathcal D)]가 범주이고 [math(F : \mathcal C \to \mathcal D)], [math(G : \mathcal D \to \mathcal C)]가 각각 함자라고 하자. 만약 [math(G F = 1_{\mathcal C})], [math(F G = 1_{\mathcal D})]가 성립한다면 두 범주가 동형(isomorphic)이라고 한다. |
좀 더 널널한 기준인 범주의 동치도 존재한다. 자세한 내용은 해당 문서 참고.
6. 종류
6.1. 항등 함자
identity functor이름과 같이 주어진 범주에서 자기 자신으로 가는 항등인 대응, 즉 모든 대상과 사상을 각각 자기 자신으로 대응시키는 함자를 말한다. 앞선 함자의 합성 연산을 생각하면 (작은(small)) 범주를 대상으로, 함자를 사상으로 가지는 Cat 등의 범주를 떠올렸을 때 항등 사상과 같은 역할을 한다.
#!if (문단 == null) == (앵커 == null)
를#!if 문단 != null & 앵커 == null
의 [[항등 함자#s-|]]번 문단을#!if 문단 == null & 앵커 != null
{{{#!if 문서명 = 문서명 != null ? 문서명 : calleeTitle
의 [[항등 함자#|]] 부분을}}} 참고하십시오.6.2. 망각 함자와 자유 함자
forgetful functor / 忘却函子, free functor / 自由函子두 범주가 있을 때, 정보가 많은 범주에서 정보가 적은 범주로 가며 어떤 성질이나 정보를 일부 상실하는 함자를 망각 함자(forgetful functor)라고 한다. 그리고 이러한 망각 함자들의 left adjoint를 자유 함자(free functor)라고 한다.
가령 가군의 범주 R-Mod에서 스칼라를 버리고 아벨군 범주 Ab로 가는 함자, 다시 아벨군의 범주에서 교환법칙을 포기하고 군의 범주 Grp로 가는 함자 등이 forgetful하다고 할 수 있다.
다만 이런 두 함자를 떠올리는 것 자체는 매우 쉽지만 아주 보편적이고 엄밀한 정의는 없다. 어떻게 정의하는지에 따라 (항등 함자를 제외한) 사실상 모든 함자가 forgetful할 수도 있기 때문. informal한 내용으로 받아들이는 것이 좋다.
6.3. 충실 함자와 충만 함자
함자가 대응시키는 사상을 각각의 국소적인 Hom에 한정해서 살펴보자. [math(F : \mathcal C \to \mathcal D)]가 범주 [math(\mathcal C)]에서 [math(\mathcal D)]로 가는 함자라면 정의상 [math(\mathcal C)]의 대상 [math(A)], [math(B)]에 대한 각각의 Hom-class [math(\mathrm{Hom}_{\mathcal C}(A, B))]의 사상은 전부 [math(\mathrm{Hom}_{\mathcal D}(F A, F B))]로 옮겨진다. 즉, 이 경우 [math(\mathcal C)]의 각 Hom-class마다 적절한 total class function이 induce된다고 생각해도 되며 이를 각각 [math(A)], [math(B)]에 대해 [math(F_{A, B})]라 하자.- [math(\mathcal C)] 내 임의의 [math(A)], [math(B)]에 대해 [math(F_{A, B})]가 전부 단사라면 [math(F)]를 충실 함자(faithful functor)라고 한다.
- [math(\mathcal C)] 내 임의의 [math(A)], [math(B)]에 대해 [math(F_{A, B})]가 전부 전사라면 [math(F)]를 충만 함자(full functor)라고 한다.
- [math(\mathcal C)] 내 임의의 [math(A)], [math(B)]에 대해 [math(F_{A, B})]가 전부 전단사라면 [math(F)]를 충실 충만 함자(fully faithful functor)라고 한다.
- [math(\mathcal D)] 내 임의의 [math(D)]에 대해 [math(\mathcal C)]의 대상 [math(C)]가 존재하여 [math(F C \cong D)]라면 [math(F)]를 본질적 전사 함자(essentially surjective)라고 한다.
이런 정의가 뜬금없어 보이지만 가장 가깝게는 범주의 동치를 다루기 위해 이런 함자의 정의가 필요하다.
범주 [math(\mathcal C)]에서 Set으로 가는 faithful functor가 존재하면 [math(\mathcal C)]를 구체적 범주(concrete category)라고 한다.
6.3.1. 성질 및 예시
- subcategory에서의 inclusion functor는 자명히 faithful하다. 또한 해당 범주가 full subcategory라면 inclusion functor 역시 fully faithful하다.
- 몫함자(quotient functor)는 항상 full functor이다. 일반적인 canonical map이 surjective인 것을 생각하면 좋다.
- fully faithful한 functor는 임의의 동형 사상을 반영(reflect)한다. 즉, [math(F : \mathcal C \to \mathcal D)]가 fully faithful functor라면 [math(F(f))]가 동형 사상일 때 [math(f)] 역시 동형 사상이라는 소리이다. [math(f : A \to B)]라 두고 [math(F(f))]가 [math(\mathcal D)]에서 동형 사상이라면 그 역 [math(g' \in \mathrm{Hom}_{\mathcal D}(F B, F A))]가 존재하며, [math(F)]가 full이라는 가정에 의해 그 preimage [math(\exists g \in \mathrm{Hom}_{\mathcal C}(B, A))]를 찾을 수 있다. 동형 사상의 조건을 [math(g)]를 사용해 다시 써보면 [math(F(g) F(f) = F(g f) = 1_{F A} = F(1_A))]이다. [math(F)]가 faithful하므로 [math(g f = 1_A)]임을 알 수 있으며, 똑같은 내용을 반대 방향에서도 하면 [math(f g = 1_B)]를 얻어 [math(f)]가 동형 사상임을 알 수 있다.
6.4. Hom-함자
이름과 같이 hom-set으로 얻어지는 함자를 말한다.#!if (문단 == null) == (앵커 == null)
를#!if 문단 != null & 앵커 == null
의 [[Hom#s-|]]번 문단을#!if 문단 == null & 앵커 != null
{{{#!if 문서명 = 문서명 != null ? 문서명 : calleeTitle
의 [[Hom#Hom-함자|Hom-함자]] 부분을}}} 참고하십시오.6.5. 쌍함자
bifunctor곱범주를 정의역으로 가지는 함자.
#!if (문단 == null) == (앵커 == null)
를#!if 문단 != null & 앵커 == null
의 [[곱범주#s-|]]번 문단을#!if 문단 == null & 앵커 != null
{{{#!if 문서명 = 문서명 != null ? 문서명 : calleeTitle
의 [[곱범주#쌍함자|쌍함자]] 부분을}}} 참고하십시오.6.6. 수반 함자
adjoint functor서로 반대 방향의 두 함자 [math(F)], [math(G)]가 있을 때 한 범주에서 [math(F (A) \to B)] 꼴의 사상을 전부 [math(A \to G (B))] 꼴의 사상으로 자연스럽게 일대일 대응시킬 수 있는 관계를 수반(adjunction)이라고 하며 이 경우 두 함자 [math(F)], [math(G)]를 수반 함자(adjoint functor)라고 한다.
#!if (문단 == null) == (앵커 == null)
를#!if 문단 != null & 앵커 == null
의 [[수반쌍#s-|]]번 문단을#!if 문단 == null & 앵커 != null
{{{#!if 문서명 = 문서명 != null ? 문서명 : calleeTitle
의 [[수반쌍#|]] 부분을}}} 참고하십시오.7. 자연 변환
natural transformation평행하는 두 함자 간 사상을 말한다. 즉, 함자가 범주들 간 사상이라면 자연 변환은 그 함자들 간 2차 사상(2-morphism)으로 볼 수 있다.
#!if (문단 == null) == (앵커 == null)
를#!if 문단 != null & 앵커 == null
의 [[자연 변환#s-|]]번 문단을#!if 문단 == null & 앵커 != null
{{{#!if 문서명 = 문서명 != null ? 문서명 : calleeTitle
의 [[자연 변환#|]] 부분을}}} 참고하십시오.8. 함자의 표현
representationlocally-small한 범주에서 Set으로 가는 함자 [math(F)]가 어떤 대상(object) [math(A)]에 대해 그 Hom-함자와 [math(F \cong \mathrm{Hom} (A, -))]라면 [math(F)]를 표현가능(representable)하다 하고 이런 대상 [math(A)]를 [math(F)]의 표현(representation)이라 한다. 쌍대적으로, [math(F : \mathcal C^\mathrm{op} \to \mathbf{Set})] 꼴의 반변 함자(contravariant functor)가 representable하다는 것은 representation [math(A)]가 존재하여 contravariant Hom-functor [math(\mathrm{Hom} (-, A))]와 자연 동형(naturally isomorphic)임을 뜻한다.
9. 예시
- 멱집합은 Set에서 자기 자신으로 가는 자기 함자(endofunctor)로, 정확히는 각 함수의 상을 잡을 경우 공변 함자가 되고 반대로 역상을 잡을 경우 반변 함자가 된다.
- 함자 [math(\mathcal P : \mathbf{Set} \to \mathbf{Set})]을 생각하자. 각 집합 [math(A)]에 대해 [math(\mathcal P A)]는 말 그대로 [math(A)]의 멱집합에 대응하며, [math(f : A \to B)]가 함수라면 [math(\mathcal P(f))]는 [math(\alpha \sub A)]에 대해 [math(\mathcal P(f)(\alpha) = f[\alpha])]인 함수라고 하자. 자연히 [math(g \circ f)]가 되는 [math(f, g)]에 대해 [math((\mathcal P(g) \circ \mathcal P(f))(\alpha) = (g \circ f)[\alpha] = \mathcal P(g \circ f)(\alpha))]이며 [math(\mathrm{id}_A)]가 [math(A)]의 항등함수라면 [math(\mathrm{id}_A[\alpha] = \alpha = \mathrm{id}_{\mathcal P A}(\alpha))]이므로 [math(\mathcal P)]는 공변 함자이다. 비슷하게 [math(\mathcal P(f)(\beta) = f^{-1}[\beta])]와 같이 정의하면 거의 똑같은 식으로 반변 함자가 됨을 보일 수 있다.
- 집합의 거듭제곱은 Set에서 자기 자신으로 가는 자기 공변 함자(covariant endofunctor)로, 임의의 양의 정수 [math(n)]에 대해 대상 [math(A)]를 [math(A^n)]으로 보내고 사상 [math(f : A \to B)]를 [math((a_1, \dots, a_n) \mapsto (f(a_1), \dots, f(a_n)))]로 주어지는 함수 [math(f_n : A^n \to B^n)]으로 대응시키면 함수의 합성의 성질에 의해 자연히 functorial함을 알 수 있다.
- 기본군(fundamental group)은 점을 보존하는 위상 공간들의 범주 [math(\mathbf{Top}_*)]에서 모든 군들의 범주 [math(mathbf{Grp})]로 가는 함자 [math(\pi_1 : \mathbf{Top}_* \to \mathbf{Grp})]로 볼 수 있다. 이 경우 대상이 위상 공간 [math(X)]와 그 내의 점 [math(x)]의 순서쌍 [math((X, x))]로 주어졌다고 하면(path-connected되지 않았다고 가정하고) 이를 공간 [math(X)]에서 점 [math(x)]의 기본군 [math(\pi_1(X, x))]로 대응시키며, 사상(morphism)이 [math((X, x))], [math((Y, y))] 사이에서 점을 보존하는 연속함수 [math(f : X \to Y)] s.t. [math(f(x) = y)]로 주어졌다고 하면 이를 기본군 준동형 사상 [math(\pi_1(f) : \pi_1(X, x) \to \pi_1(Y, y))]로 대응시킨다. 이 때 [math(\pi_1(f))]는 점 [math(x)] 위 회로 호모토피류(loop homotopy class) [math([\gamma_x : [0, 1] \to X])]가 주어졌을 때 이를 [math(f)]와 합성해 [math([\gamma_y] = [f \circ \gamma_x : [0, 1] \to Y])]로 대응시키는 함수이며, [math(f)]가 [math(x)]를 보존하므로 이와 합성한 경로들 또한 회로의 중점을 보존하고, 따라서 [math((\pi_1(f)([\alpha_x])) * (\pi_1(f)([\beta_x])) = [f \circ \alpha_x] * [f \circ \beta_x] = [f \circ \alpha_x * \beta_x] = \pi_1(f)([\alpha_x * \beta_x]))]이므로 [math(\pi_1(f))]는 각 기본군 사이의 준동형 사상임을 알 수 있다. 마지막으로 합성가능한 두 점연속사상 [math(f : (X, x) \to (Y, y))], [math(g : (Y, y) \to (Z, z))]에 대해 [math((\pi_1 (g) \circ \pi_1 (f)) ([\gamma_x]) = [g \circ f \circ \gamma_x] = (\pi_1 (g \circ f)) ([\gamma_x]))]이므로 functorial함이 보여진다.
- 준군의 자기 동형 사상군 함자
자세한 내용은 자기 동형 사상군 문서
#!if (문단 == null) == (앵커 == null) 를#!if 문단 != null & 앵커 == null 의 [[자기 동형 사상군#s-|]]번 문단을
참고하십시오.#!if 문단 == null & 앵커 != null {{{#!if 문서명 = 문서명 != null ? 문서명 : calleeTitle 의 [[자기 동형 사상군#핵에서의 함자|핵에서의 함자]] 부분을}}} - 층(대수기하학)
자세한 내용은 층(대수기하학) 문서
#!if (문단 == null) == (앵커 == null) 를#!if 문단 != null & 앵커 == null 의 [[층(대수기하학)#s-|]]번 문단을
참고하십시오.#!if 문단 == null & 앵커 != null {{{#!if 문서명 = 문서명 != null ? 문서명 : calleeTitle 의 [[층(대수기하학)#|]] 부분을}}} - 스킴(대수기하학)
자세한 내용은 스킴(대수기하학) 문서
#!if (문단 == null) == (앵커 == null) 를#!if 문단 != null & 앵커 == null 의 [[스킴(대수기하학)#s-|]]번 문단을
참고하십시오.#!if 문단 == null & 앵커 != null {{{#!if 문서명 = 문서명 != null ? 문서명 : calleeTitle 의 [[스킴(대수기하학)#|]] 부분을}}}
[1] Baez, J. C. (2004). Quantum Quandaries: a Category-Theoretic Perspective. The structural foundations of quantum gravity, p. 6[2] HCT에 업적을 남긴 수리물리학자이자 nCafe의 cofounder인 사람이다.[3] Awodey, S. (2010). Category theory (2nd ed.). Oxford University Press.