it's a little slow :-( i'd guess the `score` function is the slowest part. can maybe get scipy to do a dot-product for us?
note that the interpolation is very BAD. i need to figure out better sampling.