diff options
author | Gregor Kleen <gkleen@praseodym.org> | 2015-03-12 13:33:08 +0000 |
---|---|---|
committer | Gregor Kleen <gkleen@praseodym.org> | 2015-03-12 13:33:08 +0000 |
commit | 3f687d41b98bae3341b36192d60eeb34a0f2f122 (patch) | |
tree | 32bd4bdd79ecf82d7a96758a87ca208c88841ecd /posts | |
parent | 0303c4e1a700f6c5617f505a56cae88673a869da (diff) | |
download | dirty-haskell.org-3f687d41b98bae3341b36192d60eeb34a0f2f122.tar dirty-haskell.org-3f687d41b98bae3341b36192d60eeb34a0f2f122.tar.gz dirty-haskell.org-3f687d41b98bae3341b36192d60eeb34a0f2f122.tar.bz2 dirty-haskell.org-3f687d41b98bae3341b36192d60eeb34a0f2f122.tar.xz dirty-haskell.org-3f687d41b98bae3341b36192d60eeb34a0f2f122.zip |
Fork from math.kleen.org
Diffstat (limited to 'posts')
-rw-r--r-- | posts/blog-architecture-2.md | 33 | ||||
-rw-r--r-- | posts/blog-architecture.md | 47 | ||||
-rw-r--r-- | posts/hello-world.md | 12 | ||||
-rw-r--r-- | posts/torsors.md | 100 |
4 files changed, 0 insertions, 192 deletions
diff --git a/posts/blog-architecture-2.md b/posts/blog-architecture-2.md deleted file mode 100644 index 1e6ff43..0000000 --- a/posts/blog-architecture-2.md +++ /dev/null | |||
@@ -1,33 +0,0 @@ | |||
1 | % More on the Architecture of math.kleen.org | ||
2 | |||
3 | It's been more than a month since the last post here. Sorry about that. But I | ||
4 | have now implemented a nice and fancy new feature for math.kleen.org, namely | ||
5 | theorem environments: | ||
6 | |||
7 | <thm> | ||
8 | This could be your theorem here! | ||
9 | </thm> | ||
10 | |||
11 | <cor> | ||
12 | Some theorems come with corollaries. | ||
13 | </cor> | ||
14 | |||
15 | How these work ties in quite well with describing how LaTeX formulas are | ||
16 | converted to SVG for display in your browser. For example: | ||
17 | $$ | ||
18 | \int_{\partial M}\omega = \int_M\dd\omega | ||
19 | $$ | ||
20 | |||
21 | Both these features are accomplished via extensive processing with | ||
22 | [Pandoc](http://en.wikipedia.org/wiki/Pandoc). For converting LaTeX snippets | ||
23 | into SVG, I have a little Haskell program that takes Pandocs native format, | ||
24 | extracts all math snippets and compiles them with latex and dvisvgm. This | ||
25 | program sits in the build subdirectory in | ||
26 | <https://github.com/vkleen/math.kleen.org>. | ||
27 | |||
28 | For the theorem environment I patched the Markdown reader to convert mock HTML | ||
29 | tags like `<thm>` or `<cor>` into proper HTML. That way I can also retain the | ||
30 | possibility of converting posts into LaTeX and make PDFs out of them. | ||
31 | |||
32 | I'm not sure whether I will continue documenting this software like that. But if | ||
33 | I ever write a redo replacement there will probably a few posts on the process. | ||
diff --git a/posts/blog-architecture.md b/posts/blog-architecture.md deleted file mode 100644 index 37cce77..0000000 --- a/posts/blog-architecture.md +++ /dev/null | |||
@@ -1,47 +0,0 @@ | |||
1 | % An Outline of the Architecture of math.kleen.org | ||
2 | |||
3 | The main idea behind this system is that my site is supposed to consist of | ||
4 | *posts* which are organized into *lists of posts*. This mapping is not assumed | ||
5 | to be injective, i.e. a post may be a member of many lists. In fact, this is how | ||
6 | the list [All Posts](/lists/zz_all.html) is made: every post is supposed to be | ||
7 | linked into it. | ||
8 | |||
9 | To keep order in this mess of data, I have decided to map it into the file | ||
10 | system. I have a folder `posts` which contains all posts and a folder `lists` | ||
11 | with all the lists. Every list is a folder with symbolic links to posts: | ||
12 | |||
13 | blog | ||
14 | ├── lists | ||
15 | │ ├── all | ||
16 | │ │ ├── 001 -> ../../posts/hello-world.md | ||
17 | │ │ └── title | ||
18 | │ ├── blog | ||
19 | │ │ └── title | ||
20 | └── posts | ||
21 | └── hello-world.md | ||
22 | |||
23 | As you can see, I have added a special file to each list folder named `title` | ||
24 | which contains the title of the list (as you might have guessed). | ||
25 | |||
26 | Posts are written as [Markdown](http://en.wikipedia.org/wiki/Markdown) files and | ||
27 | converted to HTML with [Pandoc](http://en.wikipedia.org/wiki/Pandoc). Pandoc | ||
28 | handles this conversion almost perfectly, but I had one small issue with | ||
29 | it. Namely, I want to be able to write mathematics and hence translate | ||
30 | TeX--snippets into something that your browser can display. | ||
31 | |||
32 | Pandoc has several builtin methods to do this, but most of them either rely on a | ||
33 | specialised TeX--parser or JavaScript. Both were deemed too ugly to use. So I | ||
34 | wrote a filter around Pandoc to extract TeX-snippets and compile them with my | ||
35 | regular LaTeX distribution into SVG. This seems to work quite nicely. | ||
36 | |||
37 | The next issue was keeping this mess of posts and lists and Markdown files under | ||
38 | control. Traditionally, I would have used a Makefile for that but I wanted | ||
39 | something a little nicer this time. I turned to an old idea of | ||
40 | [Dan Bernstein's](http://cr.yp.to/djb.html): | ||
41 | [Redo](http://cr.yp.to/redo.html). There are several implementations of Redo out | ||
42 | there; eventually I plan to write my own, just as practice. For now, I use a | ||
43 | very minimal implementation in shell script from | ||
44 | <https://github.com/apenwarr/redo>. | ||
45 | |||
46 | More on how exactly the conversion from Markdown to HTML and all the associated | ||
47 | ecosystem works will appear in a later post. | ||
diff --git a/posts/hello-world.md b/posts/hello-world.md deleted file mode 100644 index 5a886c1..0000000 --- a/posts/hello-world.md +++ /dev/null | |||
@@ -1,12 +0,0 @@ | |||
1 | % Hello, World! | ||
2 | |||
3 | This is the inaugural post for this site. This "blog" is supposed to become | ||
4 | populated by a variety of posts pertaining to my research at USC, to personal | ||
5 | projects and (mathematicians, look away!) its own architecture. | ||
6 | |||
7 | At the moment, I don't have much content; but hopefully this will change in due | ||
8 | time. In the first few posts, I think I will describe the custom software that I | ||
9 | put together to make this website happen; mostly for my benefit, so I have | ||
10 | documentation to fall back on once things break. | ||
11 | |||
12 | This is all I have to say right now. Carry on! | ||
diff --git a/posts/torsors.md b/posts/torsors.md deleted file mode 100644 index a4cab97..0000000 --- a/posts/torsors.md +++ /dev/null | |||
@@ -1,100 +0,0 @@ | |||
1 | % Torsors and Their Classification I | ||
2 | |||
3 | # Torsors in Grothendieck Toposes # | ||
4 | |||
5 | Let $\ca C$ be some Grothendieck topos, that is a category of sheaves on some | ||
6 | Grothendieck topology. This text will look at some properties of *torsors* in | ||
7 | $\ca C$ and how they might be classified using cohomology and homotopy | ||
8 | theory. For this we will first need to define group objects. Torsors will then | ||
9 | be associated to those. | ||
10 | |||
11 | <defn> A *group object* in a category $\ca C$ is an object $G\in\ca C$ such that | ||
12 | the associated Yoneda functor $\hom(\_,G)\colon \op{\ca C}\to\Set$ actually | ||
13 | takes values in the category $\Grp$ of groups. </defn> | ||
14 | |||
15 | A trivial kind of example would be just a group considered as an object in | ||
16 | $\Set$. A more involved example would be a *group scheme* $G$ over some base | ||
17 | $S$. Such a thing is essentially defined as a group object in the category | ||
18 | $\sch[S]$. If we have any subcanonical topology on $\sch[S]$, then $G$ defines a | ||
19 | sheaf on the associated site and we obtain in this way a group object in the | ||
20 | corresponding topos on $S$. | ||
21 | |||
22 | Let's now assume we have a group object $G$ in a Grothendieck topos $\ca | ||
23 | C$. Then we can define torsors over $G$ as follows: | ||
24 | |||
25 | <defn> A *trivial $G$--torsor* is an object $X$ with a left $G$--action which is | ||
26 | isomorphic to $G$ itself with the action given by left multiplication. </defn> | ||
27 | |||
28 | <defn> A *$G$--torsor* is an object $X\in\ca C$ with a left $G$--action which is | ||
29 | locally isomorphic to a trivial torsor; that is, there is an epimorphism $U\to | ||
30 | *$ such that $U\times X$ is a trivial torsor in $\ca C/U$ over $U \times G$. | ||
31 | </defn> | ||
32 | |||
33 | I want to show that for any $G$--torsor $X$ according to this definition the | ||
34 | left action of $G$ on $X$ is free and transitive, that is the map | ||
35 | $$ f\colon G\times X \to X\times X $$ | ||
36 | given (on generalized elements) by $f(g, x) = (gx, x)$ is an isomorphism. This | ||
37 | is going to be some relatively elementary category theory but I think it's worth | ||
38 | writing it up. First a few facts about isomorphisms in toposes, they can be | ||
39 | found for example in Sheaves in Geometry and Logic.[^1] | ||
40 | |||
41 | <lem> | ||
42 | Epimorphisms in a topos are stable under pullback. | ||
43 | </lem> | ||
44 | <lem> | ||
45 | In a topos every morphism $f\colon X\to Y$ has a functorial factorization $f = | ||
46 | m\circ e$ with $m$ a monomorphism and $e$ and epimorphism. | ||
47 | </lem> | ||
48 | <lem> | ||
49 | A morphism $f$ is an isomorphism if and only if $f$ is both monic and epic. | ||
50 | </lem> | ||
51 | |||
52 | Now, let $f\colon A\to B$ be a *local monomorphism*, i.e. there is an epimorphism | ||
53 | $U\to *$ such that the pullback $f\times U$ of $f$ to $U$ is a | ||
54 | monomorphism. Then, since epimorphisms are stable under pullback, it follows that | ||
55 | in the commutative square | ||
56 | $$ | ||
57 | \begin{tikzcd} | ||
58 | A\times U \ar[into, r, "f\times U"] \ar[onto, d] & B\times U \ar[onto, d] \\ | ||
59 | A \ar[r, "f"'] & B | ||
60 | \end{tikzcd} | ||
61 | $$ | ||
62 | both vertical maps are epimorphisms. Now let $\varphi,\psi\colon T\to A$ be a pair of morphisms | ||
63 | such that $f\varphi = f\psi$. Then, denoting by $\varphi_U$ and $\psi_U$ the | ||
64 | pullbacks to $U$, we have $f_U\varphi_U = f_U\psi_U$. but $f_U$ is a | ||
65 | monomorphism by assumption, so $\varphi_U = \psi_U$. So we have a commutative | ||
66 | diagram | ||
67 | $$ | ||
68 | \begin{tikzcd} | ||
69 | T\times U \ar[r, "\varphi_U = \psi_U"] \ar[onto, d] & A\times U \ar[onto, d] \\ | ||
70 | T \ar[r, "\varphi", shift left] \ar[r, "\psi"', shift right] & A | ||
71 | \end{tikzcd} | ||
72 | $$ | ||
73 | in which the vertical maps are epimorphisms. It follows that $\varphi = | ||
74 | \psi$. | ||
75 | |||
76 | Now, if $f$ is a local epimorphism, then again we have the diagram | ||
77 | $$ | ||
78 | \begin{tikzcd} | ||
79 | A\times U \ar[onto, r, "f\times U"] \ar[onto, d] & B\times U \ar[onto, d] \\ | ||
80 | A \ar[r, "f"'] & B | ||
81 | \end{tikzcd} | ||
82 | $$ | ||
83 | and it is immediate that $f$ is an epimorphism. In summary: | ||
84 | |||
85 | <prop> | ||
86 | In a topos, any local epimorphism is an epimorphism, any local monomorphism is a | ||
87 | monomorphism, and any local isomorphism is an isomorphism. | ||
88 | </prop> | ||
89 | |||
90 | Now, let's check that $G$--torsors $X$ as defined above are free and | ||
91 | transitive. Take an epimorphism $U\onto *$ such that $X\times U$ is trivial in | ||
92 | $\ca C/U$. The action of $G$ on itself by left multiplication is plainly free | ||
93 | and transitive, so in $\ca C/U$ we have the isomorphism | ||
94 | $$(G\times U)\times_U (X\times U) \iso (X\times U) | ||
95 | \times_U (X\times U)$$ | ||
96 | and $(G\times U)\times_U(X\times U) = (G\times X)\times U$ and $(X\times | ||
97 | U)\times_U (X\times U) = (X\times X)\times U$ because pullback preserves products. So, $G\times X\to | ||
98 | X\times X$ is a local isomorphism, hence an isomorphism. | ||
99 | |||
100 | [^1]: Saunders Mac Lane, Ieke Moerdijk. Sheaves in geometry and logic. Springer, 1994. ISBN: 0-387-97710-4 | ||