2013年7月21日 星期日

用 MathJax 顯示數學符號-以 Blogger 為例

前言

MathJax 是近年來網頁技術中,用來顯示數學符號最熱門的方法之一。以往的解決方法如 MathML 需要瀏覽器的支援,可能因為數學排版複雜又不熱門,主流瀏覽器中只有 Firefox 支援的最完整,其它如  Chrome、Safari 或是 IE 排版結果遠遜於 $\TeX$ 或是 $\LaTeX$ 的品質;另一種方式則是直接顯示成圖片,缺點是與內文難以相配,能夠顯示但不夠優美。而如今 MathJax 的優點,在於只需要支援 JavaScript 的瀏覽器幾乎都可以正確而且漂亮地顯示(詳情見 MathJax 網頁),支援 $\LaTeX$ 的語法,幾乎就像是直接使用 $\LaTeX$ 一樣。

但因為 MathJax 是一支 JavaScript 程式,必須在網頁讀取完成後再解讀。使用上不如 MathML 只要輸入 MathML 的語法就能顯示,需要在網頁中「安裝」MathJax,並不能直接使用。目前網站支援 MathJax 大多為數學相關的網站,像是討論研究所等級的數學問題的 MathOverflow 或是維基百科 Wikipedia (需個人賬號登入設定)。而各主流網誌平台中,多數仍需要稍微修改範本(template)的原始檔才能使用,有些平台如 Wordpress.com 雖然提供各種不同範本的,但不能修改原始檔就沒辦法了。

幸好,Google 旗下的 Blogger 提供了範本的原始檔修改,幾個簡單的步驟就能讓 Blogger 使用 MathJax。其他的平台也類似如法炮製即可:

函子範疇與 Yoneda Lemma(二)

前面一口氣介紹了函子,自然轉換,函子範疇跟 Yoneda 引理。接下來,我們要談談有關 Yoneda 引理代表了什麼意義。

物件其實就像是集合,只不過⋯⋯

首先,從 Yoneda 引理我們可以推得,考慮的函子 $latex K : C^{\mathrm{op}} \rightarrow \mathbf{Set}$ 換成 $latex hom(-, d)$ 得到:
\[
\hom(c, d)\cong[C^{\mathrm{op}}, \mathbf{Set}](hom(-, c), hom(-, d))
\]其中用 $latex [C^\mathrm{op}, \mathbf{Set}]$ 代表從 $latex C^\mathrm{op}$ 到 $latex \mathbf{Set}$ 的函子範疇,而 $latex [C^\mathrm{op}, \mathbf{Set}](hom(-, c), hom(-, d))$  代表這個函子範疇所有從 $latex hom(-, c)$ 到 $latex hom(-, d)$ 的自然轉換。

函子範疇與 Yoneda Lemma(一)

談完範疇的基礎後,可以理解到數學基礎亂七八糟放心地討論範疇論實用的部分:函子(functor)、自然轉換(natural transformation),函子範疇(functor category)以及 Yoneda 引理。

Grothendieck universe - 談範疇的定義跟大小分類

歷史回顧

首先回顧發展公設集合論的動機,羅素悖論(Russell's Paradox):
令 $V = \{ S : S \not\in S \}$ 為所有不屬於自己的集合,試考慮 $V$ 是否屬於 $V$ 自己?
一般口語的說法是,假若 $V \in V$,則根據 $ V$ 的構造性質,$V \not\in V$;若 $V \not\in V$,則同理得到 $V \in V$,而不論哪一種,都會得到與前提違悖的結果。我們正式地說,考慮 Naive Set Theory,也就是一個帶有 $\in$ 關係以及底下公設模式(Axiom Schema):對任意用 $x$ 符號為 free variable 的邏輯述句 $P(x)$ 都有
\[\exists y . \forall x . (x \in y \iff P(x))\]
的一階邏輯理論(first-order theory)。 那麼我們考慮 $P(x) = x \not\in x$,以上公設配合一階邏輯會推出\[y \in y \iff y \not\in y\]說明 Naive Set Theory 本身不一致,甚至根據爆炸原理(Principle of Explosion)從而可以證明任何描述,也就是即便 $1\neq 1$這樣的描述都可以成真。很顯然地,這樣的集合論我們沒辦法接受,促使了羅素(B. Russell)發展了型別理論(Type Theory)以及 Zermelo 跟 Fraenkel 發展目前標準的公設集合論——Zermelo–Fraenkel set theory (ZF)。

2013年7月20日 星期六

範疇的(上)完備化構造

用這篇來展示如何用 MathJax 的擴充套件 XyJax 繪製 Xy-pic 的交換圖。

對任意小範疇(small category)$\mathscr{C}$,無論 $\mathscr{C}$ 是否有上極限,我們都可以購造出一範疇 $\widehat{\mathscr{C}}$ 具備所有的(小圖的)上極限,將 $\mathscr{C}$ 透過函子 $E\colon \mathscr{C}\to\widehat{\mathscr{C}}$ 嵌入 $\widehat{\mathscr{C}}$ 之中,並且對任意函子 $F\colon\mathscr{C} \to \mathscr{D}$ 至一個上完備的範疇 $\mathscr{D}$ 都有一個上連續函子 $\widehat{F}\colon\widehat{\mathscr{C}}\to\mathscr{D}$ 擴充 $F$ 使得 $F \cong \widehat{F}E$。

2013年7月19日 星期五

用 coend 證明所有的 $\mathbf{Set}$-valued functor 都是 representable functors 的上極限

範疇論上有些計算看似非常嚇人,最初看 MacLane 的 Categories for the Working Mathematicians 對我來說完全沒有線索的定理是
所有的 $F\colon \mathscr{C} \to \mathbf{Set}$ 都是 representable functors 的上極限
一來是用意不明;另一點是,證明極其複雜看不出端倪,用兩頁的篇幅證明這個定理,接下來提到 sheave 是這樣的 functor 的特例就結束。然而,如果我們用 coend 來計算,證明會簡短許多,看起來不那麼嚇人。

首先,我們應用 Yoneda 引理,試圖拆解一個 $F\colon \mathscr{C} \to \mathbf{Set}$ 如下:
\[
  \begin{align*}
    & [\mathscr{C}, \mathsf{Set}](F, G) \\
     \cong& \int_c \mathscr{C}(Fc, Gc)\\
     \cong& \int_c \mathscr{C}(Fc, [\mathscr{C}, \mathsf{Set}](\mathscr{C}(c, -), G))
    & \{\text{藉由 Yoneda 引理}\} \\
     \cong &\int_c [\mathscr{C}, \mathsf{Set}](Fc \cdot \mathscr{C}(c, -),
    G)
    & \{\text{藉由 copower 的性質}\}\\
     \cong &[\mathscr{C}, \mathsf{Set}](\int^c Fc \cdot \mathscr{C}(c, -),
    G)
    & \{\text{藉由 representable functor 的保持性質}\}
  \end{align*}
\]
然而,我們知道 coend 可寫成 $\displaystyle{\prod_{c \in \mathscr{C}} Fc \cdot \mathscr{C}(c, -)}$ 的 coequaliser,証畢。

轉換平台

嘗試改用 blogger 寫有關 category theory 跟數學上的筆記,主要理由是原本的 Wordpress.com 在數學的呈現上不是非常恰當,而且麻煩。有鑒於計算上越來越複雜,想要有個簡單但又能完美呈現,得依賴 MathJax,在 Wordpress.com 的限制下,不得不出走。

至於 MathJax 呈現上有多漂亮呢?這點從 MathOverflow 就可以很清楚地瞭解。同時 MathJax 提供 $\LaTeX$ & $\TeX$ 的語法(詳情),相較於 Wordpress.com 呈現的方式來看,高下優劣頗為明顯了。

接下來會先整理舊有 blog 的資料,順便寫一些相對困難的東西,就先這樣了。