Lí thuyết phạm trù - Hàm tử
Như chúng ta đã thấy trong Ví dụ 3 trong bài blog trước, ta có thể xem một hàm tử (functor) như một mũi tên/cấu xạ giữa hai phạm trù (category).
…mọi phép ẩn dụ (analogy) đủ tốt đều “khao khát” trở thành một hàm tử.
John Baez
Hàm tử là gì?
Nói đúng hơn, một hàm tử
$$F: \mathsf{C} \to \mathsf{D}$$từ phạm trù $\mathsf{C}$ đến phạm trù $\mathsf{D}$ bao gồm một số dữ kiện (data) thỏa mãn các tính chất nhất định.
Dữ kiện
- Tồn tại vật (object) $F(x)$ nào đó trong $\mathsf{D}$ ứng với mỗi vật $x$ trong $\mathsf{C}$.
- Tồn tại cấu xạ (morphism) $$F(f): F(x) \to F(y)$$ nào đó trong $\mathsf{D}$ ứng với mỗi cấu xạ $$f: x \to y$$ trong $\mathsf{C}$.
Các tính chất (properties)
- Cấu xạ $F$ bảo toàn (respect) phép hợp thành (composition), nghĩa là $$F(g \circ f) = F(g) \circ F(f)$$ trong $\mathsf{D}$ nếu $g$ và $f$ là các cấu-xạ hợp-thành-được (composable morphisms) trong $\mathsf{C}$.
- Với mọi $x$ trong trong $\mathsf{C}$, $F$ ánh xạ các cấu xạ đồng nhất (identity morphisms) $id_x$ trong $\mathsf{C}$ đến các cấu xạ đồng nhất $id_{F(x)}$ trong $\mathsf{D}$, nghĩa là $$F(id_x) = id_{F(x)}.$$
Ví dụ 1: Hàm tử giữa các nhóm (groups)
$$F: \mathsf{B}G \to \mathsf{B}H$$sẽ trông như thế nào?
$$F(g \circ g') = F(g) \circ F(g')$$với mọi phần tử nhóm $g, g’ \in G$. Và cuối cùng, nếu $e$ là kí hiệu cho cấu xạ đồng nhất trên $\textcolor{#FF1394}{∙}$ (tức là phần tử đơn vị trong $G$), thì chúng ta phải có $F(\textcolor{#FF1394}{e}) = \textcolor{#01BFFE}{e}$, với $\textcolor{#01BFFE}{e}$ là cấu xạ đồng nhất trên $\textcolor{#01BFFE}{∙}$ (tức là phần tử đơn vị trong $H$).
Vậy hàm tử $F: \mathsf{B}G \to \mathsf{B}H$ là gì? Nó chính xác là một đồng cấu nhóm (group homomorphism) từ $G$ đến $H$!
Trong ví dụ này, một hàm tử chỉ là một hàm số (và hàm số này tương thích (compatible) với cấu trúc nhóm (group structure)). Nhưng điều gì xảy ra nếu tập nguồn/tập đích của hàm tử có nhiều hơn một vật?
Ví dụ 2: Nhóm cơ bản (fundamental group)
$$\pi_1: \mathsf{Top} \to \mathsf{Group}$$$$f: X \to Y$$$$\pi_1(f): \pi_1(X) \to \pi_1(Y).$$*Thực ra, chúng là các không gian topo có điểm cơ sở (pointed topological spaces), tức là các không gian kèm theo một điểm được chọn trước đó, gọi là điểm cơ sở, nhằm mục đích phân biệt các không gian đó với nhau. Vì vậy, $\pi_1$ thực sự là từ $\mathsf{Top}^{\star}$ sang $\mathsf{Group}$, trong đó $\mathsf{Top}^{\star}$ biểu thị phạm trù của các không gian có điểm cơ sở với các cấu xạ chính là các ánh xạ bảo toàn điểm cơ sở (basepoint-preserving maps).
Các phần tử của $\pi_1(X)$ là (các lớp đồng luân (homotopy classes) của) các ánh xạ từ đường tròn (circle) vào không gian $X$. Nếu bạn không quen với cụm từ “các lớp đồng luân” thì cũng không cần phải quá lo lắng. Bạn chỉ cần biết rằng $\pi_1$ là một “công cụ dò tìm lỗ” (hole detector) — nó theo dõi (track) các đường cong kín (còn gọi là “vòng” - loop) khác nhau trong $X$. Việc biết rằng $\pi_1$ là một hàm tử cho phép bạn chứng minh những điều thú vị như định lí điểm bất động Brouwer (Brouwer’s fixed-point theorem). Ví dụ, hãy xem chứng minh của Định lí 1.3.3 tại đây.
Hóa ra một nhóm cơ bản là một bất biến (invariant) của không gian topo. Nói cách khác, nếu $X$ và $Y$ là các không gian đồng phôi (homeomorphic spaces), thì các nhóm cơ bản của chúng là đồng cấu (isomorphic). (Thậm chí câu này vẫn đúng nếu chúng ta thay “đồng phôi” bằng “đồng luân”, đây là một khái niệm tương tự như khái niệm “giống nhau” nhưng là một phiên bản “yếu” hơn.) Điều này cho phép ta chúng ta phân biệt các không gian theo cách khá tiện lợi: nếu $X$ và $Y$ có các nhóm cơ bản không đồng cấu (non-isomorphic fundamental groups), thì $X$ và $Y$ chắc chắn là khác nhau về mặt topo.
$$\pi_n: \mathsf{Top} \to Group$$$$F: C \to D$$ánh xạ $X$ đến $\pi_n(X)$, và một cách không chính thức, nhóm này là nhóm có các phần tử là các ánh xạ từ hình cầu $n$-chiều ($n$-dimensional sphere) vào $X$. Các nhóm $\pi_n(X)$ với $n > 1$ được gọi là các nhóm đồng luân cao hơn (higher homotopy groups) của $X$. Và khi $X$ là một hình cầu, thì có nhiều điều kì lạ và thú vị xảy ra.)
cứ như đang mã hóa (encode) một bất biến của cái gì đó lại khá hữu ích.
Bởi, nếu hai vật $x$ và $y$ là “giống nhau” trong $\mathsf{C}$, thì $F(x)$ và $F(y)$ cũng phải “giống nhau” trong $\mathsf{D}$. Khi dùng từ “giống nhau” ở đây, tôi thực sự đang nói về khái niệm đẳng cấu:
$$f: x \to y$$$$g: y \to x$$sao cho $g \circ f = id_x$ và $f \circ g = id_y$.
Các đẳng cấu trong $\mathsf{Set}$ được gọi là song ánh (bijections), các đẳng cấu trong $\mathsf{Top}$ được gọi là đồng phôi (homeomorphisms), các đẳng cấu trong $\mathsf{Man}$ (phạm trù của các đa tạp trơn (smooth manifolds) và các ánh xạ trơn (smooth maps)) được gọi là vi phôi (diffeomorphisms), các đẳng cấu trong $\mathsf{Vect}_\mathbb{k}$ (phạm trù của các không gian vector-$\mathbb{k}$ với các biến đổi tuyến tính (linear transformation)) được gọi bằng chính cái tên đẳng cấu, và còn nhiều ví dụ nữa.**
**Sự thật thú vị: Các phạm trù trong đó mọi cấu xạ đều là đẳng cấu có tên gọi đặc biệt: Phỏng nhóm (groupoid - tên gọi này có nghĩa là “thứ gì đó na ná như một nhóm”). Mọi nhóm đều chính xác là một phỏng nhóm một vật (one-object groupoid). Và đúng vậy! Thực sự có tồn tại phỏng nhóm cơ bản của một không gian topo! Có thể chúng ta sẽ trò chuyện về nó trong một bài viết tương lai….
Vì vậy, chúng ta có thể diễn đạt lại câu trên một cách chính thức hơn: “Nếu $f$ là một đẳng cấu giữa $x$ và $y$, thì $F(f)$ là một đẳng cấu giữa $F(x)$ và $F(y)$.” (Chứng minh không khó - nó có thể được suy ra trực tiếp từ các định nghĩa!) Hoặc, đơn giản hơn, các hàm tử bảo toàn (preserve) các đẳng cấu.
Ví dụ 3: quy tắc xích (chain rule)
Đặt $\mathsf{E}$ là một phạm trù mà các vật của nó là các không gian Euclid (Euclidean spaces) $\mathbb{R}$, $\mathbb{R}^2$, $\mathbb{R}^3$, $\dots$, $\mathbb{R}^n$, $\dots$ và giả sử mỗi không gian có một điểm đặc biệt của riêng nó. Nghĩa là, một vật sẽ không chỉ là không gian $\mathbb{R}^n$ đơn thuần, mà sẽ là $\mathbb{R}^n$ cùng với một điểm cơ sở (basepoint) $x_0$; với $x_0$ là một vector $n$ chiều bạn có thể chọn tuỳ thích. Trong phạm trù này, các cấu xạ $\mathbb{R}^n \xrightarrow{f} \mathbb{R}^m$ là các hàm khả vi (differentiable functions) bảo toàn điểm cơ sở: nếu $y_0$ là điểm cơ sở trong $\mathbb{R}^m$ và $x_0$ là điểm cơ sở trong $\mathbb{R}^n$, thì $f(x_0) = y_0$.
$$n \to m$$là một ma trận kích cỡ $m \times n$ với các phần tử là số thực. Nói cách khác, có một mũi tên từ $n$ đến $m$ ứng với mỗi ma trận như vậy. Ở đây, phép hợp thành của các cấu xạ tương ứng với phép nhân ma trận.
Giả sử, ta định nghĩa $D : E \to M$ như sau:
- Với các vật trong $E$, $D$ sẽ ánh xạ không gian $\mathbb{R}^n$ đến số chiều $n$ của nó.
- Với các cấu xạ trong $E$: $D$ sẽ ánh xạ một hàm khả vi $$f : \mathbb{R}^n \to \mathbb{R}^m$$ đến ma trận Jacobi (Jacobian matrix) kích thước $m \times n$ tại $x_0 \in \mathbb{R}^n$.
trong đó
- $f_i$ là hàm thành phần thứ $i$ của $f = (f_1, f_2, \dots, f_m)$,
- và $x_j$ là cơ sở chuẩn tắc thứ $j$ ($j$-th standard basis) của $\mathbb{R}^n$.
Bây giờ, liệu $D$ có phải là một hàm tử không? Nếu có, thì nó phải bảo toàn phép hợp thành. Ta hãy thử kiểm tra.
Giả sử $\mathbb{R}^m \xrightarrow{g} \mathbb{R}^k$ là một hàm khả vi nào đó khác bảo toàn điểm cơ sở. Liệu đẳng thức sau có đúng không?
Tất nhiên là đúng! Đây chính là quy tắc xích (chain rule) trong giải tích đa biến! Để tìm ma trận Jacobi của $g \circ f$ tại $x_0$, chúng ta chỉ cần nhân ma trận Jacobi của $f$ tại $x_0$ với ma trận Jacobi của $g$ tại $f(x_0)$ từ bên trái. Và trong trường hợp đặc biệt khi $n = m = 1$, chúng ta thu được phương trình quen thuộc trong trường hợp đơn biến.
Thử kiểm tra nhanh sẽ thấy rằng: nếu $\mathbb{R}^n \xrightarrow{f} \mathbb{R}^n$ là hàm đồng nhất (identity function), thì $Df \vert_{x_0}$ thực sự là ma trận đơn vị (identity matrix) kích thước $n \times n$.
Vậy là, theo kiến thức phương pháp tính (calculus) đã biết, $D$ của chúng ta thực sự là một hàm tử.
Ví dụ 4: hàm tử phản biến (contravariant functors)
$$F : \mathsf{Vect}_\mathbb{k} \to \mathsf{Vect}_\mathbb{k},$$trong đó $\mathsf{Vect}_\mathbb{k}$
- bao gồm tất cả các không gian vector (vector spaces) trên một trường (field) $\mathbb{k}$, và
- các cấu xạ chính là các phép biến đổi tuyến tính (linear transformations).
Hàm tử $F$ sẽ
- ánh xạ một không gian vector $V$ tới $\text{hom}(V, \mathbb{k})$, và
- ánh xạ không gian của các hàm tuyến tính từ $V$ tới $\mathbb{k}.$
Không gian các ánh xạ này được gọi là không gian đối ngẫu (dual space) của $V$ và đôi khi được kí hiệu là $V^*$. Bạn nghĩ hàm tử này sẽ làm gì với các cấu xạ? Tức là, với một ánh xạ tuyến tính $V \xrightarrow{f} W$, chúng ta có thể tạo ra một ánh xạ $F(f)$ giữa $\text{hom}(V, \mathbb{k})$ và $\text{hom}(W, \mathbb{k})$ như thế nào?
$$F(f) : \text{hom}(V, \mathbb{k}) \to \text{hom}(W, \mathbb{k})$$$$f : V \to W$$theo một cách nào đó. Tôi không chắc liệu có cách nào để làm được điều này không — các mũi tên dường như không khớp nhau.
$$\phi : W \to k,$$thì chúng ta có thể thu được một phép biến đổi tuyến tính trên $V$ bằng cách tiền hợp (precompose) với $f$!
$$\phi : W \to k$$$$\phi \circ f : V \to k,$$$$f^*(\phi) = \phi \circ f.$$Bạn có thấy phép gán $F$ này đảo ngược chiều mũi tên không?
$$F : \mathsf{C}^{op} \to \mathsf{D}$$$$F(f \circ g) = F(g) \circ F(f)$$với $f$ và $g$ là các cấu xạ hợp thành được trong $\mathsf{C}$.
$$F : \mathsf{Vect}_\mathbb{k} \to \mathsf{Vect}_\mathbb{k}$$mà chúng ta đã định nghĩa ở trên thực sự là một hàm tử phản biến hay không. (Trong phần ngay trên, ta chỉ mới bàn về tác động của nó lên các vật và cấu xạ mà chưa kiểm tra xem liệu nó có thỏa mãn các tính chất của một hàm tử hay không.)
Ví dụ 5: hàm tử biểu diễn được (representable functors)
Nếu bạn có chút kinh nghiệm với topo, thì có thể bạn sẽ thích ví dụ cuối cùng này:
Một hàm tử phản biến $\mathscr{O}$ từ $\mathsf{Top}^{op}$ đến $\mathsf{Set}$
-
gán mỗi không gian topo $X$ với một tập hợp $\mathscr{O}(X)$ gồm các tập con mở (open subsets) của $X$.
-
$$f^{-1} : \mathscr{O}(Y) \to \mathscr{O}(X),$$
trong đó $f^{-1}$ là một hàm ánh xạ một tập mở $U$ trong $Y$ đến một tập mở $f^{-1}(U)$ trong $X$. (Ta biết $f^{-1}(U)$ là tập mở là bởi $f$ là một hàm liên tục!)
được coi là biểu diễn được (representable) nếu tồn tại một vật $c$ trong $\mathsf{C}$ sao cho với mọi vật $x$ trong $\mathsf{C}$, các phần tử của $F(x)$ thực chất là các ánh xạ $x \to c$ (hoặc $c \to x$, tùy thuộc vào “sự biến dạng” (variance) của $F$). Trong trường hợp này, chúng ta nói rằng $F$ được biểu diễn bởi vật $c$.
$$X \to S$$đều có một tương ứng một-một với các tập con mở của $X$.
Vậy đó, đây chính là cách nói rằng $\mathscr{O}$ là một hàm tử biểu diễn được, và nó được biểu diễn bởi không gian Sierpinski duy nhất! Ai mà ngờ rằng hai điểm nhỏ bé lại có thể đặc biệt đến vậy?
Thật thú vị, đúng không?
Tôi rất muốn nói thêm về tính biểu diễn được, nhưng để làm được điều đó, trước tiên chúng ta cần hiểu về các phép biến đổi tự nhiên. Và đó sẽ là chủ đề của bài tiếp theo!
Tham khảo
-
Tai-Danae Bradley. (2017, Janary 31). What is a Functor? Definitions and Examples, Part 1 Math3ma. https://www.math3ma.com/blog/what-is-a-functor-part-1
-
Tai-Danae Bradley. (2017, February 2). What is a Functor? Definitions and Examples, Part 2 Math3ma. https://www.math3ma.com/blog/what-is-a-functor-part-2