<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sage &#8211; neverendingbooks</title>
	<atom:link href="https://lievenlebruyn.github.io/neverendingbooks/tag/sage/feed/" rel="self" type="application/rss+xml" />
	<link>https://lievenlebruyn.github.io/neverendingbooks/</link>
	<description></description>
	<lastBuildDate>Sat, 31 Aug 2024 11:50:33 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6.1</generator>
	<item>
		<title>Monstrous dessins 3</title>
		<link>https://lievenlebruyn.github.io/neverendingbooks/monstrous-dessins-3/</link>
					<comments>https://lievenlebruyn.github.io/neverendingbooks/monstrous-dessins-3/#comments</comments>
		
		<dc:creator><![CDATA[lieven]]></dc:creator>
		<pubDate>Sat, 03 Aug 2019 14:23:40 +0000</pubDate>
				<category><![CDATA[groups]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[number theory]]></category>
		<category><![CDATA[congruence subgroup]]></category>
		<category><![CDATA[dessins d'enfant]]></category>
		<category><![CDATA[Farey]]></category>
		<category><![CDATA[Kulkarni]]></category>
		<category><![CDATA[monstrous]]></category>
		<category><![CDATA[Sage]]></category>
		<guid isPermaLink="false">http://www.neverendingbooks.org/?p=8516</guid>

					<description><![CDATA[A long while ago I promised to take you from the action by the modular group $\Gamma=PSL_2(\mathbb{Z})$ on the lattices at hyperdistance $n$ from the&#8230;]]></description>
										<content:encoded><![CDATA[<p><a href="https://lievenlebruyn.github.io/neverendingbooks/monstrous-dessins-2">A long while ago</a> I promised to take you from the action by the modular group $\Gamma=PSL_2(\mathbb{Z})$ on the lattices at hyperdistance $n$ from the standard orthogonal laatice $L_1$ to the corresponding &#8216;monstrous&#8217; Grothendieck dessin d&#8217;enfant.</p>
<p>Speaking of dessins d&#8217;enfant, let me point you to the latest intriguing paper by Yuri I. Manin and Matilde Marcolli, ArXived a few days ago <a href="https://arxiv.org/abs/1907.13545">Quantum Statistical Mechanics of the Absolute Galois Group</a>, on how to build a quantum system for the absolute Galois group from dessins d&#8217;enfant (more on this, I promise, later).</p>
<p>Where were we?</p>
<p>We&#8217;ve seen natural one-to-one correspondences between (a) points on the projective line over $\mathbb{Z}/n\mathbb{Z}$, (b) lattices at hyperdistance $n$ from $L_1$, and (c) coset classes of the congruence subgroup $\Gamma_0(n)$ in $\Gamma$.</p>
<p>How to get from there to a <a href="https://en.wikipedia.org/wiki/Dessin_d%27enfant">dessin d&#8217;enfant</a>?</p>
<p>The short answer is: it&#8217;s all in Ravi S. Kulkarni&#8217;s paper, “An arithmetic-geometric method in the study of the subgroups of the modular group”, Amer. J. Math 113 (1991) 1053-1135.</p>
<p>It is a complete mystery to me why Tatitscheff, He and McKay don&#8217;t mention Kulkarni&#8217;s paper in <a href="https://arxiv.org/abs/1812.11752">&#8220;Cusps, congruence groups and monstrous dessins&#8221;</a>. Because all they do (and much more) is in Kulkarni.</p>
<p>I&#8217;ve blogged about Kulkarni&#8217;s paper years ago:</p>
<p>&#8211; In <a href="https://lievenlebruyn.github.io/neverendingbooks/the-dedekind-tessellation">the Dedekind tessalation</a> it was all about assigning special polygons to subgroups of finite index of $\Gamma$.</p>
<p>&#8211; In <a href="https://lievenlebruyn.github.io/neverendingbooks/modular-quilts-and-cuboid-tree-diagrams">Modular quilts and cuboid tree diagram</a> it did go on assigning (multiple) cuboid trees to a (conjugacy class) of such finite index subgroup.</p>
<p>&#8211; In <a href="https://lievenlebruyn.github.io/neverendingbooks/hyperbolic-mathieu-polygons">Hyperbolic Mathieu polygons</a> the story continued on a finite-to-one connection between special hyperbolic polygons and cuboid trees.</p>
<p>&#8211; In <a href="https://lievenlebruyn.github.io/neverendingbooks/farey-codes">Farey codes</a> it was shown how to encode such polygons by a Farey-sequence.</p>
<p>&#8211; In <a href="https://lievenlebruyn.github.io/neverendingbooks/generators-of-modular-subgroups">Generators of modular subgroups</a> it was shown how to get generators of the finite index subgroups from this Farey sequence.</p>
<p>The modular group is a free product<br />
\[<br />
\Gamma = C_2 \ast C_3 = \langle s,u~|~s^2=1=u^3 \rangle \]<br />
with lifts of $s$ and $u$ to $SL_2(\mathbb{Z})$ given by the matrices<br />
\[<br />
S=\begin{bmatrix} 0 &#038; -1 \\ 1 &#038; 0 \end{bmatrix},~\qquad U= \begin{bmatrix} 0 &#038; -1 \\ 1 &#038; -1 \end{bmatrix} \]</p>
<p>As a result, any permutation representation of $\Gamma$ on a set $E$ can be represented by a $2$-coloured graph (with black and white vertices) and edges corresponding to the elements of the set $E$.</p>
<p>Each white vertex has two (or one) edges connected to it and every black vertex has three (or one). These edges are the elements of $E$ permuted by $s$ (for white vertices) and $u$ (for black ones), the order of the 3-cycle determined by going counterclockwise round the vertex.</p>
<p><center><br />
<img decoding="async" src="https://lievenlebruyn.github.io/neverendingbooks/DATA3/rulesGamma.jpg" width=100% ><br />
</center></p>
<p>Clearly, if there&#8217;s just one edge connected to a vertex, it gives a fixed point (or 1-cycle) in the corresponding permutation.</p>
<p>The &#8216;monstrous dessin&#8217; for the congruence subgroup $\Gamma_0(n)$ is the picture one gets from the permutation $\Gamma$-action on the points of $\mathbb{P}^1(\mathbb{Z}/n \mathbb{Z})$, or equivalently, on the coset classes or on the lattices at hyperdistance $n$.</p>
<p>Kulkarni&#8217;s paper (or the blogposts above) tell you how to get at this picture starting from a fundamental domain of $\Gamma_0(n)$ acting on teh upper half-plane by Moebius transformations.</p>
<p>Sage gives a nice image of this fundamental domain via the command</p>
<p><code><br />
FareySymbol(Gamma0(n)).fundamental_domain()<br />
</code></p>
<p>Here&#8217;s the image for $n=6$:</p>
<p><center><br />
<img decoding="async" src="https://lievenlebruyn.github.io/neverendingbooks/DATA3/Gamma0(6).jpg" width=60% ><br />
</center></p>
<p>The boundary points (on the halflines through $0$ and $1$ and the $4$ half-circles need to be identified which is indicaed by matching colours. So the 2 halflines are identified as are the two blue (and green) half-circles (in opposite direction).</p>
<p>To get the dessin from this, let&#8217;s first look at the interior points. A white vertex is a point in the interior where two black and two white tiles meet, a black vertex corresponds to an interior points where three black and three white tiles meet.</p>
<p>Points on the boundary where tiles meet are coloured red, and after identification two of these reds give one white or black vertex. Here&#8217;s the intermediate picture</p>
<p><center><br />
<img decoding="async" src="https://lievenlebruyn.github.io/neverendingbooks/DATA3/fundi6.jpg" width=60% ><br />
</center></p>
<p>The two top red points are identified giving a white vertex as do the two reds on the blue half-circles and the two reds on the green half-circles, because after identification two black and two white tiles meet there.</p>
<p>This then gives us the &#8216;monstrous&#8217; modular dessin for $n=6$ of the Tatitscheff, He and McKay paper:</p>
<p><center><br />
<img decoding="async" src="https://lievenlebruyn.github.io/neverendingbooks/DATA3/dessin6.jpg" width=50% ><br />
</center></p>
<p>Let&#8217;s try a more difficult example: $n=12$. Sage gives us as fundamental domain</p>
<p><center><br />
<img decoding="async" src="https://lievenlebruyn.github.io/neverendingbooks/DATA3/fund12.jpg" width=60% ><br />
</center></p>
<p>giving us the intermediate picture</p>
<p><center><br />
<img decoding="async" src="https://lievenlebruyn.github.io/neverendingbooks/DATA3/fundi12.jpg" width=60% ><br />
</center></p>
<p>and spotting the correct identifications, this gives us the &#8216;monstrous&#8217; dessin for $\Gamma_0(12)$ from the THM-paper:</p>
<p><img decoding="async" src="https://lievenlebruyn.github.io/neverendingbooks/DATA3/monstrous12.jpg" width=100% ></p>
<p>In general there are several of these 2-coloured graphs giving the same permutation representation, so the obtained &#8216;monstrous dessin&#8217; depends on the choice of fundamental domain.</p>
<p>You&#8217;ll have noticed that the domain for $\Gamma_0(6)$ was symmetric, whereas the one Sage provides for $\Gamma_0(12)$ is not.</p>
<p>This is caused by Sage using the Farey-code<br />
\[<br />
\xymatrix{<br />
0 \ar@{-}[r]_1 &#038; \frac{1}{6} \ar@{-}[r]_1 &#038; \frac{1}{5} \ar@{-}[r]_2 &#038; \frac{1}{4} \ar@{-}[r]_3 &#038; \frac{1}{3} \ar@{-}[r]_4 &#038; \frac{1}{2} \ar@{-}[r]_4 &#038; \frac{2}{3} \ar@{-}[r]_3 &#038; \frac{3}{4} \ar@{-}[r]_2 &#038; 1}<br />
\]</p>
<p>One of the nice results from Kulkarni&#8217;s paper is that for any $n$ there is a symmetric Farey-code, giving a perfectly symmetric fundamental domain for $\Gamma_0(n)$. For $n=12$ this symmetric code is</p>
<p>\[<br />
\xymatrix{<br />
0 \ar@{-}[r]_1 &#038; \frac{1}{6} \ar@{-}[r]_2 &#038; \frac{1}{4} \ar@{-}[r]_3 &#038; \frac{1}{3} \ar@{-}[r]_4 &#038; \frac{1}{2} \ar@{-}[r]_4 &#038; \frac{2}{3} \ar@{-}[r]_3 &#038; \frac{3}{4} \ar@{-}[r]_2 &#038; \frac{5}{6} \ar@{-}[r]_1 &#038; 1}<br />
\]</p>
<p>It would be nice to see whether using these symmetric Farey-codes gives other &#8216;monstrous dessins&#8217; than in the THM-paper.</p>
<p>Remains to identify the edges in the dessin with the lattices at hyperdistance $n$ from $L_1$.</p>
<p>Using the tricks from the previous post it is quite easy to check that for any $n$ the monstrous dessin for $\Gamma_0(n)$ starts off with the lattices $L_{M,\frac{g}{h}} = M,\frac{g}{h}$ as below</p>
<p><center><br />
<img decoding="async" src="https://lievenlebruyn.github.io/neverendingbooks/DATA3/startdessin.jpg" width=50% ><br />
</center></p>
<p>Let&#8217;s do a sample computation showing that the action of $s$ on $L_n$ gives $L_{\frac{1}{n}}$:</p>
<p>\[<br />
L_n.s = \begin{bmatrix} n &#038; 0 \\ 0 &#038; 1 \end{bmatrix} \begin{bmatrix} 0 &#038; -1 \\ 1 &#038; 0 \end{bmatrix} = \begin{bmatrix} 0 &#038; -n \\ 1 &#038; 0 \end{bmatrix} \]</p>
<p>and then, as last time, to determine the class of the lattice spanned by the rows of this matrix we have to compute</p>
<p>\[<br />
\begin{bmatrix} 0 &#038; -1 \\ 1 &#038; 0 \end{bmatrix} \begin{bmatrix} 0 &#038; -n \\ 1 &#038; 0 \end{bmatrix} = \begin{bmatrix} -1 &#038; 0 \\ 0 &#038; -n \end{bmatrix} \]</p>
<p>which is class $L_{\frac{1}{n}}$. And similarly for the other edges.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lievenlebruyn.github.io/neverendingbooks/monstrous-dessins-3/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Chomp and the moonshine thread</title>
		<link>https://lievenlebruyn.github.io/neverendingbooks/chomp-and-the-moonshine-thread/</link>
		
		<dc:creator><![CDATA[lieven]]></dc:creator>
		<pubDate>Wed, 10 Jan 2018 12:16:41 +0000</pubDate>
				<category><![CDATA[games]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[Chomp]]></category>
		<category><![CDATA[combinatorial games]]></category>
		<category><![CDATA[Graphviz]]></category>
		<category><![CDATA[Sage]]></category>
		<guid isPermaLink="false">http://www.neverendingbooks.org/?p=7610</guid>

					<description><![CDATA[Chomp is a 2-player game, usually played with chocolate bars. The players take turns in choosing one chocolate block and &#8220;eat it&#8221;, together with all&#8230;]]></description>
										<content:encoded><![CDATA[<p><a href="https://en.wikipedia.org/wiki/Chomp">Chomp</a> is a 2-player game, usually played with chocolate bars.</p>
<p>The players take turns in choosing one chocolate block and &#8220;eat it&#8221;, together with all other blocks that are below it and to its right. There is a catch: the top left block contains poison, so the first player forced to eat it dies, that is, looses the game.</p>
<p>If you start with a rectangular bar, the first player has a winning strategy, though it may take you too long to actually find the correct first move. See <a href="https://lievenlebruyn.github.io/neverendingbooks/from-chocolate-bars-to-constructivism">this post</a> for the strategy-stealing argument.</p>
<p>If you label the blocks of the rectangular bar by $(a,b)$ with $0 \leq a \leq k$ and $0 \leq b \leq l$, with the poisonous one being $(0,0)$, then this can be viewed as choosing a divisor $d$ of $N=p^k q^l$ and removing all multiples of $d$ from the set of divisors of $N$. The first person forced to name $1$ looses.</p>
<p>This allows for higher dimensional versions of Chomp.</p>
<p>If you start with the set of all divisors of a given natural number $N$, then the strategy-stealing argument shows that the first player has a winning move.</p>
<p>A general position of the game corresponds to a finite set of integers, closed under taking divisors. At each move the player has to choose an element of this set and remove it as well as all its multiples.</p>
<p>The <a href="https://lievenlebruyn.github.io/neverendingbooks/snakes-spines-threads-and-all-that">thread</a> of $(N|1)$, relevant in understanding a moonshine group of the form $(n|m)+e,f,\dots$ with $N=n \times h$, consists of all divisors of $N$.</p>
<p>But then, the union of all threads for all <a href="https://lievenlebruyn.github.io/neverendingbooks/the-171-moonshine-groups">171 moonshine groups</a> is a position in higher dimensional Chomp.</p>
<p><strong>Who wins starting from this moonshine thread?</strong></p>
<p>Perhaps not terribly important, but it forces one to imagine the subgraph of the <a href="">monstrous moonshine picture</a> on the $97$ number-lattices way better than by its Hasse diagram.</p>
<p><a href="https://lievenlebruyn.github.io/neverendingbooks/DATA3/chomp.png"><img decoding="async" src="https://lievenlebruyn.github.io/neverendingbooks/DATA3/chomp.png" width=100%></a></p>
<p>Click on the image for a larger version.</p>
<p>By the way, notice the (slight) resemblance with the &#8216;monstrous moonshine painting&#8217; by Atria</p>
<p><img decoding="async" src="https://i.pinimg.com/originals/c9/32/8d/c9328df1c46c24b87cf8495330dd2d94.jpg"></p>
<p>Here&#8217;s how the Hasse diagram of the moonshine thread was produced. These are &#8216;notes to self&#8217;, because I tend to forget such things quickly.</p>
<p>1. Work though the list of 171 moonshine groups in <a href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.103.3704&#038;rep=rep1&#038;type=pdf">Monstrous Moonshine</a>, pages 327-329. Add to a list all divisors of $N$ for a group of type $N+e,f,\dots$ or $n|h+e,f,\dots$ with $N=n \times h$. This should give you these $97$ integers:</p>
<p>1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,<br />
31,32,33,34,35,36,38,39,40,41,42,44,45,46,47,48,50,51,52,54,55,56,57,59,60,62,<br />
63,64,66,68,69,70,71,72,78,80,84,87,88,90,92,93,94,95,96,104,105,110,112,117,<br />
119,120,126,136,144,160,168,171,176,180,208,224,252,279,288,360,416</p>
<p>2. Let $L$ be this list and use <a href="http://www.sagemath.org/">Sage</a>:</p>
<p><code>P=Poset((L,attrcall("divides")),linear_extension=True)<br />
H=P.hasse_diagram()<br />
H.graphviz_string()<br />
</code></p>
<p>3. Copy the output to a file, say <em>chomp.dot</em>, and remove all new-line breaks from it.</p>
<p>4. Install <a href="http://macappstore.org/graphviz-2/">Graphviz on Mac OS X</a>.</p>
<p>5. In Terminal, type<br />
<code>dot -Tpng chomp.dot -o chomp.png</code></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Farey symbols in SAGE 5.0</title>
		<link>https://lievenlebruyn.github.io/neverendingbooks/farey-symbols-in-sage-5-0/</link>
		
		<dc:creator><![CDATA[lieven]]></dc:creator>
		<pubDate>Thu, 31 May 2012 14:56:56 +0000</pubDate>
				<category><![CDATA[math]]></category>
		<category><![CDATA[number theory]]></category>
		<category><![CDATA[Farey]]></category>
		<category><![CDATA[Sage]]></category>
		<guid isPermaLink="false">http://192.168.0.163/?p=5776</guid>

					<description><![CDATA[The sporadic second Janko group $J_2$ is generated by an element of order two and one of order three and hence is a quotient of&#8230;]]></description>
										<content:encoded><![CDATA[<p>The sporadic <a href="http://brauer.maths.qmul.ac.uk/Atlas/v3/spor/J2/">second Janko group</a> $J_2$ is generated by an element of order two and one of order three and hence is a quotient of the modular group $PSL_2(\mathbb{Z}) = C_2 \ast C_3$.</p>
<p> This Janko group has a <a href="http://brauer.maths.qmul.ac.uk/Atlas/v3/permrep/J2G1-p100B0">100-dimensional permutation representation</a> and hence there is an index 100 subgroup $G$ of the modular group such that the fundamental domain $\mathbb{H}/G$ for the action of $G$ on the upper-half plane by Moebius transformations consists of 100 triangles in the <a href="https://lievenlebruyn.github.io/neverendingbooks/the-dedekind-tessellation ">Dedekind tessellation</a>.</p>
<p> Four years ago i tried to depict this fundamental domain in the <a href="https://lievenlebruyn.github.io/neverendingbooks/farey-symbols-of-sporadic-groups ">Farey symbols of sporadic groups</a>-post using Chris Kurth&#8217;s <strong>kfarey</strong> package in Sage, but the result was rather disappointing.</p>
<p> Now, the kfarey-package has been greatly extended by <a href="http://cond-mat.uni-bonn.de/Group/Monien ">Hartmut Monien</a> of Bonn University and is integrated in the latest version of Sage, <a href="http://www.sagemath.org/">SAGE 5.0</a>, released a few weeks ago.</p>
<p> Using the <a href="http://www.sagemath.org/doc/reference/sage/modular/arithgroup/farey_symbol ">Farey symbol sage-documentation</a> it is easy to repeat the calculations from four years ago and, this time, we do obtain this rather nice picture of the fundamental domain</p>
<p> <img decoding="async" src="https://lievenlebruyn.github.io/neverendingbooks/DATA3/fundregionJanko.jpg"></p>
<p> But, there&#8217;s a lot more one can do with the new package. By combining the <strong>.fractions()</strong> with the <strong>.pairings()</strong> info it is now possible to get the corresponding <a href="https://lievenlebruyn.github.io/neverendingbooks/farey-codes ">Farey code</a> which consists of 34 edges, starting off with</p>
<p><center><br />
<img decoding="async" src="https://lievenlebruyn.github.io/neverendingbooks/DATA3/farey.gif"><br />
</center></p>
<p> Perhaps surprisingly (?) $G$ turns out to be a genus zero modular subgroup. Naturally, i couldn&#8217;t resist drawing the fundamental domain for the 12-dimensional permutations representation of the Mathieu group $M_{12}$ and compare it with that of <a href="https://lievenlebruyn.github.io/neverendingbooks/more-iguanodons-via-kfareysage ">last time</a>.</p>
<p> <img decoding="async" src="https://lievenlebruyn.github.io/neverendingbooks/DATA3/fundregionM12.jpg"></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
