This site is supported by donations to The OEIS Foundation.

User:Cole Dykstra

From OeisWiki
Jump to: navigation, search

I completed my BA from the University of Maine at Augusta and am now applying to graduate school for computer science. I enjoyed solving Project Euler problems in Python (112 of 806) until I realized that many of the answers are OEIS sequences. The algorithms that can generate those sequences are fascinating. Solving Project Euler problems is essentially playing solitaire, but contributions here make the world a better place.

My goal is to contribute compact Python to sequences that do not already have Python programs. I prefer algorithms that can efficiently compute the entire b-file table quickly. I have written seven sequencers that try to automatically generate and test these programs by examining the stripped.gz file. If a sequencer gets a match, then it compares against the entire b-file table. I am particularly fond of Python generator objects and the yield expression.

Some of my favorite Python contributors are Chai Wah Wu, Peter Luschny, Indranil Ghosh, and Michael S. Branicky. I have extracted the Python code from the first 30,000 entries, and spent many enjoyable hours studying them as examples.

Right now, I am working on a Python program that generates the Highly Composite Numbers table A002182 , it is not something compact like Chai Wah Wu’s contribution. However, it can reproduce the first 5000 entries of the table in 76 seconds, which on my little laptop is competitive with Flammenkamp’s C code. It incorporates some of the optimizations from D. B. Siano and J. D. Siano (1994), but is a different approach then Flammenkamp. I was unaware of the work of Flammenkamp and Siano when I started. When I am happy with the results of the entire 10,000 entry table then I will post it somewhere and link it here for review. I do not hope to go beyond 10,000 entries, that Flammenkamp proved 779,674 entries is astounding.