Regular number

(Redirected from Hamming numbers)

Regular numbers are numbers that evenly divide powers of 60 (or, equivalently, powers of 30). Equivalently, they are the numbers whose only prime divisors are 2, 3, and 5. As an example, 602 = 3600 = 48 × 75, so as divisors of a power of 60 both 48 and 75 are regular.

A Hasse diagram of divisibility relationships among the regular numbers up to 400. The vertical scale is logarithmic.[1]

These numbers arise in several areas of mathematics and its applications, and have different names coming from their different areas of study.

  • In number theory, these numbers are called 5-smooth, because they can be characterized as having only 2, 3, or 5 as their prime factors. This is a specific case of the more general k-smooth numbers, the numbers that have no prime factor greater than k.
  • In the study of Babylonian mathematics, the divisors of powers of 60 are called regular numbers or regular sexagesimal numbers, and are of great importance in this area because of the sexagesimal (base 60) number system that the Babylonians used for writing their numbers, and that was central to Babylonian mathematics.
  • In music theory, regular numbers occur in the ratios of tones in five-limit just intonation. In connection with music theory and related theories of architecture, these numbers have been called the harmonic whole numbers.
  • In computer science, regular numbers are often called Hamming numbers, after Richard Hamming, who proposed the problem of finding computer algorithms for generating these numbers in ascending order. This problem has been used as a test case for functional programming.

Number theory

edit

Formally, a regular number is an integer of the form  , for nonnegative integers  ,  , and  . Such a number is a divisor of  . The regular numbers are also called 5-smooth, indicating that their greatest prime factor is at most 5.[2] More generally, a k-smooth number is a number whose greatest prime factor is at most k.[3]

The first few regular numbers are[2]

1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 16, 18, 20, 24, 25, 27, 30, 32, 36, 40, 45, 48, 50, 54, 60, ... (sequence A051037 in the OEIS)

Several other sequences at the On-Line Encyclopedia of Integer Sequences have definitions involving 5-smooth numbers.[4]

Although the regular numbers appear dense within the range from 1 to 60, they are quite sparse among the larger integers. A regular number   is less than or equal to some threshold   if and only if the point   belongs to the tetrahedron bounded by the coordinate planes and the plane   as can be seen by taking logarithms of both sides of the inequality  . Therefore, the number of regular numbers that are at most   can be estimated as the volume of this tetrahedron, which is   Even more precisely, using big O notation, the number of regular numbers up to   is   and it has been conjectured that the error term of this approximation is actually  .[2] A similar formula for the number of 3-smooth numbers up to   is given by Srinivasa Ramanujan in his first letter to G. H. Hardy.[5]

Babylonian mathematics

edit
 
AO 6456, a table of reciprocals of regular numbers from Seleucid Uruk, copied from an unknown earlier source

In the Babylonian sexagesimal notation, the reciprocal of a regular number has a finite representation. If   divides  , then the sexagesimal representation of   is just that for  , shifted by some number of places. This allows for easy division by these numbers: to divide by  , multiply by  , then shift.[6]

For instance, consider division by the regular number 54 = 2133. 54 is a divisor of 603, and 603/54 = 4000, so dividing by 54 in sexagesimal can be accomplished by multiplying by 4000 and shifting three places. In sexagesimal 4000 = 1×3600 + 6×60 + 40×1, or (as listed by Joyce) 1:6:40. Thus, 1/54, in sexagesimal, is 1/60 + 6/602 + 40/603, also denoted 1:6:40 as Babylonian notational conventions did not specify the power of the starting digit. Conversely 1/4000 = 54/603, so division by 1:6:40 = 4000 can be accomplished by instead multiplying by 54 and shifting three sexagesimal places.

The Babylonians used tables of reciprocals of regular numbers, some of which still survive.[7] These tables existed relatively unchanged throughout Babylonian times.[6] One tablet from Seleucid times, by someone named Inaqibıt-Anu, contains the reciprocals of 136 of the 231 six-place regular numbers whose first place is 1 or 2, listed in order. It also includes reciprocals of some numbers of more than six places, such as 323 (2 1 4 8 3 0 7 in sexagesimal), whose reciprocal has 17 sexagesimal digits. Noting the difficulty of both calculating these numbers and sorting them, Donald Knuth in 1972 hailed Inaqibıt-Anu as "the first man in history to solve a computational problem that takes longer than one second of time on a modern electronic computer!" (Two tables are also known giving approximations of reciprocals of non-regular numbers, one of which gives reciprocals for all the numbers from 56 to 80.)[8][9]

Although the primary reason for preferring regular numbers to other numbers involves the finiteness of their reciprocals, some Babylonian calculations other than reciprocals also involved regular numbers. For instance, tables of regular squares have been found[6] and the broken tablet Plimpton 322 has been interpreted by Neugebauer as listing Pythagorean triples   generated by   and   both regular and less than 60.[10] Fowler and Robson discuss the calculation of square roots, such as how the Babylonians found an approximation to the square root of 2, perhaps using regular number approximations of fractions such as 17/12.[9]

Music theory

edit

In music theory, the just intonation of the diatonic scale involves regular numbers: the pitches in a single octave of this scale have frequencies proportional to the numbers in the sequence 24, 27, 30, 32, 36, 40, 45, 48 of nearly consecutive regular numbers.[11] Thus, for an instrument with this tuning, all pitches are regular-number harmonics of a single fundamental frequency. This scale is called a 5-limit tuning, meaning that the interval between any two pitches can be described as a product 2i3j5k of powers of the prime numbers up to 5, or equivalently as a ratio of regular numbers.[12]

5-limit musical scales other than the familiar diatonic scale of Western music have also been used, both in traditional musics of other cultures and in modern experimental music: Honingh & Bod (2005) list 31 different 5-limit scales, drawn from a larger database of musical scales. Each of these 31 scales shares with diatonic just intonation the property that all intervals are ratios of regular numbers.[12] Euler's tonnetz provides a convenient graphical representation of the pitches in any 5-limit tuning, by factoring out the octave relationships (powers of two) so that the remaining values form a planar grid.[12] Some music theorists have stated more generally that regular numbers are fundamental to tonal music itself, and that pitch ratios based on primes larger than 5 cannot be consonant.[13] However the equal temperament of modern pianos is not a 5-limit tuning,[14] and some modern composers have experimented with tunings based on primes larger than five.[15]

In connection with the application of regular numbers to music theory, it is of interest to find pairs of regular numbers that differ by one. There are exactly ten such pairs   and each such pair defines a superparticular ratio   that is meaningful as a musical interval. These intervals are 2/1 (the octave), 3/2 (the perfect fifth), 4/3 (the perfect fourth), 5/4 (the just major third), 6/5 (the just minor third), 9/8 (the just major tone), 10/9 (the just minor tone), 16/15 (the just diatonic semitone), 25/24 (the just chromatic semitone), and 81/80 (the syntonic comma).[16]

In the Renaissance theory of universal harmony, musical ratios were used in other applications, including the architecture of buildings. In connection with the analysis of these shared musical and architectural ratios, for instance in the architecture of Palladio, the regular numbers have also been called the harmonic whole numbers.[17]

Algorithms

edit

Algorithms for calculating the regular numbers in ascending order were popularized by Edsger Dijkstra. Dijkstra (1976, 1981) attributes to Hamming the problem of building the infinite ascending sequence of all 5-smooth numbers; this problem is now known as Hamming's problem, and the numbers so generated are also called the Hamming numbers. Dijkstra's ideas to compute these numbers are the following:

  • The sequence of Hamming numbers begins with the number 1.
  • The remaining values in the sequence are of the form  ,  , and  , where   is any Hamming number.
  • Therefore, the sequence   may be generated by outputting the value 1, and then merging the sequences  ,  , and  .

This algorithm is often used to demonstrate the power of a lazy functional programming language, because (implicitly) concurrent efficient implementations, using a constant number of arithmetic operations per generated value, are easily constructed as described above. Similarly efficient strict functional or imperative sequential implementations are also possible whereas explicitly concurrent generative solutions might be non-trivial.[18]

In the Python programming language, lazy functional code for generating regular numbers is used as one of the built-in tests for correctness of the language's implementation.[19]

A related problem, discussed by Knuth (1972), is to list all  -digit sexagesimal numbers in ascending order (see #Babylonian mathematics above). In algorithmic terms, this is equivalent to generating (in order) the subsequence of the infinite sequence of regular numbers, ranging from   to  .[8] See Gingerich (1965) for an early description of computer code that generates these numbers out of order and then sorts them;[20] Knuth describes an ad hoc algorithm, which he attributes to Bruins (1970), for generating the six-digit numbers more quickly but that does not generalize in a straightforward way to larger values of  .[8] Eppstein (2007) describes an algorithm for computing tables of this type in linear time for arbitrary values of  .[21]

Other applications

edit

Heninger, Rains & Sloane (2006) show that, when   is a regular number and is divisible by 8, the generating function of an  -dimensional extremal even unimodular lattice is an  th power of a polynomial.[22]

As with other classes of smooth numbers, regular numbers are important as problem sizes in computer programs for performing the fast Fourier transform, a technique for analyzing the dominant frequencies of signals in time-varying data. For instance, the method of Temperton (1992) requires that the transform length be a regular number.[23]

Book VIII of Plato's Republic involves an allegory of marriage centered on the highly regular number 604 = 12,960,000 and its divisors (see Plato's number). Later scholars have invoked both Babylonian mathematics and music theory in an attempt to explain this passage.[24]

Certain species of bamboo release large numbers of seeds in synchrony (a process called masting) at intervals that have been estimated as regular numbers of years, with different intervals for different species, including examples with intervals of 10, 15, 16, 30, 32, 48, 60, and 120 years.[25] It has been hypothesized that the biological mechanism for timing and synchronizing this process lends itself to smooth numbers, and in particular in this case to 5-smooth numbers. Although the estimated masting intervals for some other species of bamboo are not regular numbers of years, this may be explainable as measurement error.[25]

Notes

edit
  1. ^ Inspired by similar diagrams by Erkki Kurenniemi in "Chords, scales, and divisor lattices".
  2. ^ a b c Sloane "A051037".
  3. ^ Pomerance (1995).
  4. ^ OEIS search for sequences involving 5-smoothness.
  5. ^ Berndt & Rankin (1995).
  6. ^ a b c Aaboe (1965).
  7. ^ Sachs (1947).
  8. ^ a b c Knuth (1972).
  9. ^ a b Fowler & Robson (1998).
  10. ^ See Conway & Guy (1996) for a popular treatment of this interpretation. Plimpton 322 has other interpretations, for which see its article, but all involve regular numbers.
  11. ^ Clarke (1877).
  12. ^ a b c Honingh & Bod (2005).
  13. ^ Asmussen (2001), for instance, states that "within any piece of tonal music" all intervals must be ratios of regular numbers, echoing similar statements by much earlier writers such as Habens (1889). In the modern music theory literature this assertion is often attributed to Longuet-Higgins (1962), who used a graphical arrangement closely related to the tonnetz to organize 5-limit pitches.
  14. ^ Kopiez (2003).
  15. ^ Wolf (2003).
  16. ^ Halsey & Hewitt (1972) note that this follows from Størmer's theorem (Størmer 1897), and provide a proof for this case; see also Silver (1971).
  17. ^ Howard & Longair (1982).
  18. ^ See, e.g., Hemmendinger (1988) or Yuen (1992).
  19. ^ Function m235 in test_generators.py.
  20. ^ Gingerich (1965).
  21. ^ Eppstein (2007).
  22. ^ Heninger, Rains & Sloane (2006).
  23. ^ Temperton (1992).
  24. ^ Barton (1908); McClain (1974).
  25. ^ a b Veller, Nowak & Davis (2015).

References

edit
edit