<譯>有關態射的一切

上一篇:米田嵌入segmentfault

原文地址: https://bartoszmilewski.com/2...spa

若是我尚未使你已經確信範疇論就是全部和態射有關的東西,那就是個人失職。由於下一個主題是伴隨,而伴隨是用hom集的同構定義的,因此回顧一下有關hom集的那些積木是頗有意義的。並且你會看到伴隨爲描述咱們以前研究的不少構造提供了一種更通常的語言,因此複習一下它們也頗有必要。3d

函子

首先,你其實應該把函子看做態射的映射——這個觀點有在Haskell的Functor類型類的定義中獲得強調,也就是fmap。固然,函子也映射對象——態射的端點——不然咱們就無法談論保持複合。對象告訴了咱們哪些態射對是可複合的。其中一個態射的終點必須等於另外一個態射的起點——若是它們能複合。因此若是咱們想把態射的複合映爲提高後的態射的複合,端點的映射就很大程度上被決定了。code

交換圖

態射的不少性質都是用交換圖的方式表達的。若是一個特定的態射被以超過一種方式描述爲其餘態射的複合,那麼咱們就有一個交換圖了。對象

特別地,交換圖構成了幾乎全部泛構造的基礎(初始對象和終端對象是明顯的例外)。咱們已經在積、餘積、不少其餘(餘)極限、指數對象和自由幺半羣等等的定義中看到過它了。blog

積是泛構造的一個簡單例子。咱們挑選兩個對象ab,看看是否存在一個帶上一對態射pq的具備成爲它們積的泛性質的對象cget

productranking

積是極限的一個具體例子。極限是用錐的觀念定義的。泛錐是構建在交換圖之上的。這些圖表的交換性能夠被一個恰當的函子的映射的天然性條件所代替。這種方式下交換性被降爲了彙編語言的角色,而高級語言是天然變換。數學

天然變換

通常來講,當咱們須要從態射映爲交換四方圖的時候,天然變換會很是方便。天然四方圖的兩個對邊是某個態射f在兩個函子FG做用下的像。另外的邊則是天然變換的份量(固然這也是態射)。it

naturality

天然性意味着當你移動到「相鄰」份量(相鄰的意思是說由一個態射鏈接)上時,你不會違背範疇的結構,也不會違背這兩個函子的。你是先用天然變換的份量橋接對象,再用函子跳到它的鄰居上;仍是反過來,這一點關係也沒有。這兩個方向是正交的。天然變換讓你左右移動,函子讓你上下活着先後移動——打個比方說。你能夠設想一個函子的就是靶範疇裏的一頁紙。天然變換就把對應於F的這樣一頁紙映爲對應G的另外一頁。class

sheets

咱們已經見過Haskell中這個正交性的例子了。在Haskell中函子在不改變容器形狀的條件下修改了容器的內容,而天然變換把這些內在的內容從新打包到另外一個不一樣的容器中。這些操做的順序並不重要。

咱們已經在極限的定義中見到過用天然變換表示的錐了。天然性確保了每一個錐的邊是可交換的。然而,極限使用錐之間的映射定義的。這些映射也必須知足交換性條件(好比,積的定義中的三角形必須交換。)

這些條件也能夠被天然性所代替。你可能會想起錐,或者說極限,被定義成一個天然變換,這個天然變換是(逆變)hom函子:

F :: c -> C(c, Lim D)

和把C的對象映爲錐的(逆變)函子(固然錐自己就是天然變換):

G :: c -> Nat(Δ_c, D)

之間的。這裏,Δ_c是常函子,而D是定義了C中的圖表的那個函子。函子FG都在C的態射上定義良好。很是碰巧的是這個FG之間特別的天然變換是一個同構

天然同構

天然同構——每一個份量都是可逆的天然變換——是範疇論裏描述"兩個東西同樣"的方法。這樣的一個變換的份量必須是對象間的同構——可逆的態射。若是你把函子的像想成紙張,天然同構就是一個這些紙張間的一一可逆映射。

Hom集

但什麼是態射呢?它們比對象具備更多的結構:不像對象那樣,態射有兩個端。若是你固定住源對象和靶對象,這兩個對象間的態射就構成了一個無聊的集合(至少對於局部小的範疇來講)。咱們能夠給這個集合的元素一些像fg這樣的名字來區分它們——但到底是什麼讓它們區別於彼此?

在一個給定的hom集上,態射間的本質區別表如今它們與其餘態射(來自相鄰的hom集)的複合上。若是有一個態射h,它與f的複合(前複合或後複合)與g不一樣,例如:

h ∘ f ≠ h ∘ g

這樣咱們就可以直接「觀察」fg的不一樣。然而就算這個區別不能直接觀察,咱們也可使用函子去放大hom集。函子F能夠把這兩個態射映爲不一樣的態射:

F f ≠ F g

在更富的範疇裏,相鄰的hom集會提供更高的分辨率,好比,

h' ∘ F f ≠ h' ∘ F g

其中h'不在F的像裏。

Hom集同構

不少範疇論的構造依賴於hom集間的同構。但由於hom集僅僅只是集合,它們之間通常的同構並不會告訴你更多的東西。對於有限集,同構只是說他們有相同多的元素。若是集合是無限的,它們的基數必須是相同的。可是,任意有意義的hom集同構必須考慮複合。而複合涉及了不止一個hom集。咱們須要定義跨在全部hom集的集族上的同構,咱們還須要對涉及複合的操做加以某些兼容性條件。而天然同構精確地知足了這樣的要求。

但什麼是hom集的天然同構呢?天然性是一個函子間的映射的性質,並非集合間的。因此咱們真正在談論的是指向hom集的函子間的天然同構。它們在態射上的行爲由恰當的hom函子導出。態射標準地被hom函子用前複合或後複合(取決於函子的協變性)的方式映射。

米田嵌入就是這種同構的一個例子。它把C中的hom集映爲函子範疇裏的hom集;而且它是天然的。米田嵌入中的一個函子是C中的hom函子,另外一個把對象映爲hom集間的天然變換的集合。

極限的定義也是hom集間的一個天然同構(第二個hom集,一樣,也是函子範疇裏的):

C(c, Lim D) ≃ Nat(Δ_c, D)

能夠證實咱們的指數對象的構造,或者自由幺半羣的構造,也能被重寫成hom集上的天然同構。

這並不是巧合——咱們接下來將會看到這些只不過是伴隨的不一樣的例子,而伴隨就是用hom集間的天然同構定義的。

hom集的反對稱性

還有一種觀察能夠幫助咱們理解伴隨。hom集,通常來講,是非對稱的。hom集C(a, b)一般與hom集C(b, a)很是地不同。這種非對稱性的極端例子就是當作範疇的偏序。在偏序中,從ab的態射存在當且僅當a小於等於b。若是ab不相等,那麼另外一個方向,也就是ba就不會有態射。因此若是hom集C(a, b)非空,這就意味着它是個單例集,那麼C(b, a)必須是空集,除非a = b。在這個範疇中箭頭有一個明確的流向。

而沒有反對稱性的預序,也是「幾乎所有」有向的,除了例外的環形。把任意的範疇當作預序的推廣是很是方便的方法。

預序是個薄範疇——全部的hom集或者是單例集或者是空集。咱們能夠把通常的範疇當作一個「厚的」預序。

挑戰

  1. 考慮某些天然性條件的退化狀況並畫圖。例如,若是函子FG把對象abf :: a -> b的端)映爲同一個對象,好比,F a = F bG a = G b?(注意你會獲得一個錐或者餘錐。)而後考慮F a = G aF b = G b的狀況。最後,若是從一個指向本身的環態射——f :: a -> a開始呢?

致謝

感謝Gershom Bazerman檢查個人數學和邏輯,以及André van Meulebrouck在整個系列中的編輯上的幫助。

下一篇:伴隨

相關文章
相關標籤/搜索