(no title)
jepler | 1 year ago
Python 3.11.2 (main, Sep 14 2024, 03:00:30) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from decimal import Decimal, getcontext
>>> getcontext().prec = 4000
>>> d = 17 ** (1 / Decimal(7))
>>> sd = str(d)
>>> sd[:12]
'1.4989198720'
>>> s = sd[2:][:1000]
>>> s[:10], s[-10:]
('4989198720', '6163659068')
>>> [i for i in range(1000) if "%03d" % i not in s+s]
[0, 2, 4, 5, 9, [...], 993, 994, 995, 998, 999]
>>> len(_)
361
super_normal|1 year ago
(i dont know where you got the 10 symbols from. im talking about over the entire 1,000 length decimal sequence. etcetera.)
jepler|1 year ago
I use the Python decimal package to calculate 17^(1/7) to 4000 decimal places. I show the first 12 characters of the ASCII representation ("1.4989198720"), then take the first 1000 characters after the decimal place. I show the first and last 10 characters of this string ("4989198720...6163659068") so that you can verify it against the string you are testing.
Then I use a list comprehension to check each 3-digit string (e.g., 001, 002, 003, ..., 999) to find out whether it is a substring of the concatenation of `s` with itself, and list the ones that don't appear. I manually abbreviated the list, but I'm saying that in my string, 000, 002, 004, 005, 009, [and some other numbers], 993, 994, 995, 998, and 999 did not appear. (The concatenation `s+s` is checked so that the subsequences that occur at the wraparound---here,684 and 849---are found)
Because some of these length-3 sequences are missing, to my understanding this does not constitute a de Bruijn sequence of order 3 on a size-10 alphabet. However, I'm also not entirely sure whether this is what you were claiming.