 February 17th, 2012
 10:57 pm
I do quite a bit of collaboration. In fact, since after my PhD research, I have written exactly one preprint that does NOT spring from a collaboration. And there is quite a bit of technological support that flows into a good collaboration of mine. Here are some of the tools I uses and some of the thoughts I have on them.
Version control
Since I work in mathematics (and, arguably, in the fringes of Theory CS), everything I write is written in LaTeX. This is for one thing very helpful, since it means that the actual texts we collaborate on are plain text with markup. Eminently suitable for the toolkit provided by the software community.
 November 12th, 2011
 4:09 pm
So, today I saw this in my Twitter feed:
«Phil Harvey wants us to partition {1,…,16} into two sets of equal size so each subset has the same sum, sum of squares and sum of cubes.» — posted by @MathsJam and retweeted @haggismaths.
Sounds implausible was my first though. My second thought was that there aren’t actually ALL that many of those: we can actually test this.
So, here’s a short collection of python lines to _do_ that testing.
import itertools
allIdx = range(1,17)
sets = itertools.combinations(allIdx,8)
setpairs = [(list(s), [i for i in allIdx if i not in s]) for s in sets]
def f((s1,s2)): return (sum(s1)sum(s2), sum(map(lambda n: n**2, s1))sum(map(lambda n: n**2, s2)), sum(map(lambda n: n**3, s1))sum(map(lambda n: n**3, s2)))
goodsets = [ss for ss in setpairs if f(ss) == (0,0,0)]
And back comes one single response (actually, two, because the comparison is symmetric).
 August 23rd, 2010
 12:37 pm
I’ll be talking quite a bit in the next couple of weeks; here’s a “heads up” for those who might want to come and listen.
25 August, 1pm, Linköpings Universitet. The topology of Politics.
1 September, 10am, KTH. Combinatorial species, Haskell datatypes and Gröbner bases for operads.
1 September, 1pm, KTH. Topological data analysis and the topology of politics.
2, 3, 6, 7 September, 11am, KTH. Minicourse on Applied algebraic topology.
I’m happy to give out details if you’d like to come and listen.
A few things that may interest people.
1. I’m going on the job market in the fall. I’m looking for lectureships, tenure tracks, possibly 2 year postdocs if they are really interesting.
2. I’m very interested in adding visits, adding seminars, adding anything interesting to this itinerary. If you want to meet me, send me a note, and I’m sure we can find time. My email adress is easy to google, and listed in the site info here.
I have current research and survey talks mostly ready to go for:
 Barcodes and the topological analysis of data: an overview
 February 23rd, 2010
 8:08 pm
Inspired by John Allen Paulos, who just now tweeted
Obvious, but NBC hasn’t said: Canada, Norway, Germany way ahead of US in Olympic medals per capita. Many ways to rank: Cf. Arrow’s theorem.
I decided to redo the medals list. Here, the number of medals per capita among the top countries.
Country 
Gold/capita 
Silver/capita 
Bronze/capita 
Total/capita 
Norway 
1.23E06 
6.17E07 
1.03E06 
2.88E06 
Austria 
3.58E07 
3.58E07 
3.58E07 
1.07E06 
Slovenia 
0 
4.87E07 
4.87E07 
9.74E07 
Switzerland 
6.43E07 
0 
2.57E07 
9.00E07

Latvia 
0 
8.90E07 
0 
8.90E07 
Sweden 
3.21E07 
2.14E07 
2.14E07 
7.49E07 
Estonia 
0 
7.46E07 
0 
7.46E07 
Slovakia 
1.84E07 
1.84E07 
1.84E07 
5.53E07 
Croatia 
0 
2.25E07 
2.25E07 
4.51E07 
Netherlands 
1.81E07 
6.03E08 
6.03E08 
3.01E07 
Canada 
1.47E07 
1.18E07 
2.94E08 
2.94E07 
Czech republic 
9.51E08 
0 
1.90E07 
2.85E07 
Germany 
8.56E08 
1.10E07 
6.12E08 
2.57E07 
 February 3rd, 2010
 5:38 am
Eric Finster, over at Curious Reasoning has built a python script to allow you to write WordPress posts entirely in LaTeX , and upload them. The script parses the LaTeX code and generates HTML that expresses the same structure.
This, here, is me trying it out. With any luck, the appearance of a new toy will get me back to actually blogging some more – it’s been winding down a bit much here lately.
 December 2nd, 2009
 11:17 pm
Now up: Lecture 10 with the definition of a topos and a derivation of internal, inutitionistic logic within a topos.
 November 19th, 2009
 7:44 pm
Lecture 9: Catamorphisms, Anamorphisms, more from that zoo; adjunctions, some properties and some examples.
 November 11th, 2009
 8:31 pm
I have been remiss in updating here. Since the last time I posted, I have posted:
Lecture 6, featuring some interesting limits and colimits, culminating in the introduction of adjoints.
Lecture 7, featuring the introduction of monads based in adjoints, with the connection between the monoid of endofunctors and the Haskellite specification of monads.
Lecture 8, featuring EilenbergMoore algebras, initial algebras for datatype specification, Lambek’s lemma and structural induction and recursion with endofunctor algebras.
 October 23rd, 2009
 6:07 pm
And, as it turns out, my logicfu is lacking. Next time around, it’s likely I talk about the CCC = typed λcalculus correspondence, but won’t try to actually produce the correspondence explicitly.
 October 15th, 2009
 6:56 am
Lecture 4 was held, and the notes are up on the wiki: Lecture 4 notes
During class, and in unrelated conversations afterwards, though, the question emerged:
If Formally differentiating datatypes gives us zippers? What happens if we formally integrate datatypes?
 October 9th, 2009
 8:09 am
The third lecture is up on the haskell wiki.
 October 5th, 2009
 9:25 pm
I’ve been maddeningly slow lately. With everything.
Since last week Wednesday, the second lecture is up on the Haskell wiki.
 September 24th, 2009
 9:18 pm
The first lecture has been successfully held. The notes – which may well be augmented once I get hold of the students’ notes – are online on the Haskell Wiki
 August 29th, 2009
 7:19 am
Category theory, with an origin in algebra and topology, has found use in recent decades for computer science and logic applications. Possibly most clearly, this is seen in the design of the programming language Haskell – where the categorical paradigm suffuses the language design, and gives rise to several of the language constructs, most prominently the Monad.
In this course, we will teach category theory from first principles with an eye towards its applications to and correspondences with Haskell and the theory of functional programming. We expect students to previously or currently be taking CS242 and to have some level of mathematical maturity. We also expect students to have had contact with linear algebra and discrete mathematics in order to follow the motivating examples behind the theory expounded.
Wednesdays at 4.15.
Online notes will appear successively on the Haskell wiki on http://haskell.org/haskellwiki/User:Michiexile/MATH198
Dear blogosphere,
come this fall, I shall be teaching. My first lecture course, ever.
The subject shall be on introducing Category Theory from the bottom up, in a manner digestible for Computer Science Undergraduates who have seen Haskell and been left wanting more from that contact.
And thus comes my question to you all: what would you like to see in such a course? Is there any advice you want to give me on how to make the course awesome?
The obvious bits are obvious. I shall have to discuss categories, functors, (co)products, (co)limits, monads, monoids, adjoints, natural transformations, the CurryHoward isomorphism, the HomTensor adjunction, categorical interpretation of data types. And all of it with explicit reference to how all these things influence Haskell, as well as plenty of mathematical examples.
But what ideas can you give me to make this greater than I’d make it on my own?
What do these depict?
Here are two others. Different data source, different point in time, but what are they?
They are all linked in pairs – one coloured and one black linked together. They are not sports related. And they are taken from real world data. The colours are relevant and constitute a hint in their own right.
This post is to give you all a very swift and breakneck introduction to Gröbner bases; not trying to be a nice and soft introduction, but much more leading up to announcing the latest research output from me.
Recall how you would run the Gaussian algorithm on a matrix. You’d take the leftmost upmost nonzero entry, divide its row by its value, and then use that row to eliminate anything in the corresponding column.
Once we have the matrix on echelon form, we can then do lots of things with it. Importantly, we can use substitution using the leading terms to do equation system solving.
The starting point for the theory of Gröbner bases was that the same method could be used – with some modification – to produce something from a bunch of polynomials that ends up being as useful as a rowreduced echelon form.
Tech note: All figures herewithin are produced in SVG. If you cannot see them, I recommend you figure out how to view SVGs in your browser.
A few weeks ago, my friend radii was puzzling in his server hall. He asked if it was possible to prove that what he wanted to do was impossible, or if he had to remain with his gut feeling. I asked him, and got the following explanation:
He had two strands of something ropelike, both fixed at large furnishings at one end, and fixed in a fixed sized loop at the other. He wanted to take these, and link them fast to each other in this fashion:
I started thinking about the problem, and am now convinced I can prove the impossibility he asked for by basic techniques of knot theory. The argument is what I’ll fill this blog post about.
 February 4th, 2009
 10:16 am
I suspect this will be a flame war magnet. On the other hand I feel compelled to write it.
First a bit of backstory. My wife enjoys, often and with engagement, discussing theology with her new friends. One of them, a pentecostal christian, gave her the book I don’t have enough faith to be an atheist by Norman Geisler and Frank Turek. I picked it up while visiting her, looking for some book to read, and have forced myself to read through most of it since.
The authors try to prove the correctness of Christianity over all other religious attitudes, but most importantly, prove that Christians are right and Atheists are wrong. And the way they do this is oftentimes insulting, very often ignorant of how to deal with the logical tools they try to use, and constantly reeking of a lack of objectivity in their purportedly objective exposition.
And a new beginning.
We seem to be a whole crowd finishing our PhDs all at the same time: pozorvlak, Gooseania and I. While my blog started as inspired by Gooseania, I won’t close it just because I’m done. I’ll continue blogging my Postdoc years, and hopefully all the way through my academic career.
The last of my thesis results has reached article form. The paper Blackbox computation of Ainfinity algebras has now hit the arXiv and been submitted to the Kadeishvili Festschrift issue of the Georgian Mathematics Journal.
 February 21st, 2008
 12:33 pm
 February 15th, 2008
 2:13 pm
In a mean push, these last two weeks my advisor has read three different drafts of my thesis. And I’ve worked on getting the corrections in quickly. The last push started yesterday, when I got a bunch of corrections in the morning, had the last draft ready at 4pm, and then sat reading it myself until 1am.
My advisor took it home with him, spent the evening on it, and had his batch of corrections in the morning.
Hence, today at 10ish when I got myself in to the office, I had two batches of corrections in front of me, and a printer closing at 2pm. So I worked – and now, well, it’s done.
That’s it.
It’ll get printed.
Then read.
In May, we should get all the comments back from the external examiners.
 September 9th, 2007
 12:19 pm
However, I am enjoying the Scottish countryside and just – today – turned years of age.
First off, Alexander Borovik has been writing a couple of times about a REALLY nicesounding mathematical village in Turkey.
And it turns out, the village got closed this summer, with the government officials citing “education without permission” as their reason to close it.
Alexander is sending a petition to the prime minister. You should sign it.
In other news, I’m currently just waiting for Monday to come along. Why Monday? Because that’s the day I’m going back to Stockholm again. Once there, I’ll spend a couple of weeks spending time with friends and family, and then I will go and vow fidelity and those other things. The 25th of August, in case you’re about to ask.
All in all, this means that posting will be sparse if existent until midSeptember – when I arrive, fresh out of my honeyforthnight, to Sydney; where the Magma research group host me for some 5odd weeks. There I expect to have office space, an internet connection and a computer.
These are the times that eat my productivity. The times that ensure that entire days go by and I afterwards feel nothing have happened at all. These times that are too short for productive work – where I know from the beginning that I cannot sit down and do something – too little time for reading, for coding, for writing, for .. well .. anything. And yet, while trying to get through them, they are obviously too long. An hour here, an hour there, interspersed with lunch, then coffee, then a seminar, and all of a sudden out of an 8 hour workday, the only vaguely productive thing that got done was hearing the seminar.
Fragmentation kills my productivity. With a fragmented workday, I have the time available neatly chopped up in pieces of free time that fall inbetween. That are too short, but yet cover almost the entire workday.
Too harried to blog.
Will miss this carnival.
Bugger.
 February 9th, 2007
 11:57 pm
While I’m still on the subject of writing code with the PFP library, I may as well join in on a discussion that got pulled into the Carnival of Mathematics exposition.
Heath Raftery writes about weird probabilities in dice discussions, a problem very much reminiscent of the Monty Hall problem, both in the amount of controversy it generates when people discuss it, and also, it seems on at least half the people in the discussion so far, in how much the terms use end up confusing people.
So, in a comment to the Carnival post, the suggestion came from Alex, that a simulation be used to settle the whole question. And since I just wrote some things with PFP, I might as well write another!
The question, as posed by Heath, is
 February 2nd, 2007
 11:09 am
Alon Levy, over at Abstract Nonsense has just announced the first issue of a brand new Blog Carnival: the Carnival of Mathematics.
Go take a look. Submit your own blog posts. And then check it out in a week – the carnival is scheduled for the 9th.
 January 27th, 2007
 10:06 pm
I decided on a whim to look in at the Dilbertblog, where the top post at the moment has Scott Adams calling all atheists that discuss on the net irrational, using a rather neat strawman carbon copy of most discussions of faith between believers (i.e. mostly Christians) and atheists he has seen on the web.
At the end of it comes a question: supposing it could be established that there’s a truly infinitesimal (in the physical sense, not the mathematical) chance of a God existing – he quotes “one in a trillion” as a model probability; would it then be fair of an atheist to claim the nonexistence to be proven?
 December 30th, 2006
 7:31 pm
Inspired by other bloggers on Planet Haskell, I thought I’d just sit down and write a retrospection post, reviewing the past year – primarily from angles such as mathematics, computers and my generic life situation.
It divides neatly into two different sections: the months as a commercial programmer and the months as PhD student and academic careerist.
The year began still working for Teleca Systems, and with security consulting for Stockholmbased firms and frequent trips back home.
Then as the year went on and my PhD applications grew more and more, I started getting results. I got invited to Bonn for an interview with the Homology and Homotopy graduate school program – which was in the end turned down because I was more of a homological algebraist than a topologist. And the week after that, I was invited to Jena for an interview for a position doing PhD work on computational homological algebra. The interview went well, the potential advisor was nice (and a onceroleplaying gamer to sweeten the deal more) and I got the position just a few days later.
 November 30th, 2006
 2:28 pm
As a first unknown (kinda, sorta, it still falls under the category of path algebra quotients treated by Keller) A_{∞}calculation, I shall find the A_{∞}structure of .
To do this, I fix the group algebra
and the cohomology ring
with ,
Furthermore, we pick a canonical nice resolution P, continuing the one I calculated previously. This has the i:th component Λ^{i+1}, and the differentials looking like
for differentials starting in odd degree, and
for differentials starting in even degree. The first few you can see on the previous calculation, or if you don’t want to bother, they are
Now, armed with this, we can get cracking. By lifting, we get canonical representating chain maps for x,y,z described, loosly, by the following:
x takes an element in , keeps the first, third, et.c. elements and throws out the even ordered elements; so
For an element in , the last element gets extra treatment, so
For the lowest degrees, we also have
 November 23rd, 2006
 3:48 pm
In which the author, after a long session sweating blood with his advisor, manages to calculate the A_{∞}structures on the cohomology algebras and .
We will find the A_{∞}structures on the group cohomology ring by establishing an A_{∞}quasiisomorphism to the endomorphism dgalgebra of a resolution of the base field. We’ll write m_{i} for operations on the group cohomology, and μ_{i} for operations on the endomorphism dgalgebra. The endomorphism dgalgebra has μ_{1}=d and μ_{2}=composition of maps, and all higher operations vanishing, in all our cases.
Elementary abelian 2group
Let’s start with the easy case. Following to a certain the notation used in Dag Madsen’s PhD thesis appendix (the Canonical Source of the A_{∞}structures of cyclic group cohomology algebras), and the recipe given in Ainfinity algebras in representation theory, we may start by stating what we know as we start:
 November 16th, 2006
 4:38 pm
The Community College Dean has written about why he blogs, and asks any and all readers to tack on to his effort.
My blog is not very anonymous. It is occasionally personal, occasionally political and throughout a venting location for thoughts, and a place where I formulate myself in higher detail – so to speak a scratchpad, but public enough for me to allow others to read it.
I write it to formulate my own thoughts further, find possible errors, start discussions, or just jot down the viewpoints that illuminated some point of some argument for me. I do it in public because I thouroughly enjoy the conversations it sparks.
 November 7th, 2006
 4:18 pm
I recently had reason to describe my PhD work in complete laymans terms while writing letters to my grandparents. This being a good thing to do in order to digest your ideas properly, I thought I might try and write it up here as well.
It will, however, push through some 100odd years of mathematical development rather swiftly. Try to keep up – I will keep it as light as I can while not losing what I want to say.
Algebra
In the 19th century, a number of different mathematical efforts ended up using more or less precisely the same structures, though not really recognizing that they were the same. This recognition came with Cayley, who first brought the first abstract definition of a group.
A group is a set G of elements, with a binary operation *, such that the following relations hold:
 October 28th, 2006
 9:43 pm
In a recent post, pozorvlak reminded me of one of the reason it is important to have a good, obvious, and quicktowrite programming language around.
He, as I, is a mathematician, spending his time thinking, finding patterns, and trying to formulate (more or less) absolute proof that his patterns hold all the time, alternatively ways to demonstrate that they may not be universal.
In the post linked above, he starts by a neat little exercise, gets interested, and goes out to look at more examples. These show a very clear pattern, and after following this pattern quite some way out, he finally believes the pattern enough to start searching for a proof: which he also finds.
 October 22nd, 2006
 11:05 am
The term has started. In full force. No seating in the lunch cafeteria, lot’s of people all over the place, lot’s and lot’s of new students, and lectures and examples classes kicking off all over the place.
I’m leading an example class this year: linear algebra and geometry part 1 for the maths majors. One of six different examples class sessions for the same course. And apparently, my good tradition of going out drinking with my students keeps up: I went to the exchange students termstart party last friday, and while partying with the swedes and finns of the scandinavian Stammtisch on the dance floor, a girl squeezes through the crowds past us and asks me in passing if I’m not the examples class teacher. Turns out she registered for my class.
First contact with the students is on tuesday morning.
 October 20th, 2006
 3:15 pm
This blogpost is a running log of my thoughts while reading a couple of papers by Bernhard Keller. I recommend anyone reading this and feeling interest to hit the arXiv and search for his introductions to A_{∞}algebras. Especially math.RA/9910179 serves as a basis for this post.
If you do enough of a particular brand of homotopy theory, you’ll sooner or later encounter algebras that occur somewhat naturally, but which aren’t necessarily associative as such, but rather only associative up to homotopy. The first obvious example is that of a loop space, viewed as a group: associativity only holds after you impose equivalence between homotopic loops.
 October 18th, 2006
 3:37 pm
This term, I’m listening to a lecture course on Computational Group Theory. As a good exercise, I plan to implement everything we talk about as Haskell functions as well.
The first lecture was mainly an introduction to the area, ending with a very na
 October 10th, 2006
 12:22 pm
I just submitted a paper to a journal.
Based on research I have done during my time as a PhD student.
Wish me luck.
Update:If you want to read the paper, I suggest you go look at arXiv:math.GR/0610374.
 October 8th, 2006
 11:08 am
I get the feeling that my pledge to write the weekly reports regularily has been less than successful. So I’ll try to renew that pledge: I shall try to keep up the regularity of my weekly report.
Since last authored, I have been running a mathematics camp for 10th grade kids in mathematicsoriented schools. There are (apparently) 3 or 4 of those in Th
 September 19th, 2006
 5:55 pm
As we left off the last installment, we were just about capable to open up a window, and draw some basic things in it by giving coordinate lists to the command renderPrimitive. The programs we built suffered under a couple of very infringing and ugly restraints when we wrote them – for one, they weren’t really very modularized. The code would have been much clearer had we farmed out important subtasks on other modules. For another, we never even considered the fact that some manipulations would not necessarily be good to do on the entire picture.
Some modules
To deal with the first problem, let’s break apart our program a little bit, forming several more or less independent code files linked together to form a whole.
First off, HelloWorld.hs – containing a very generic program skeleton. We will use our module Bindings to setup everything else we might need, and tie them to the callbacks.
 September 14th, 2006
 5:28 pm
Since the content rate of haskellrelated posts is going up, the feed of this blog will get added to Planet Haskell. Hi, Planet!
 September 14th, 2006
 4:17 pm
After having failed following the googled tutorial in HOpenGL programming, I thought I’d write down the steps I actually can get to work in a tutoriallike fashion. It may be a good idea to read this in parallell to the tutorial linked, since Panitz actually brings a lot of good explanations, even though his syntax isn’t up to speed with the latest HOpenGL at all points.
Hello World
First of all, we’ll want to load the OpenGL libraries, throw up a window, and generally get to grips with what needs to be done to get a program running at all.
import Graphics.Rendering.OpenGL
import Graphics.UI.GLUT
main = do
(progname, _) < getArgsAndInitialize
createWindow "Hello World"
mainLoop
This code throws up a window, with a given title. Nothing more happens, though. This is the skeleton that we’ll be building on to. Save it to HelloWorld.hs and compile it by running
ghc package GLUT HelloWorld.hs o HelloWorld
 September 11th, 2006
 10:07 pm
I haven’t really been updating much here – and especially not the category Weekly Report. Slowly, it’s time to get around to it.
Now, there is a specific reason updates have been slow: I’ve been travelling. A lot. With very varying internet access and even more varying energy to spare for writing. It all started with two weeks of vacation in Sweden – spending time with my lovely fiancee, meeting old friends, and generally relaxing. She proposed (of sorts), and we’re getting married next summer. After the vacation, I went to Leeds, to the Triangulated Categories workshop, and then back home to Jena – only to go off again within just over a week, for the First Copenhagen Topology Conference, tightly followed by a master’s class in Morse theory lead by Ralph Cohen, and a simultaneous workshop on Morse theory and string topology.
 September 5th, 2006
 1:24 pm
So, we’re back at the point where I’m hesitating whether what I tried to work out even made sense or not. So I’ll do a write up of all the things I feel certain about asserting, and ask my loyal readership to hunt my errors for me.
Don’t laugh. This is less embarrassing for me than asking my advisor point blank.
We say that a (graded) commutative ring R has depth k if we can find a sequence of elements with not a zerodivisor, each not a zerodivisor in the quotient and a ring without nonzero divisors. This definition, of course, being the first obvious point where I may have screwed up.
Now, we know (from looking it up in AtiyahMacDonald), that for SR the localisation of R in a multiplicatively closed subset S, S(R/I)=SR/SI, that injections carry over to injections, and that the annihilator over SR of an element is the localisation of the annihilator of the element.
Got treated today to a really nice workout in group cohomology; most of which is well worth sharing, since seeing it done once gave me a lot of insight.
So, if we pick and view it as the set 0,1,2,3,4,5,6,7,8,9 and with the group operation given by a*b = a+b % 10, then one standard 2cocycle is the function
That this actually does form a cocycle would be the same as requiring
f(b,c)f(a*b,c)+f(a,b*c)f(a,b)=0
or regrouped
f(a*b,c)+f(a,b)=f(a,b*c)+f(b,c)
which is to say that the number of carry bits generated when adding three digits does not depend on associativity.
This cocycle classifies the group extension
with the first map taking and the second taking
Now, this is a nontrivial extension – which is equivalent to it not being a coboundary – by the following calculation:
Suppose f=dg. Then f(a,b)=g(a)+g(b)g(a*b). So, since f(0,0)=0, we get g(0)g(0)+g(0)=0, so g(0)=0. For any b≤8, we also get 0=f(1,b)=g(b)g(b+1)+g(1), so g(b+1)=g(b)+g(1) and thus by induction, g(b)=bg(1) for all 0≤b≤9.
But, now, 1=f(1,9)=g(9)g(0)+g(1)=10g(1)=0, which is a contradiction.
Accomplished:
 I am done with the coursework for the past semester. Sent off the TeXed up solution sheets to the webmaster today.
 My pattern observation seems to hold up surprisingly well – there seems to be a theorem to fetch out there somewhere.
 I have done most of the dishes. Go me!
Todo:
 FOCUS! I need to learn triangulated categories. Preferably now. I need to stop playing with Haskell and reading up on group cohomology calculations. Preferably now.
 After triangulated categories, there’s a wealth of things to look into. High priority are spectral sequences, further group cohomology, diamond lemma, path algebra quotients, A_{∞}, Massey products, return to model categories. Which order these are done might influence the contents of my PhD thesis significantly.
 I really need to talk to the university sysadmins about the WLan network.
Progress may be found. Just around the corner. I need a donut.