-
Notifications
You must be signed in to change notification settings - Fork 1
This program helps check that integers are the sum of less than or equal to 5 tetrahedral numbers. A tetrahedral number is of the form (m^3 - m) / 6
License
rheyns/pollock-conjecture-stats
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Introduction: This program aims to empirically check Pollock's conjecture[1] for integers smaller than 2^64. Briefly, Pollock's conjecture states that every integer can be represented as the sum of no more than 5 tetrahedral numbers. Where a tetrahedral number is defined as T(m) = (m^3 - m) / 6 Compiling: gcc -O3 -o pyramidal pyramidal.c Headers may have to be changed if using MSVC since I don't believe Microsoft supports stdint.h or the C99 uintxx_t types but it's been a while since I checked this. Usage: Run pyramidal with a single integer parameter. The parameter indicates which billion integer block should be examined. For example user@host:~$ ./pyramidal 1 N1 number in segment 1: 1816 N2 number in segment 1: 1451433 N3 number in segment 1 part 0: 446186613 N4ish coverage of the next segment 1000000000 Output: The output of this program is statistics on the distribution of integers in a billion integer slice. In the above output N1 number indicates the number of tetrahedral numbers in the interval [1, 1,000,000,000] while N2 indicates the number of integers in that interval representable as the sum of exactly two tetrahedral numbers. N3 similarly represents the number of integers requiring axactly three tetrahedral numbers to represent them. For parameters greater than 1 this line also gives an indication of progress. N4ish coverege indicates the number of integers in the following segment - [1,000,000,001, 2,000,000,000] in this case - which can be represented as the sum of N1, N2 and N3 elements in the given segment plus tetrahedral numbers in the inteval [1, 10^9]. An output of 1000000000 here indicates complete coverage. The reason this is referred to as N4ish coverage is that this is actually proves a stronger statement than whether these numbers can be represented as the sum of ANY four tetrahedral numbers. If this number is less than a billion it is still possible that all the integers are represented and a more complete check should be undertaken. Thusfar coverage appears complete up to 401 billion. Background: In the first published numerical attack on Pollock's conjecture Salzer[2] enumerated the 241 integers known to require exactly five tetrahedral numbers, the largest of which is 343,867. Afterwards this problem was revisited around 1992 by several mathematicians who were concerned with checking the conjecture for integers up to 10^9.[3] The most recent published effort managed to verify the conjecture for integers up to 40 billion.[4] Using this program along with some help from friends and EC2 instance I was able to generate statistics for numbers up to 400 billion, writeup to follow soon on my blog[5]. [1] http://mathworld.wolfram.com/PollocksConjecture.html [2] Salzer, H. E. and Levine, N. "Table of Integers Not Exceeding 1000000 that are Not Expressible as the Sum of Four Tetrahedral Numbers." Math. Comput. 12, 141-144, 1958. [3] Waring's Problem for Pyramidal Numbers http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.15.3230&rep=rep1&type=pdf [4] Decomposing 40 billion integers by four tetrahedral numbers. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.140.7839&rep=rep1&type=pdf [5] http://euler.rouxheyns.com
About
This program helps check that integers are the sum of less than or equal to 5 tetrahedral numbers. A tetrahedral number is of the form (m^3 - m) / 6
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published