### Author Topic: The Number Theory Thread  (Read 1161 times)

0 Members and 1 Guest are viewing this topic.

• Hero Member
• Posts: 30912
• who run it.
• Respect: +7587
##### The Number Theory Thread
« on: January 26, 2015, 09:52:30 pm »
0
Anything related to number theory!

So far, this is the most fun mathematical field i've encountered. It also provides me with so much to code.

pc

• Hero Member
• Posts: 30912
• who run it.
• Respect: +7587
##### Re: The Number Theory Thread
« Reply #1 on: January 26, 2015, 09:52:43 pm »
0
Reserved.

• Hero Member
• Posts: 30912
• who run it.
• Respect: +7587
##### Re: The Number Theory Thread
« Reply #2 on: January 29, 2015, 10:55:00 pm »
0
A few fun little number theory concepts i've messed with over the last few days.

Demlo Numbers

http://mathworld.wolfram.com/DemloNumber.html

Pretty cool how the first 2 through 9 demlo numbers are palindromic:

Code: [Select]
`demlos = tail [ x*x | x <- demlo'ones ]demlo'ones = scanl (\acc x -> acc + x) 1 by10`
Code: [Select]
`*Daimyo> import Daimyo.NumberTheory.Demlo *Daimyo Daimyo.NumberTheory.Demlo> take 8 demlos[121,12321,1234321,123454321,12345654321,1234567654321,123456787654321,12345678987654321]*Daimyo Daimyo.NumberTheory.Demlo> `

Palindromic numbers by squaring 11, 111, 11111, 111111,  1111111, 11111111, ... until 111111111

Code: [Select]
`*Daimyo Daimyo.NumberTheory.Demlo> tail \$ take 9 demlo'ones[11,111,1111,11111,111111,1111111,11111111,111111111]`

Continued Fractions

http://en.wikipedia.org/wiki/Continued_fraction

Often times you see patterns such as "e" or the "golden ratio" represented by some kind of formula.

e'precision sums the sequence (e'sequence) from 1 to n of 1/n!

Code: [Select]
`*Daimyo> import Daimyo.NumberTheory.Constants.E*Daimyo Daimyo.NumberTheory.Constants.E> take 10 \$ e'sequence 10[1.0,1.0,0.5,0.16666666666666666,4.1666666666666664e-2,8.333333333333333e-3,1.388888888888889e-3,1.984126984126984e-4,2.48015873015873e-5,2.7557319223985893e-6]`
The sum of that sequence of reciprocal factorials ends up approaching e.

As for golden ratio, I always see it calculated as so: (1 + (sqrt 5)) / 2

The continued fraction style calculations are interesting. I will be using the 'abbreviated form' of continued fractions which is [a0;a1,a2,a3,...an] which is equivalent to:

Code: [Select]
`a0 + 1 / (a1 + 1 / (a2 + 1 / ... (1 / an)))`

Finally, here is a link to some example constants: https://github.com/adarqui/Daimyo/blob/master/Haskell/src/Daimyo/NumberTheory/ContinuedFraction/Constant.hs

e

Quote
e = [2;1,2,1,1,4,1,1,6,1,1,8,…] (sequence A003417 in OEIS). The pattern repeats indefinitely with a period of 3 except that 2 is added to one of the terms in each cycle.

To see that pattern, you can produce the cycle like so:

Code: [Select]
`e'continuedFraction'abbreviatedForm precision =    let        cycle = concat \$ [1,2] : [ [1,1,x+2] | x <- [2,4..precision] ]    in        (2, cycle)`
Code: [Select]
`(2,[1,2,1,1,4,1,1,6,1,1,8,1,1,10,1,1,12,1,1,14,1,1,16,1,1,18,1,1,20,1,1,22,1,1,24,1,1,26,1,1,28,1,1,30,1,1,32,1,1,34,1,1,36,1,1,38,1,1,40,1,1,42,1,1,44,1,1,46,1,1,48,1,1,50,1,1,52,1,1,54,1,1,56,1,1,58,1,1,60,1,1,62,1,1,64,1,1,66,1,1,68,1,1,70,1,1,72,1,1,74,1,1,76,1,1,78,1,1,80,1,1,82,1,1,84,1,1,86,1,1,88,1,1,90,1,1,92,1,1,94,1,1,96,1,1,98,1,1,100,1,1,102])`
^^ produces the pattern in the quote above.

Code: [Select]
`*Daimyo Daimyo.NumberTheory.Constants.E> e'continuedFraction'abbreviatedForm'evaluated 1002.7182818284590455`

Golden Ratio

Entire books have been written about the golden ratio and it's properties as it's found in nature & various phenomenon.

The continued fraction approach to calculating the golden ratio is s follows:

Quote
ϕ = [1;1,1,1,1,1,1,1,1,1,1,1,…]

Code: [Select]
`_goldenRatioN precision = continuedFraction (1, replicate precision 1)`
Code: [Select]
`*Daimyo Daimyo.NumberTheory.ContinuedFraction.Constant> _goldenRatioN 10001.618033988749895`

pi

There's no continued fraction pattern for calculating pi (edit: with numerators of 1). If you find it, message me. Thnx.

If you don't restrict the numerators to 1's, then ya:

http://functions.wolfram.com/Constants/Pi/10/0002/

quick:

Continued fractions with arbitrary numerators:

Code: [Select]
`{-    allow numerators to be specified-}continuedFractionNumerators (n,nl,dl) = n + continuedFractionNumerators'rest nl dlcontinuedFractionNumerators'rest (n:ns) ds = n / continuedFractionNumerators'rest' ns dscontinuedFractionNumerators'rest' _ [] = 0continuedFractionNumerators'rest' [] _ = 0continuedFractionNumerators'rest' (n:ns) (d:ds) = d + (n / continuedFractionNumerators'rest' ns ds)`
pi continued fraction calculation:

Code: [Select]
`pi'continuedFraction :: Integer -> Doublepi'continuedFraction precision =    let        a's = replicate (fromIntegral precision :: Int) 6        numerators = [ fromIntegral (x*x) :: Double | x <- odds ]    in        continuedFractionNumerators (3, numerators, a's)`
Code: [Select]
`pi'continuedFraction 100003.141592653590043`
boom.

pC