Sunday, January 10, 2010

Counting Targets using the Euler Characteristic, Part 1

Using LaTeX was so much easier than HTML that I'm doing it again. The PDF is here and the literate Haskell source is here.


The problem I ultimately want to solve, and its solution, is described in the paper Target Enumeration via Euler Characteristic Integrals by Baryshnikov and Ghrist. My goal here is to show how to implement that solution on a computer, and by doing so make it accessible to a wider audience.

Thanks to @alpheccar for tweeting about the original paper.


  1. Sigfpe, is the following part correct?

    > So we'd also like this property:
    > count (n `scale` f ) = count f
    > It's easy to see that that gsum actually has this property for n > 0:
    > gsum (n `scale` f ) = n^2 * gsum f

    As I understand, you want count to remain invariant under scaling, but the function gsum does not have this property?

  2. Am I guilty of what Conal Elliot now calls "vague pronoun referent"? The 'this' refers to the following property, not the one on the line before.

    A count function would be completely invariant under scaling.

    gsum isn't completely invariant. But it *does* have the alternative transformation property I describe.

    To make this absolutely unambiguous, compare

    gsum test1


    gsum (2 `scale` test1).

    The return value of gsum changes by a factor of 2^2.

  3. Ah, that clears things up.

    > Am I guilty of what Conal Elliot now calls "vague pronoun referent"?

    Well, yes. I was confused as I thought "this" in the second sentence referred to the previous property. Now knowing what you actually meant, the sentence reads differently (when reading out loud, there seems to be an emphasis on "this property").

  4. Writing clearly is tough! Because of Conal's advice I explicitly searched for vague pronoun referents and thought I had eliminated them.

    Anyway, I think special_property_2 is cool so keep at it!