Skip to Content »

 Classifying spaces and Haskell

  • May 15th, 2014
  • 3:27 am

I’ve been talking with some topologists lately, and seen interesting constructions. I think these may potentially have some use in understanding Haskell or monads.

Simplicial objects

A simplicial object in a category is a collection of objects $C_n$ together with n maps $d_j:C_n\to C_{n-1}$ and n maps $s_j:C_n\to C_{n+1}$ subject to a particular collection of axioms.

The axioms are modeled on the prototypical simplicial structure: if $C_n$ is taken to be a (weakly) increasing list of integers, $d_j$ skips the $j$th entry, and $s_j$ repeats the $j$th entry. For the exact relations, I refer you to Wikipedia.

Classifying spaces

Take a category C. We can build a simplicial object $C_*$ from C by the following construction:

$C_n$ is all sequences $c_0\xrightarrow{f_0}c_1\xrightarrow{f_1}\dots\xrightarrow{f_{n-1}}c_n$ of composable morphisms in $C$.
$d_j$ composes the $j$th and $j+1$st morphisms. $d_0$ drops the first morphism and $d_n$ drops the last morphism.
$s_j$ inserts the identity map at the $j$th spot.

 Topology of Politics — Popular topology lecture

  • September 21st, 2012
  • 1:39 pm

I will be speaking on my research into topological data analysis for political data sets at the University of Edinburgh, at 4:10pm on 15th October, in Room 6206, James Clerk Maxwell Building.

Data Analysis on politics data

Data analysis has played a growing role in politics for many years now; analyzing polling data to predict outcomes of elections is perhaps the most well-known application.

A different approach that has gotten more and more traction lately is to analyze the voting behaviour of elected representatives as a way to understand the inner workings of parliaments, and to monitor the elected representatives to make sure they behave as they once promised. Sites like GovTrack and VoteView bring machine learning and data analysis tools to the citizens, and illustrate and visualize the groupings and behaviour in political administration.

 Jonas Thente och innumeracy

  • July 2nd, 2012
  • 11:55 pm

Jonas Thente har tyckt till på DN. Matematik är ett föråldrat skolämne, eftersom alla har miniräknare.

Jag har en historia jag hörde idag, som jag skulle vilja ta upp. En god vän (och universitetslärare i matematik) till mig förklarade hur han gör för att hantera fuskare på hans matematiktentor. Han sätter sig med studenten, och föreslår att de går igenom alla förklaringarna för varför det misstänkta fusket inte är fusk — och för varje ursäkt, så bedömer de sannolikheten att just de kunde ha hänt, och räknar samman sannolikheterna.

“Jag missade att vi inte fick ha miniräknare.”
“Ja, okej då. Ska vi säga 50/50 på den?”

och så där fortsätter det. Till sist, efter lagom många ursäkter, så räknar de ihop sannolikheten att allt verkligen hänt som studenten sagt; med de sannolikheter studenten själv gått med på — och ger studenten motsvarande andel av de poäng han annars hade fått. I utbyte slipper studenten disciplinnämnd och FUSKAR-stämpel och kan ta enbart en körd tenta som straff…

 Recursively counting numbers with fixed bit counts

  • May 13th, 2012
  • 1:04 am

I ran across this problem in a reddit side-bar job-ad, and was intrigued by the task (description paraphrased to decrease googleability):

Write a function

uint64_t bitsquares(uint64_t a, uint64_t b);

such that it return the number of integers in [a,b] that have a square number of bits set to 1. Your function should run in less than O(b-a).

I think I see how to do it in something like logarithmic time. Here’s how:

First off, we notice that we can list all the squares between 0 and 64: these are 0, 1, 9, 16, 25, 36, 49, and 64. The function I will propose will run through a binary tree of depth 64, shortcutting through branches whenever it can. In fact; changing implementation language completely, I wonder if I cannot even write it comprehensively in Haskell.

 ATMCS 5 in Edinburgh

  • March 22nd, 2012
  • 7:20 am

ATMCS 5 – Algebra and Topology, Methods, Computing, and Science

Second Announcement

This meeting will take place in the period July 2-6, at the ICMS in Edinburgh, Scotland. The theme will be applications of topological methods
in various domains. Invited speakers are

J.D. Boissonnat (INRIA Sophia Antipolis) (Confirmed)
R. Van de Weijgaert (Groningen) (Confirmed)
N. Linial (Hebrew University, Jerusalem) (Confirmed)
S. Weinberger (University of Chicago) (Confirmed)
S. Smale (City University of Hong Kong) (Confirmed)
H. Edelsbrunner (IST, Austria) (Confirmed)
E. Goubault (Commissariat à l’énergie atomique, Paris) (Confirmed)
S. Krishnan (University of Pennsylvania) (Confirmed)
M. Kahle (The Ohio State University) (Confirmed)
L. Guibas (Stanford University) (Confirmed)
R. Macpherson (IAS Princeton) (Tentative)
A. Szymczak (Colorado School of Mines) (Confirmed)
P. Skraba/ M. Vejdemo-Johansson (Ljubljana/St. Andrews) (Confirmed)
Y. Mileyko (Duke University) (Confirmed)
D. Cohen (Louisiana State)
V. de Silva (Confirmed)
There will be opportunities for contributed talks. Titles and abstracts should be send to Gunnar Carlsson at

 BibLaTeX — why haven’t I used this earlier!?

  • March 7th, 2012
  • 5:01 pm

As any reader of this (now rather occasional) blog might have guessed by now, I do quite a lot of writing in LaTeX. It comes with the territory — I do mathematics research, so I write in LaTeX. I do quite a bit of research, so I spend a lot of time writing up my results.

And I care about the tools I use. I care deeply about the way my citations come out, and I have significant aesthetic opinions on the matter. I like author-date citation styles, much better than the horrible abbreviated alphabet soups so popular in mathematics styles, and much more pleasant to read than [1,2,5-7] as seems to be a dominant style in mathematical literature. If I see (Zomorodian, 2005) or even better (Edelsbrunner-Letscher-Zomorodian, 2000) I’ll know immediately what the reference is about when I read in my own field — whereas a citation of [3] forces me to leaf back to check what they mean.

 Collaborative tools

  • 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.

 A quick python hack for a mathematical puzzle

  • 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).

 Some thoughts on fire photography

  • July 18th, 2011
  • 11:52 am

First off: I would like to apologize to the readers I still have that I never get around to updating here. I am aware that I’m writing less than once I was planning to.


I have grown very interested in photography, as those of you who have seen my photo-a-day blog will have noticed. With the growing interest, I also notice a growing awareness of photography and of pictures, and I start thinking about how I would do things.

Such as this last weekend. There was a wedding. There was a wedding celebration. At one point we ended up down at a beach, watching a fire show. A friend of mine was running out of space on his memory card, so left his camera with me and ran to get the next card.

 Geometric realization of simplicial sets

  • March 1st, 2011
  • 9:27 pm

Warning: copy(6bfa7bd6009ed204348a1b0efa426906.png): failed to open stream: No such file or directory in /home/michiexile/webapps/mik_blog/latexrender/class.latexrender.php on line 290

Warning: unlink(/home/michiexile/webapps/mik_blog/latexrender/tmp/6bfa7bd6009ed204348a1b0efa426906.dvi): No such file or directory in /home/michiexile/webapps/mik_blog/latexrender/class.latexrender.php on line 310

Warning: unlink(/home/michiexile/webapps/mik_blog/latexrender/tmp/ No such file or directory in /home/michiexile/webapps/mik_blog/latexrender/class.latexrender.php on line 311

Warning: unlink(/home/michiexile/webapps/mik_blog/latexrender/tmp/6bfa7bd6009ed204348a1b0efa426906.png): No such file or directory in /home/michiexile/webapps/mik_blog/latexrender/class.latexrender.php on line 312

This post is an expansion of all the details I did not have a good feeling for when I started with for page 7 of Goerss-Jardine, where the geometric realization of simplicial sets is introduced.

The construction works by constructing a few helpful categories, and using their properties along the way. Especially after unpacking the categorical results G-J rely on, there are quite a few categories floating around. I shall try to be very explicit about which category is which, and how they work.

As we recall, simplicial sets are contravariant functors from the category \mathbf{\Delta} of ordinal numbers to the category of sets. We introduce the simplex category \mathbf{\Delta}\downarrow X of a simplicial set X with objects (simplices) given by maps \sigma:\Delta^n\to X and a map from \sigma to \tau being given by a map f in \mathbf{\Delta} such that \sigma = \tau f.

 The Topology of Politics

  • January 4th, 2011
  • 8:09 pm

This is a typed up copy of my lecture notes from the seminar at Linköping, 2010-08-25. This is not a perfect copy of what was said at the seminar, rather a starting point from which the talk grew.

In my workgroup at Stanford, we focus on topological data analysis — trying to use topological tools to understand, classify and predict data.

Topology gets appropriate for qualitative rather than quantitative properties; since it deals with closeness and not distance; also makes such approaches appropriate where distances exist, but are ill-motivated.

These approaches have already been used successfully, for analyzing

  • physiological properties in Diabetes patients
  • neural firing patterns in the visual cortex of Macaques
  • dense regions in \mathbb{R}^9 of 3×3 pixel patches from natural (b/w) images
  • screening for CO2 adsorbative materials

 Species, derivatives of types and Gröbner bases for operads

  • December 18th, 2010
  • 2:05 am

This is a typed up copy of my lecture notes from the combinatorics seminar at KTH, 2010-09-01. This is not a perfect copy of what was said at the seminar, rather a starting point from which the talk grew.

In some points, I’ve tried to fill in the most sketchy and un-articulated points with some simile of what I ended up actually saying.

Combinatorial species started out as a theory to deal with enumerative combinatorics, by providing a toolset & calculus for formal power series. (see Bergeron-Labelle-Leroux and Joyal)

As it turns out, not only is species useful for manipulating generating functions, btu it provides this with a categorical approach that may be transplanted into other areas.

For the benefit of the entire audience, I shall introduce some definitions.

Definition: A category C is a collection of objects and arrows with each arrow assigned a source and target object, such that

 Teaching and seminars up ahead

  • 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. Mini-course on Applied algebraic topology.

I’m happy to give out details if you’d like to come and listen.

 Itinerary for the Summer

  • April 26th, 2010
  • 4:38 am

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

 Repeal the nth amendment

  • March 24th, 2010
  • 8:42 pm

Inspired by this post over at Making Light, here, have a chart:

First, Second, …

1st, 2nd, …

And, because this chart is kinda tricky to read, here’s the log-scaled version of the same chart:

For the log-chart, I stopped stacking the numbers.

ETA: Changed the log-chart from a line-chart to a bar-chart after feedback from the readership of bOINGbOING. Hello and welcome!

 Another kind of sports reporting

  • 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.23E-06 6.17E-07 1.03E-06 2.88E-06
Austria 3.58E-07 3.58E-07 3.58E-07 1.07E-06
Slovenia 0 4.87E-07 4.87E-07 9.74E-07
Switzerland 6.43E-07 0 2.57E-07 9.00E-07
Latvia 0 8.90E-07 0 8.90E-07
Sweden 3.21E-07 2.14E-07 2.14E-07 7.49E-07
Estonia 0 7.46E-07 0 7.46E-07
Slovakia 1.84E-07 1.84E-07 1.84E-07 5.53E-07
Croatia 0 2.25E-07 2.25E-07 4.51E-07
Netherlands 1.81E-07 6.03E-08 6.03E-08 3.01E-07
Canada 1.47E-07 1.18E-07 2.94E-08 2.94E-07
Czech republic 9.51E-08 0 1.90E-07 2.85E-07
Germany 8.56E-08 1.10E-07 6.12E-08 2.57E-07

 Testing out the wplatex package

  • 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.

 Coordinatization with hom complexes

  • December 7th, 2009
  • 10:55 pm

These are notes from a talk given at the Stanford applied topology seminar by Gunnar Carlsson from 9 Oct 2009. The main function of this blog post is to get me an easily accessible point of access for the ideas in that talk.


First off, a few words on what we mean by coordinatization: as in algebraic geometry, we say that a coordinate function is some X\to\mathbb R or possibly some X\to\mathbb C, with all the niceness properties we’d expect to see in the context we’re working.

A particularly good example is Principal Component Analysis which yields a split linear automorphism on the ambient space that maximizes spread of the data points in the initial coordinates.

Topological coordinatization

The core question we’re working with right now is this:
Given a space (point cloud) X, and a (persistent) view of H_*(X), can we use some map H_*(X)\to H_*(Y) to generate a map X\to Y inducing that map?

 [MATH198] Lecture 10 (last lecture) posted

  • 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.

 [MATH198] Lecture 9 posted and lectured

  • November 19th, 2009
  • 7:44 pm

Lecture 9: Catamorphisms, Anamorphisms, more from that zoo; adjunctions, some properties and some examples.

 [MATH198] Multiple lectures posted

  • 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 Eilenberg-Moore algebras, initial algebras for datatype specification, Lambek’s lemma and structural induction and recursion with endofunctor algebras.

 [MATH198] Lecture 5 is up

  • October 23rd, 2009
  • 6:07 pm

And, as it turns out, my logic-fu 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.

 [MATH 198] Lecture 4 and a question for the community

  • 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?

 [MATH198] Third lecture is up

  • October 9th, 2009
  • 8:09 am

The third lecture is up on the haskell wiki.

 [MATH 198] Second lecture

  • 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.

 [MATH198] Lecture 1 now online

  • 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

 [Stanford] MATH 198: Category Theory and Functional Programming

  • 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

 Soliciting advice

  • July 22nd, 2009
  • 3:28 pm

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 Curry-Howard isomorphism, the Hom-Tensor 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?

 Guess the plots!

  • June 3rd, 2009
  • 5:30 pm

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.

 Mapping zipcodes in R

  • May 13th, 2009
  • 3:51 pm

I started fiddling around with R again, and ended up playing with a zipcode database.

So, first I downloaded the zipcode database at Mapping Hacks, and unpacked the zipfile in my working directory.

Then, I loaded the data into R

> zips <- read.table("zipcode.csv",sep=",",quote="\"",header=TRUE)
> names(zips)
[1] "zip"       "city"      "state"     "latitude"  "longitude"
[6] "timezone"  "dst"      

So, now I have an R frame containing a lot of US cities, their geographical coordinates, and their zip codes. So we can start playing with the plot command! After rooting around a bit, I ended up settling on the smallest footprint plot dot I could make R produce, by setting the option pch=20 in the plot options. Hence, I ended up with a command basically like this:

 Gröbner bases for Operads — or what I did in my vacation

  • May 8th, 2009
  • 6:28 pm

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 non-zero 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 row-reduced echelon form.

 1-manifolds and curves

  • May 2nd, 2009
  • 12:10 pm

I have been painfully remiss in keeping this blog up and running lately. I wholeheartedly blame the pretty intense travel schedule I’ve been on for the last month and a half.

To get back into the game, I start things off with a letter from a reader. Rodolfo Medina write:

Hallo, Michi:

surfing around in internet, looking for an answer to my question, I fell into
your web site.

I’m looking for an answer to the following question:

my intuitive idea is that a one-dimensional connected topological submanifold
of a topological space S should necessarily be the codomain of a curve (if we
define a curve to be a continuous map from an R interval into a topological

Conversely, the codomain of an injective curve, defined in an open R interval,
should necessarily be a one-dimensional topological submanifold of S.

 Applied knot theory

  • March 16th, 2009
  • 2:41 am

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.

 Picking fights over religion

  • 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.

 Homological Inclusion-Exclusion and the Mayer-Vietoris sequence

  • January 9th, 2009
  • 10:44 pm

This blogpost is inspired to a large part by comments made by Rob Ghrist, in connection to his talks on using the Euler characteristic integration theory to count targets detected by sensor networks.

He pointed out that the underlying principle inducing the rule
\chi(A\cup B) = \chi(A)+\chi(B)-\chi(A\cap B)
goes under many names, among those \emph{Inclusion-Exclusion}, favoured among computer scientists (and combinatoricists). He also pointed out that the origin of this principle is the Mayer-Vietoris long exact sequence
\cdots\to H_{n}(A\cap B)\to H_{n}(A)\oplus H_{n}(B)\to H_{n}(A\cup b)\to\cdots

In this blog post, I’d like to give more meat to this assertion as well as point out how the general principle of Inclusion-Exclusion for finite sets follows immediately from Mayer-Vietoris.

Inclusion-Exclusion, and the passage from two sets to many

The basic principle of Inclusion-Exclusion says that if we have two sets, A and B, then the following relationship of cardinalities holds:
|A\cup B| = |A| + |B| &#8211; |A\cap B

 J, or how I learned to stop worrying and love the matrix

  • December 10th, 2008
  • 8:50 am

Or actually, I haven’t quite yet.

But, out of a whim, I downloaded J and started to play with it while reading this set of neat notes on Functional Programming and J.

And … well … my reaction so far is kinda “Buh!? What the *** just happened there?”

The first example I ran across, tried to read, and finally managed to is the following:

+/ , 5 = q: >: i. 100

This snippet is supposed to tell us how many 0s are trailing 100!. To get at this, we first need to figure out what, exactly, is done here. First observation is that 100! is the product of all integers from 1 to 100. The second is that the number of 0s trailing this is the same as the lower of the orders of 2 and 5, respectively, dividing 100!. Which, in turn is the lower of the numbers of 2s and 5s occurring in the totality of all prime decompositions of all the integers from 1 to 100.

 So that must mean I’ve been a mathematician since 2005?

  • December 8th, 2008
  • 4:03 am

This is a rather atrocious article giving yet another ad hoc “formula” to compute some numeric measurement of something-or-other. In this particular case, it’s about cleavage, and how to avoid showing too much of it, but these “formulae” plague us every time some journalist wants to math up their reporting.

What caught my eye in this particular case was the people they lined up to back up the story.

Mathematician William Hartston, who holds an MA in Maths from Cambridge University, reckons this will save a lot of showbiz blushes on the red carpet.

 Site tweaks and travel plans

  • November 12th, 2008
  • 8:33 am

I’ve tweaked the layout of my blog a little bit. Among the more notable additions to it is the little box with a list of the major travel plans in my future.

This box is connected to a Google Calendar, public, and maintained from my normal calendar program, in which I plan to announce travel dates for any major trips I make as they come up.

Note that currently stored in this calendar are:

  • Ypsilanti, MI, November 13-24 2008
  • Millersville University, Lancaster PA, December 10-19 2008
  • Christmas, Stockholm, Sweden, December 19 2008-January 4 2009
  • AMS MAA Joint Mathematics Meeting, Washington DC, January 4-9 2009
  • DARPA Topological Data Analysis, Santa Barbara CA, January 21-23 2009
  • AMS Southeastern Regional Meeting, Raleigh NC, April 4-5 2009
  • Operads thematic school, Luminy, France, April 20-25 2009
  • Operads international conference, Luminy, France, April 27-30 2009

 More on Lichtenstein

  • October 28th, 2008
  • 11:03 pm

It turns out that there is even more to say on the communes of Lichtenstein.

First of all, there is a 5-clique in the communal graph, as Brian Hayes pointed out. But there are two different excluded subgraphs for planarity – so if we aren’t looking specifically for the chromatic number, but rather how this graph fails to be a “normal” land map, we might want to see whether it realizes BOTH.

It turns out that it does.

The following are two highlighted versions of the Liechtenstein communal graph.

The embedded K5 with edges in blue.

The embedded K33 with blue and red vertices.

 On the chromatic number of Lichtenstein

  • October 28th, 2008
  • 7:41 pm

Following the featuring of the internal political structure of Lichtenstein on the Strange Maps blog, Brian Hayes asks for the chromatic number of Lichtenstein.

Rahul pointed out that I made errors in transferring the map to a graph. Specifically, I missed the borders Schellenberg-Eschen and Vaduz-Triesen. The post below changes accordingly.

Warning: This post DOES contain spoilers to Brian’s question. If you do want to investigate it yourself, you’ll need to stop reading now. Apologies to those on my planet feeds.

As a first step, we need to build a graph out of it. I labeled each region in turn with the exclaves numbered higher than the “main” region of each organizational unit. And then I build a .dot file to capture them all:

 Cup products in simplicial cohomology

  • September 12th, 2008
  • 1:12 am

This post is a walkthrough through a computation I just did – and one of the main reasons I post it is for you to find and tell me what I’ve done wrong. I have a nagging feeling that the cup product just plain doesn’t work the way I tried to make it work, and since I’m trying to understand cup products, I’d appreciate any help anyone has.

I’ve picked out the examples I have in order to have two spaces with the same Betti numbers, but with different cohomological ring structure.

Sphere with two handles

I choose a triangulation of the sphere with two handles given the boundary of a tetrahedron spanned by the nodes a,b,c,d and the edges be, ef, bf and cg, ch, gh spanning two triangles.

We get a cochain complex on the form
0 \to \mathbb{Z}^8 \to \mathbb{Z}^{12} \to \mathbb{Z}^4 \to 0
with the codifferential given as

1 & -1 & 0 & 0 & 0 & 0 & 0 & 0\\
1 & 0 & -1 & 0 & 0 & 0 & 0 & 0\\
1 & 0 & 0 & -1 & 0 & 0 & 0 & 0\\
0 & 1 & -1 & 0 & 0 & 0 & 0 & 0\\
0 & 1 & 0 & -1 & 0 & 0 & 0 & 0\\
0 & 1 & 0 & 0 & -1 & 0 & 0 & 0\\
0 & 1 & 0 & 0 & 0 & -1 & 0 & 0\\
0 & 0 & 1 & -1 & 0 & 0 & 0 & 0\\
0 & 0 & 1 & 0 & 0 & 0 & -1 & 0\\
0 & 0 & 1 & 0 & 0 & 0 & 0 & -1\\
0 & 0 & 0 & 0 & 1 & -1 & 0 & 0\\
0 & 0 & 0 & 0 & 0 & 0 & 1 & -1\\

1 & -1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
1 & 0 & -1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 1 & -1 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 1 & -1 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\

 R and topological data analysis

  • August 23rd, 2008
  • 4:38 pm

This is extremely early playing around. It touches on things I’m going to be working with in Stanford, but at this point, I’m not even up on toy level.

We’ll start by generating a dataset. Essentially, I’ll take the trefolium, sample points on the curve, and then perturb each point ever so slightly.

idx <- 1:2000
theta <- idx*2*pi/2000
a <- cos(3*theta)
x <- a*cos(theta)
y <- a*sin(theta)
xper <- rnorm(2000)
yper <- rnorm
xd <- x + xper/100
yd <- y + yper/100
cd <- cbind(xd,yd)

As a result, we get a dataset that looks like this:
Trifolium data

So, let’s pick a sample from the dataset. What I’d really want to do now would be to do the witness complex construction, but I haven’t figured enough out about how R ticks to do quite that. So we’ll pick a sample and then build the 1-skeleton of the Rips-Vietoris complex using Euclidean distance between points. This means, we’ll draw a graph on the dataset with an edge between two sample points whenever they are within ε from each other.

 RIP Henri Cartan

  • August 22nd, 2008
  • 6:29 pm

As John Armstrong said, I didn’t know he was still alive!

On the algebraic topology mailing list, the announcement came today that Henri Cartan, once co-founder of Nicholas Bourbaki, died August 13, 2008:

La Soci

 The end of the line

  • August 4th, 2008
  • 6:15 pm

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.

 Junior Mathematical Congress 2008

  • July 30th, 2008
  • 4:59 pm

Is one reason for my current inactivity. It seems to be shaping up to a REALLY GOOD event.

 Blackbox computing of A-infinity algebras

  • July 25th, 2008
  • 6:18 pm

The last of my thesis results has reached article form. The paper Blackbox computation of A-infinity algebras has now hit the arXiv and been submitted to the Kadeishvili Festschrift issue of the Georgian Mathematics Journal.

 Dr rer nat, Magna cum laude

  • July 17th, 2008
  • 2:43 pm

After about 5 semesters, one paper, one erratum (submitted to JHRS) and one thesis, and after taking two oral exams and delivering one 30 minute talk on my research, I am now (modulo the week or two it takes to produce my certificate) entitled to the title of doctor rerum naturalium.

Next stop is the topology in computer science workgroup at Stanford, where I have accepted an offer for a postdoc research position up to 3 years (conditional on my good behaviour :-).

 A vision for collaborative mathematics platforms

  • June 19th, 2008
  • 8:53 am

Based on the extensive discussion at the Secret Blogging Seminar on tools for long-distance collaborations, Scott Morrison writes an introduction to source control with subversion for research collaborators.

In this post, Scott also offers, quite magnanimously, to setup and host subversion repositories for any mathematician who happens to want to start collaborating using subversion.

Which, to my mind, immediately prompts the question: why stop there? I’ve had ideas about setting up a free and easy to use platform for modern communication in the mathematical community before; but they were along the lines of duplicating‘s efforts; which isn’t really something that pays off on your efforts. Reading this, though, raised a new idea.

Why not setup a server – preferably with a university data center as backing – which dispenses free platforms with the following contents:

  • Source control. Preferably option on subversion, git, mercurial – or some such selection of modern and wide-spread systems.

 FRA-Lagen och falska positiver

  • June 18th, 2008
  • 9:56 am

Jag har varit en god medborgare. Jag har b

 On purity and essence of mathematics

  • June 15th, 2008
  • 12:06 pm

I seem, lately, to be so densely planned that all I can do for my blog is to react on blog posts from Ben Webster at the Secret Blogging Seminar.

He has, recently, written a post inspired by the xkcd comic on purity in the sciences. The comic is funny, and rings true, but Ben brings up a severe criticism of the premises of the comic that rings back to my own years as a hotheaded undergraduate.

You should read all of Ben’s post, but if you don’t, you should at least read the following:

And I think one of the key points here is this: mathematics is not science. Mathematics is often lumped in with science, and is often used by scientists. Mathematicians often know more science than normal people, and certainly scientists know more mathematics. But mathematics and science are fundamentally different activities, as different as making a gun and fighting in a battle. I mean, no one would claim there are no links between those occupations, or that gun-makers don