Category Archives: math

Mgu’s and universal properties

Warning, poorly-explained categorical rambling follows… The most general unifier (mgu) of two expressions and is a substitution for which , such that every other substitution for which can be expressed as for some . For example, the most general unifier … Continue reading

Posted in math | Tagged , , , | 9 Comments

Species operations: differentiation

Continuing my series describing my new combinatorial species library, today we’ll take a look at the operation of differentiation. You may remember that the Species type class has an Algebra.Differential constraint, which, as I previously explained, transitively implies an Algebra.Ring … Continue reading

Posted in combinatorics, haskell, math | Tagged , , | 1 Comment

Primitive species and species operations, part II

In my previous post, I began describing the primitive species and species operations supported by my combinatorial species library; we looked at the ring structure on species, that is, the primitive species and , and the operations of species sum … Continue reading

Posted in combinatorics, haskell, math | Tagged , , , , | 2 Comments

Primitive species and species operations

In this second post about my new combinatorial species library, I plan to begin writing about the species DSL itself: what are the primitive combinatorial species and the primitive operations on species? (The first post described the concept of combinatorial … Continue reading

Posted in combinatorics, haskell, math | Tagged , , , | 3 Comments

Introducing Math.Combinatorics.Species!

I have just uploaded to Hackage version 0.1 of the species package, a Haskell library for computing with combinatorial species. Much like David Amos’s great series of posts introducing his Haskell for Maths library, I plan to write a series … Continue reading

Posted in combinatorics, haskell, math, projects | Tagged , | 14 Comments

Abstraction, intuition, and the “monad tutorial fallacy”

While working on an article for the Monad.Reader, I’ve had the opportunity to think about how people learn and gain intuition for abstraction, and the implications for pedagogy. The heart of the matter is that people begin with the concrete, … Continue reading

Posted in haskell, learning, math, teaching | Tagged , , , , , | 91 Comments

The Poisson distribution and Stirling numbers

While working on an assignment for my machine learning class, I rediscovered the fact that if X is a random variable from a Poisson distribution with parameter , then where denotes a Stirling number of the second kind. (I actually … Continue reading

Posted in combinatorics, grad school, learning, math | Tagged , , , | 2 Comments

Collecting unstructured information with the monoid of partial knowledge

In my last post, I described what I’m calling the “monoid of partial knowledge”, a way of creating a monoid over sets of elements from a preorder, which is a generalization of the familiar monoid over a set with a … Continue reading

Posted in haskell, math | Tagged , , | 4 Comments

An interesting monoid

The other day I was just sort of letting my mind wander, and I came up with an interesting monoid, which I’m calling the “monoid of partial knowledge”. So I thought I’d write about it here, partly just because it’s … Continue reading

Posted in math | Tagged , , | 3 Comments

Monad.Reader article (Multiset partitions)

I imagine that most who read this blog have already seen it, but for those who haven’t, my article Generating Multiset Partitions has been published in Issue #8 of The Monad.Reader.  In it, I discuss the problem of generating multiset … Continue reading

Posted in haskell, math, writing | Tagged , , , , | 2 Comments