14/10/2014
So, again, I got a Bluetooth keyboard. This time, I’m pleased with the fact that it will, in principle, never need to have its batteries changed. It’s solar. I got the Logitech K760.

So of course, I set out to test it a good while before concluding whether or not it would be charged enough to keep up with me. But how much typing do I do in a day? Well, let’s find out!
Read the rest of this entry »
5 Comments |
Bash (Shell), hacks | Tagged: Bluetooth, HCI, Keyboard, wireless |
Permalink
Posted by Steven Pigeon
07/10/2014
I’ve visited the Collatz conjecture a couple of times before. I’ve played with the problem a bit more to understand how attractors work in the Collatz problem.

So what is the Collatz conjecture? The conjecture is that the function

Always reaches one. But the catch is, nobody actually figured out how to prove this. It seems to be true, since for all the
ever tried the function eventually reached 1. While it is very difficult to show that it reaches 1 every time, it’s been observed that there are chains, let’s call them attractors, such what when you reach a number within that chain, you go quickly to 1. One special case is the powers-of-two attractor: whenever you reach a power of two, it’s a downward spiral to 1. Can we somehow use this to speed up tests?
Read the rest of this entry »
5 Comments |
algorithms, bit twiddling, Mathematics | Tagged: Collatz, Collatz conjecture, Collatz problem, hack, Powers of two |
Permalink
Posted by Steven Pigeon
30/09/2014
One of the tools I use to make figures for papers and books—if I need to make a graph, of course—is Graphviz. Graphviz is flexible, powerful, but also a rather finicky beast that will repeatedly bite your fingers. Today, I’ll share some of my tricks with you.

Read the rest of this entry »
2 Comments |
Design, hacks | Tagged: graph, graph theory, GraphViz, layout, lecture notes, patience, planar, planar graph |
Permalink
Posted by Steven Pigeon
23/09/2014
In many occasions, we have to estimate a probability distribution from observations because we do not know the probability and we do not have enough a priori knowledge to infer it. An example is text analysis. We may want to know the probability distribution of letters conditional to the few preceding letters. Say, what is the probability of having ‘a’ after ‘prob’? To know the probability, we start by estimating frequencies using a large set of observations—say, the whole Project Gutenberg ASCII-coded English corpus. So we scan the corpus, count frequencies, and observe that, despite the size of the corpus, some letter combinations weren’t observed. Should the corresponding probability be zero?
Read the rest of this entry »
Leave a Comment » |
algorithms, data compression, Mathematics | Tagged: Frequency, Huffman, Huffman Codes, Observations, probabilities, Sample, Samples, Zero frequency |
Permalink
Posted by Steven Pigeon
16/09/2014
I have been reading a lot of mathematical recreation books of late. Some in English, some in French, with the double goal of amusing myself and of finding good exercises for my students. In [1], we find the following procedure:
Take any number,
digits long, make this number
. Make
the number made of the sorted (decreasing order) digits of
, and
, the number made of the sorted (increasing order) digits of
. Subtract both to get
:
. Repeat until you find a cycle (i.e., the computation yields a number that have been seen before).
Jouette states that for 2 digits, the cycle always starts with 9, for 3 digits, it starts with 495, for 4 digits, 6174, and for 5 digits, 82962. For 2, 3, and 4 digits, he’s mostly right, except that the procedure can also reach zero (take 121 for example: 211-112=99, 99-99=0). For 5 digits, however, he’s really wrong.
Read the rest of this entry »
2 Comments |
algorithms, Mathematics | Tagged: Mathematical recreations, number theory, Recreational mathematics |
Permalink
Posted by Steven Pigeon
09/09/2014
A few days ago, a friend asked me how to write, if even possible, a hash function that had no collisions. Of course, it’s relatively easy to get a reasonably good hash function that will give the expected amount of collisions (especially when used as usual, modulo the size of the table). But what if we do not want collisions at all? What can we do?

There are some hash functions, known as perfect hash function, that will yield a different hash for every key from a a priori known set of keys, say
. Are they hard to build? Fortunately, not really. Can we exploit the uniqueness of the hashed value to speed look-ups up? Yes, but it’s a bit more complicated.
Read the rest of this entry »
Leave a Comment » |
algorithms, C-plus-plus, data structures | Tagged: constant time, hash, hash function, hash functions, hashing, perfect hash, perfect hash function, perfect hashing |
Permalink
Posted by Steven Pigeon
02/09/2014
You’ve certainly heard of Fermat’s last theorem stating that

has no integer solutions for
. Well, guess what:
.
Take that, Fermat!
Read the rest of this entry »
Leave a Comment » |
algorithms, hacks, Mathematics | Tagged: Fermat, Fermat's Last Theorem, integer solutions, number theory |
Permalink
Posted by Steven Pigeon
08/06/2014
Simon Singh — The Simpsons and Their Mathematical Secrets — Bloomsbury, 2013, 255 pp. ISBN 978-1-62040-277-1

(Buy at Amazon.com)
Using, as an excuse, the fact that The Simpsons (and their sister series Futurama) use mathematics as part of the plot or as a “frame freeze gag” (a gag that is so short that unless you look at the show frame by frame, you might miss it), Singh (which you may remember from books such as The Code Book and Fermat’s Last Theorem) brings us along a mathematical walk, presenting us the mathematically-inclined writers of the shows. But, as I said, The Simpsons are merely a convenient excuse to introduce mathematics and theorems: if you expect to learn a lot about The Simpsons themselves, you’d be disappointed. The book is about the mathematics and the writers.
However, it’s an interesting read: prime numbers,
, combinatorics, computation and algorithmics. I especially liked the Futurama Theorem that describes how, using a mind-swapping machine that can swap minds between two same individuals once only, we can un-scramble minds and bodies and put every one in their rightful body (not a new plot device, Stargate did it first, in s02e18).
Leave a Comment » |
Mathematics, Suggested Reading | Tagged: Futurama, Pi, Simon Singh, Singh, The Simpsons |
Permalink
Posted by Steven Pigeon
19/05/2014
Peter S. Rudman — How Mathematics Happened: The First 50000 Years — Prometheus Books, 2006, 314 pp. ISBN 978-1-59102-477-4

(Buy at Amazon.com)
What first got me interested in this book is the “50000 years” part. I was preparing lectures notes for my course on discrete mathematics and I wanted my students to have an idea of what prehistoric maths might have been, say, 20000 years ago. Unfortunately, you wont learn much about this in this book
The book does hint about what mathematics might have been in hunter-gatherer times, and how it might have affected later developments. But that lasts for about a chapter or so, and the remainder is devoted to historical mathematics: Ancient Egyptian, Babylonian, and Classical Greek. All kinds of numerical algorithms are covered, presented in great detail, making the book more technical than historical. Some part are speculative as the historical record is incomplete at best, but it is speculative in the best way possible, with every assumption backed by an actual historical observation.
4 Comments |
Mathematics, Suggested Reading | Tagged: Ancient Egyptians, Ancient Greeks, babylonians, egyptians, greeks, historical mathematics, mathematics, Peter S. Rudman, prehistoric |
Permalink
Posted by Steven Pigeon
13/05/2014
I have been absurdly busy lately and I cannot keep with the pace of posting one new post per week. Now that the semester’s over, I must take advantage of the few blessed months of summer to further my research, and the blog isn’t top priority. But, rest assured, I will be back in september to resume the once-a-week post schedule.
Until then, enjoy your summer.

1 Comment |
Life | Tagged: closed for summer, margarita, research, semester, summer, sunset |
Permalink
Posted by Steven Pigeon