Tension in teaching

The following quote is by Matt Emerton (in a comment on MathOverflow)

I think there is a genuine tension between proofs that a professional will like (where professional here may mean professional algebraist!) and ones that are elementary. For professionals, reductions and devissages are easy, natural, and we don’t even think of them as real landmarks in the proof; they are just serve as passages between the key points and ideas. But in writing things out, they can take a lot of words, and seem (as you wrote) mysterious and difficult. I don’t know the best way to deal with this tension.

Interestingly, Matt posted it as part of a discussion about exactly what I wanted to talk about in this post, the teaching of the structure theorem for finitely generated abelian groups, or more generally, of finitely generated modules over a PID.

My personal connection is that I taught this as part of our third-year algebra course this year at the University of Melbourne, and am slated to do so again next year. I think that I did not do a particularly good job of teaching it in 2022, primarily because I got distracted by the reductions and devissages and tried to proceed along those lines as much as possible, when what I have learned is more appropriate for one of these courses is the more prosaic approach involving matrix manipulations. It is with the matrix manipulations (directly proving Smith Normal Form) that I plan to teach this part of the course in 2023 (and beyond, if necessary).

For completeness, allow me to state the professionals’ proof: Split off the quotient by the torsion subgroup to reduce to the torsion case. Then canonically decompose the module into a direct sum of its p-primary components. Then use the fact that R/(p^e) is injective over itself to manually split the remaining short exact sequences needed to complete the classification.

While it may not be reasonable to expect a third-year student to follow this proof, I think it is fair to expect any PhD student of mine to be able to understand and execute this proof.

SMMC 2022 A4

The Simon Marais Mathematics Competition happened last weekend. It is a maths competition for undergraduate students across Europe, Asia, Africa and Oceania. This post is about problem A4, which I submitted. I’ll talk a bit about where the problem came from, a generalisation, a conjecture and also provide a solution. The entire paper is available on the Marais website, and solutions should be put up there at some time in the near future.

Problem (SMMC 2022 A4)
Let n be a positive integer, and let q\geq 3 be an odd integer such that every prime factor of q is larger than n. Prove that

    \[ \frac{1}{n!(q-1)^n}\prod_{i=1}^n (q^i-1) \]

is an integer that has no prime factor in common with \displaystyle{\frac{q-1}{2}}.


Let G=GL_n(\mathbb{F}_q) and let N be the subgroup of monomial matrices (a matrix is a monomial matrix if and only if it has exactly one nonzero entry in each row and column). I show below in my solution that this question is equivalent to the fact that the integer |G|/|N| is coprime to (q-1)/2. Now why would I ever care about that?

This coprimality fact implies that the cohomology of G with mod (q-1)/2 coefficients is isomorphic to the cohomology of N with mod (q-1)/2 coefficients. And I was interested in these cohomology groups because the second cohomology group classifies central extensions, which is what I used to think about back in my PhD days. The group N feels somewhat more “combinatorial” than G, so it is nice to be able to pass information from N to G for free.

Generalisations (known and conjectural)

Let G be a split reductive group over \mathbb{F}_q, which I conflate with its \mathbb{F}_q-points below in an abuse of notation. Let T be a maximal split torus and N its normaliser in G. Then

    \[ \frac{|G|}{|N|}=q^{|\Phi^+|}\prod_i \frac{q^{d_i}-1}{d_i(q-1)}. \]

Here \Phi^+ is the set of positive roots and the collection of integers \{d_i\} are the exponents of the Weyl group. Then the same argument as in my proof below shows that this fraction is an integer, relatively prime to \frac{q-1}{2}.

If we remove the assumption that G is split, then I suspect the same conclusion is satisfied, but there is an additional argument needed as the formula for the quotient has additional factors. I have not worked out this argument and really don’t want to resort to case by case arguments, so there is your conjecture (I expect we now need to say T is a maximal torus containing a maximal split torus).


First we show that the fraction in the question is an integer. Since q-1 divides q^d-1 as a polynomial for all d, the statement only depends on the residue class of q modulo n!. Since every prime factor of q is greater than n, q is relatively prime to n!. So by Dirichlet’s theorem on primes in arithmetic progressions, we may assume without loss of generality that q is prime.

Let G=GL_n(\mathbb{F}_q) and let N be the subgroup of monomial matrices. Then

    \[|G|=q^{\frac{n(n-1)}{2}}\prod_{d=1}^n q^d-1 \qquad \mbox{and}\qquad |N|=n!(q-1)^n.\]

By Lagrange’s theorem |G|/|N| is an integer. Since q is relatively prime to |N|, we can further divide by the largest power of q in |G| and deduce that

    \[ \frac{|G|}{q^{\frac{n(n-1)}{2}}|N|}=\frac{1}{n!(q-1)^n}\prod_{d=1}^n (q^d-1) \]

is an integer.

Now let p be a prime dividing \frac{q-1}{2} and let d be a positive integer. To conclude, it suffices to show that the fraction

    \[ \frac{q^d-1}{d(q-1)} \]

has zero p-adic valuation. Write q=1+2m, then by the binomial theorem,

    \[ \frac{q^d-1}{d(q-1)}=\frac{1}{2dm}\sum_{i=1}^d {d \choose i}(2n)^i. \]

Let a=v_p(d) and b=v_p(m). Since v_p(i!)=\lfloor\frac{i}{p}\rfloor+\lfloor\frac{i}{p^2}\rfloor+\lfloor\frac{i}{p^3}\rfloor+\cdots <\frac{i}{p-1}, we get

    \[ v_p\left( {d \choose i}(2n)^i \right)\geq v_p\left(\frac{d(2n)^i}{i!}\right)>a-\frac{i}{p-1}+i(b+v_p(2)). \]

We have the inequality v_p(2)-\frac{1}{p-1}\geq \frac{v_p(2)-1}{2}, so

    \[ v_p\left( {d \choose i}(2n)^i \right)>a+i\left(b+\frac{v_p(2)-1}{2}\right). \]

For i\geq 2, we therefore get

    \[ v_p\left( {d \choose i}(2n)^i \right)>a+2(b-\frac{1}{2})=a+2b+v_p(2)-1\geq a+b+v_p(2)=v_p(2dm) \]

as b\geq 1 from our assumption that p divides m.
Thus in our sum, the term with i=1 has a strictly smaller p-adic valuation than every other term, so determines the p-adic valuation of the sum, and we get

    \[ v_p \left( \frac{q^d-1}{d(q-1)} \right)=v_p\left(\frac{2md}{2md}\right)=0, \]

completing the proof.

Infinite dimensional vector spaces

This is a quick note to prove that two bases of an infinite dimensional vector space have the same cardinality. We freely use the axiom of choice and other standard facts about cardinalities of infinite sets. We will in fact prove the following:

Theorem: Let V be a vector space with basis \{v_i\}_{i\in I} with I an infinite set. Let \{w_j\}_{j\in J} be a linearly independent subset of V. (e.g. a basis of a subspace). Then |J|\leq |I|.

To prove this, WLOG J is a basis of V (by extending \{w_j\}_{j\in J} to a basis of V if necessary). For all i\in I, write

    \[v_i=\sum_j c_{ij}w_j.\]

Let E\subset I\times J be the set of pairs (i,j) with c_{ij}\neq 0. Then E\to I has finite fibres, since the sum above is finite, and E\to J is surjective, since the v_i lie in the span of the w_j with j in the image of V, but also the v_i generate V. Since I is assumed infinite, this is enough to prove that |I|\geq |J|, as required.

How to not defend a title (DBNI EOG)

Step 1: Qualification.

Despite winning the DBNI last year, I was not given an automatic qualification to this year’s edition. So I had to go through the qualification slog. A lack of convenient tournaments, given the North American bias of the vFtF scene, and the cancellation of Cascadia meant that I had to rely on some PBEM results together with some players dropping out in order to make it back to the start list this February.

Given the title of this post, I guess I could just say the easy way to not defend my title would be to not qualify, but having qualified, I had to work harder to not defend it.

Round 1: Germany. (backstabbr link)

I “chose” Germany under the auction system in place for the selection of powers. It’s a secret bidding system, hence the quotation marks. I won’t discuss it further except to ask that anyone who discovers the optimal solution please write to me with details.

Evan is in France, with Ben in England. Surely I can work with one of them right? Matt is along for the ride beside me in Russia and one year ago when we were in the same positions, he came much to close to comfort to a solo, an experience I’d rather not repeat. Rounding out the board are Liam in Italy, Katie in Austria and the unstoppable Farren in Turkey. Interesting stat about Farren: Going in to this tournament, in games we’ve played together where we’re not neighbours, her SC counts are 12, 11, 13 and 10. If that continues, it doesn’t leave many centres for me to fight over.

Evan informs me he is ordering PAR-PIC, MAR-BUR so I bounce the latter and get “rewarded” for doing so by being bounced out of HOL by Ben. Not the best of starts, and when Italy walks into MUN in ’02 and BER in ’03, things are looking grim. But with Evan not fully committed to the EF and Ben distracted in Scandinavia, I’m able to hold on until the French move into IRI gives me the diplomatic space to get back in the game.

Now we arrive at a key moment in the game. I’m allied with France and meanwhile a strong Austro-Turkish alliance has blossomed on the other side of the board. I recognise that my chances to top this board depend on not being the next Austrian target. So I negotiate with Katie to give her the space to do absolutely anything except attack me and …

Nope. Farren’s hypnotic powers are total and I am unable to break them.
I try consoling myself with the fact that I am far from the only person unable to break them but it doesn’t work.

The FG goal now becomes to capture the remainder of the English centres while forming a line against AT. All is going according to plan (except, from my point of view, for Evan failing to order ENG-MAO) and then we see this piece of funkiness.



In all my time playing diplomacy, I’ve never been in a game with a kidnapped convoy before, so part of me is happy this happened, even if it seriously jeopardised my chances in the game. I’m also happy that backstabbr allows kidnapped convoys – I’ve seen some fun-hating tournament directors have rules against kidnapping convoys in their tournament rules. The piece de resistance is that I didn’t know that Evan was ordering LON-YOR, nor did I know that Ben would order YOR-LON. In fact Ben and I didn’t even talk that turn!

Some tense negotiation was needed to get from this new position to a draw, but we managed to stalemate the AT and I was left with a 7sc draw second to a Farren’s 10sc Turkey. A nice little secondary score to add to a good score, but not the board top I wanted – I would now have to find a way to pull that off in the next round.

Round 3: Turkey. (backstabbr link)

[Not round 2. The tournament structure is play one of Rounds 1 and 2, and one of rounds 3 and 4].

Suffice to say that I did not want to play Turkey. The fundamental problem with playing Turkey is that your three neighbours covet your corner position, which creates a bias towards early attacks on Turkey.

At the start of the game as Turkey, the clock is ticking. You have three game years to make soemthing happen, otherwise you’re dead.

1901 came and went with no progress, only with Christophe in Austria lying to me about wanting an AT.

In 1902 I was able to hold Bulgaria due to Russian neutrality, but Greg wasn’t intereted in actively working with me and turned down my offer of Serbia. The neutrality did buy me an extra year though.

1903 and there’s still no progress. For some unknown reason Austria tries to take CON with the wrong unit so I keep it.

Fall 1904, with an Italian fleet already docked in Smyrna and finally we see a crack with an Austrian swing at RUM. We’ve survived the onslaught and are back in the game. Let’s go! Interestingly once this happened, I started getting much more nervous, believing I had a real chance again.

Meanwhile, on the other side of the board, after some initial indications of an FG, Karthik (E) and Farren (F) had entered into a strong alliance, which quickly swept aside Timothy in Germany and was looking to roll the board. Not wanting to sit in the corner on 3 for the rest of the game, I played an aggressive game, cooperating with Greg to pick up a couple from Italy in a single year, before turning on Greg himself, all while the EF marched onwards.

This changed in Fall 1910, when Russ explained to the rest of the southern powers how we could form a 14 centre stalemate line in two turns, assuming we made a couple of good guesses. I went for it, looking for something to break up the EF. One nervous wait for adjudication later to find out if my convoy to APU would be disrupted and we made it.



And went straight into the final phase of the game. Where nothing moved. I figured Karthik would stab, given he needed a strong board top to make it through to the final. And yet the stab never came. Meanwhile I was busy holding my line, with EF (together or separately) not offering me any inducements to stab that I felt I could take seriously.

However despite nothing happening, Karthik would not agree to a draw. Now most tournaments have a rule along the lines of the Tournament Director being able to force a draw if there is no significant change in a certain amount of time. But the DBNI did not have such a rule, though now thanks to us, it does. At some point Zach (our TD) came in and told us that he was instigating this rule for this game, starting from when he announced it to us.

Still nothing of substance changed, with some turns going by quickly due to everyone clicking to adjudicate early and others being taken up with frantic negotiation between myself, Farren and Karthik. And so with Karthik taking Kiel on the last turn for an 11sc board top, we were force drawn with me on 8 centres, ending my bid to defend my title.

I am pleased I got to fight in some good-spirited and well-fought tough games. I specifically enjoyed getting to play against two quality players I had never played before in Christophe and Greg in my last game and I hope to cross swords with them on a board again soon. Special mention and congratulations must go to Farren, who dominated both my games and thoroughly deserves her place on the top board.

Speaking of the top board, it is being played on the weekend, and you can watch all the action at the DBN Channel with the stream scheduled to start at 00:30 GMT on Sunday 27 February. I look forward to seeing how the final chapter of this season unfolds.

Jucys-Murphy elements and induction

This post concerns the representation theory of the symmetric group over the complex numbers. Recall that the irreducible representations of the symmetric group S_n are indexed by partitions of n. Let S^\lambda be the irreducible representation indexed by \lambda. I want to say some words about the theorem that the decomposition of the induced module \operatorname{Ind}_{S_{n}}^{S_{n+1}}S^\lambda is given by the decomposition into eigenspaces under the action of the Jucys-Murphy element.

First, the relevant Jucys-Murphy element is

    \[X:=(1,n+1)+(2,n+1)+\cdots+(n,n+1)\in \mathbb{C}[S_{n+1}].\]

The way it acts on \operatorname{Ind}_{S_{n}}^{S_{n+1}}S^\lambda=\mathbb{C}[S_{n+1}]\otimes_{\mathbb{C}[S_n]}S^\la is not as an element of \mathbb{C}[S_{n+1}] but by X\cdot (a\otimes v)=aX\otimes v. This is well-defined since X commutes with \mathbb{C}[S_n].

What this action defines is a natural transformation from the functor \operatorname{Ind}_{S_{n}}^{S_{n+1}} to itself. The induction functor is (bi)-adjoint to the restriction functor and this natural transformation is even simpler to construct on the adjoint side. Recall that if \mathcal{F} and \mathcal{G} are adjoint functors, then there is an isomorphism


Here \operatorname{End}\mathcal{F} refers to the natural transformations from \mathcal{F} to itself, and the map in this isomorphism is given by pre- and post-composition by the unit and counit of the adjunction.

And the way that X yields a natural transformation from \operatorname{Res}_{S_n}^{S_{n+1}} to itself is very simple, it’s just by its usual action as an element of \mathbb{C}[S_{n+1}]. If you transport this natural transformation to a natural transformation of the induction functor via the method I just mentioned, then you get the formula mentioned above.

Now given a pair of adjoint functors \mathcal{F} and \mathcal{G}, a natural transformation X from \mathcal{F} to \mathcal{F} (and hence from \mathcal{G} to \mathcal{G}) and a complex number a, we can define a functor \mathcal{F}_a by

    \[\mathcal{F}_a(V)=\{w\in \mathcal{F}(V)\mid Xw=aw\}.\]

and similarly for \mathcal{G} (this requires some linearity assumptions, but they’re satisfied here. Also you could take generalised eigenspaces if you wanted to, but in our application there is no difference).

When you do this, the functors \mathcal{F}_a and \mathcal{G}_a are adjoint:

Proof: Both \operatorname{Hom}(\mathcal{F}_aV,W) and \operatorname{Hom}(V,\mathcal{G}_aW) are the a-eigenspace of the action of X on \operatorname{Hom}(\mathcal{F}V,W)\cong\operatorname{Hom}(V,\mathcal{G}W).

Now apply this to our situation. We also use the following standard fact about the action of the Jucys-Murphy element (as developed e.g. in the Vershik-Okounkov approach):

Consider the decomposition


Then the Jucys-Murphy element X acts by the scalar c(\alpha) on S^\lambda, where c(\alpha) is the content of the box \alpha added to \lambda to get \mu.

Now translating this statement via the above yoga onto the adjoint side, we get

In the decomposition


the Jucys-Murphy element X acts by the scalar c(\alpha) on S^\mu, where c(\alpha) is the content of the box \alpha added to \lambda to get \mu.

Oaxaca Photos (December 2019)

I picked up my old phone and decided to try turning it on again. And after charging it, I was surprised, it turned on for the first time in 18 months. I guess the remedy for fixing a water damaged phone is to just wait a long long time.

This means I got access to some photos that I thought were previously lost, and I’ll present some of them here today.

Our trip begins in Oaxaca City, where I was visiting Banff in Mexico. First up, we have a visit to Monte Albán, an archaeological site on top of a hill right next to the city itself.

Next we see a scene in the city. A wedding party is marching down the street.

Now there is a picture of myself, to convince you that I actually was there.

That picture and the rest of the pictures below were all taken at Hierve El Agua.

Part 2 of Mexican photos coming soon.

Diplomacy Scoring Systems

I am going to write about scoring systems. If you want to skip ahead to the end and see a good system you can use, feel free to do so. Recall that the purpose of a scoring system is to provide a just numerical evaluation of a drawn position in a diplomacy game, for quantifying performances in a tournament.

We will start very slowly by stating some properties that diplomacy scoring systems should have.

1. Solo beats Draw beats Elimination/Loss:
A soloist should score more than someone who draws, who should in turn score more than someone who is eliminated or loses.

Comment: This sounds like an obvious property to want. Yet I feel compelled to mention this, and others explicitly, because not all scoring systems have this property. Carnage is a notorious example. (A historical note: We (by this I mean Bob Holt) fixed this problem with Carnage back in 2009. Then people reverted to the older, worse version).

2. Monotonicity:
Compare the score from two games (games are assumed drawn unless otherwise specified), where the only difference is that player A takes a centre off player B in the 2nd game. Then Player A should score more in Game 2 than in Game 1, and it should be the other way around for Player B.

Comment: Again, this sounds obvious, but does not always happen. An example of a system which doesn’t have this property is Tribute.

3. Path independence
A player’s score should only depend on the final centre count of the game.

Comment: In the past systems have been used (e.g. Origins) which use the centre count at each year in the figuring of the final scores. These produce perverse outcomes, where smaller powers can score more than larger powers. Such systems should be avoided on principle and due to their known poor performance.

Comment 2: For a further comment about survival points for eliminated or losing players, keep reading to point #5.

4. Zero Sum.
That the total points given out for each game is a constant.

Comment: There are people who belive that this should be a requirement. It sounds nice at first glance, but (spoiler alert) we will end up ditching this idea, in favour of ensuring requirements 5, 6 and 7 happen.

5. Eliminated or losing players score zero.
As it says in the title.

Comment: This is something that I would argue for in a major tournament, because to be eliminated or lose is to have achieved nothing. In a minor tournament, I am amenable to giving a token sum of survival points as seen in Detour or Cricket after hearing Melissa Call argue persuasively in its favour. An alternative approach that is irrelevant for the question of how to score a single game but relevant for a tournament is to give every player a fixed extra number of points for playing in a round.

6. Convexity/No unnatural Draw Whittling.
If Player A allows Player B to capture every supply centre of Player C, then Player A’s score should not increase.

Comment: If you reach a position which is naturally drawn, and the large players are incentivised to artificially manouver in order to ensure the smaller powers can be safely eliminated, then this causes the game to drag on longer than it should, and feels particularly nasty towards those who are eliminated late. This is essentially the standard argument against draw size based systems, although draw based scoring has other undesirable implications that I won’t get into here.

7. Reward the draw
The difference between a 1SC power in a draw must be significantly different from an elimination/loss.

Comment: I believe that there is a significant difference in achievement in making it into the draw, and that this should be rewarded by the scoring system. This is a property that is seriously lacking in some systems (Squares is a notable offender here).

8. No ties.
It is impossible to avoid ties together, but the ideal is for a system is to have as few ties at the top end of the field as possible.

Comment: If you have a simple scoring system, then you have to deal with tiebreakers. I have determined that humans are bad at coming up with tiebreaker rules. For an example, look at the farcical boundaries rule which determined the winner of the 2019 World Cup. Thus, I prefer to avoid them. Though I will mention one tiebreaker rule I read once in some tournament rules and rather fancied: “Ties will be broken by strength of opponents faced. Strength of opponents is determined by their performance in this tournament.” How exactly the strength of opponents was determined was not explicated.

9. The soloist does not win the tournament by default
A solo should be beatable by a combination of non-solo results.

Comment: This is more about tournament structure than scoring a single game so is orthogonal to most of this article, but I mention it for completeness. I believe that to do well in a tournament, you should have to do well in more than one game, rather than getting lucky in a single game (the difference between a solo and a dominant board top is often the luck of the draw in how well the defenders play).

OK enough about desirable (or undesirable) properties. And on to actually talking about some systems.

The simplest (reasonable) scoring system is 1 point per supply centre. It’s actually pretty good. Problems it comes up against are points 8 and 7 above. Still, this system is a good litmus test for any scoring system designers. I think any scoring system designer has to justify that their system is better than just counting up the dots.

A more nuanced system is one where you get a points per supply centre, b points for being in the draw, and c points are shared equally between the board-toppers. The values of a, b and c can be adjusted as desired. This is the system in use for the virtual World Diplomacy Classic running later this month. These systems can be very good.

To reduce the chance of ties, we can now make some changes. Let f(x) be an increasing convex function with f(0)=0. Suppose player i finishes with a_i supply centres. Then we give Player i the score

\displaystyle \frac{f(a_i)}{\sum_{j=1}^7 f(a_j)}.

The first system mentioned above is the same as this one with f(x)=x. It is customary to multiply scores by 100 in real life systems of this type but as that makes no mathematical difference so we ignore it.

The consequence of making the function convex is that it means that at a given supply centre count, the more evenly split your opponents are, the higher your score. It ensures that property 6 holds.

One example with a history of use in the hobby is the function f(x)=x^2 (Squares). This has two serious problems. One is that it fails property 7 (reward the draw). In this system, the score aquired by a 1 supply centre power is so small as to be essentially meaningless in any final tournament standings. The second problem is that it is too convex (to quote Nicolas Sahuget). This results in a large range of scores which a dominant board-topper can achieve. This range feels disproportionately large compared to the other scores in the sytem. But this problem is easily fixed by changing f.

We can fix the problem of failing property 7 by removing the requirement that f(0)=0, and allowing f(0) to take any postive value. Now if player i finishes with a_i supply centres, then they score as in the previous displayed formula when a_i>0, and score 0 otherwise.

Note that it is important to still include the eliminated players in the denominator, otherwise the convexity condition will be broken. This system breaks the zero-sum condition (in a fairly mild way). I strongly believe this is a small price to pay for its other desirable factors.

I hereby propose that we take f(x)=\sqrt{x^2+6x+10}. This clearly has some motivations from the Cricket scoring system, which only fails the tie-breaker condition amongst the desirable points raised above.

I have left out the question of how many points a soloist should get since it is independent of the discussion of how to score the drawn positions. I will give an explicit sample number below in my final description that agrees with my philosophy that a soloist should be able to be beaten in a (fictionally 3-round) tournament, since a tournament is meant to require playing well in multiple games, not just one.

Afficionados of lead based systems can always throw on extra bonus points for placement in a draw, though we start to lose some elegance with that approach.

So finally, we reach:

Unnamed Scoring System

Let f(x)=\sqrt{x^2+6x+10}.

For games that end in a solo, the soloist scores 0.55 points. All other players score 0.

For games that end in a draw, let a_i be the number of supply centres of player i. Then if a_i=0, player i scores 0 points, while if a_i>0, player i scores \displaystyle \frac{f(a_i)}{\sum_{j=1}^7 f(a_j)} points.


1. The Unnamed system is essentially 3 points for being in a draw, plus one point per supply centre, tweaked ever so slightly so that it is unlikely to create ties.

2. A comment by SK suggests that the word Carnage should be in the scoring system name.

3. Comments are not showing up, but are readable by me. I do not know why.

Running a bash process on startup in ubuntu

Ubuntu has a place called “Startup Applications Preferences” which is one way to organise something that runs upon startup. It is found by typing its name in the searchy thingy I don’t know the name of, and is a bit GUIish.

Because I use a Kinesis Advantage keyboard, I wanted to automatically swap the roles of the Tab and Delete keys upon startup. Here I record how to do this.

In the aforementioned “Startup Applications Preferences”, I create a new process, with the command section filled in with

bash .xmodstartup

It remains to create a file called .xmodstartup in my home directory, which I populate with the following xmodmap commands

xmodmap -e 'keycode 119 = Tab ISO_Left_Tab'
xmodmap -e 'keycode 23 = Delete NoSymbol'

And voila, upon startup, the Tab and Delete keys are switched.

If I ever want to undo this, and return to the default keyboard layout, this can be accomplished with running the following in a terminal

setxkbmap -layout us

This blog post exists to help my future self solve the same problem when I forget, and hopefully may help others who stumble upon it while searching the web to try and solve the same problem as me.

Now, next thing to do is to understand how to make the Windows/Super key behave exactly as I want it.

Molecube (nine colour cube)

The molecube (also known as the nine colour cube, e.g. as on Jaap’s website) is a Rubiks cube variant. Here is a picture in its scrambled state (so no spoilers are given).

To solve the puzzle you must reach a state where there there are no two pieces of the same colour on any of the six faces. In terms of turning, it is exactly like a normal Rubiks cube.

It is not too difficult to come up with a valid solution, and even possible to come up with all solutions by hand (though I leave this as an exercise to the reader). I also leave as an exercise to the reader how to construct a mathematically equivalent puzzle with SET cards.

Since the puzzle turns exactly like the cube, if you can solve the cube, and can find a valid configuration (easy), this puzzle is unlikely to present a challenge.

I bought this puzzle while transiting at Changi airport. Changi has a program where you can receive a 20SGD shopping voucher when transiting on Singapore Airlines. The rules of this program are constantly being tweaked and it always has an expiry date, but the promotion has continually existed in some form for at least the past five years.

Singularities of Schubert varieties within a right cell

Martina Lanini and I recently posted our preprint Singularities of Schubert varieties within a right cell to the arXiv. In it, we show that every singularity which appears in a type A Schubert variety appears between two permutations lying in the same right cell. This shows that any behaviour controlled by the singularities of Schubert varieties manifests itself within a Specht module. Some exmples are discussed.

The work was conducted during our recent visit to the thematic trimester program on representation theory at the Institut Henri Poincaré in Paris. I spent an enjoyable first month there before returning to Australia. Originally I was scheduled to be on a plane right now to return to Paris for the end of the program, but alas this is no longer possible. Oh well.