diffeo

Named for Anosov's diffeomorphism, the diffeo calculator is a piece of software that calculates the table size and number of iterations until recursion of Arnold's Cat Map (see cat map for more info ).

It is an OSX native program written in Objective-C and Cocoa. It was developed upon discovery that to determine the number of iterations until the matrix repeats you only have to track position (0,1) on its journey through the manipulation.

Previous to this discovery it took my Apple G4 800 MHz processor approximately 45 minutes to determine how many iterations a 3.6 second sound file with 9,535,744 samples would take to repeat (1164 times). To determine the number of iterations the software continually performs the map on a matrix until it gets back to its original order. When it repeats, the software stops and tells you how many times it took. Therefore the old software was doing 9,535,744 x 1164 or 11,099,606,016 (eleven billion) operations on the matrix. It also checked all nine million positions of the matrix against the original during each iteration. So, not counting other computer instructions, the program had to do 22,199,212,032 (twenty-two billion) calculations.

After the discovery the software only has to calculate one position of the matrix. Therefore it only does 1164 x 2 or 2228 calculations for this sound file, once to manipulate and once to check.

The program has extra functions to allow for the audio file manipulation I was working with. It will accept a file length in time (assuming 44100 sampling rate) or the number of samples and calculate the nearest square matricies that can be used to manipulate the file.
It will also allow the entry of an n-size (one side of the matrix) to deduce the number of iterations until recursion.

download the diffeo calculator || OSX zip 41kb
I don't plan on continuing development on this software unless someone actually finds it useful.