Skip to content

Commit

Permalink
added Teichmueller representatives in Zp
Browse files Browse the repository at this point in the history
  • Loading branch information
bmatschke committed Apr 22, 2021
1 parent 2ceef95 commit c2f168d
Show file tree
Hide file tree
Showing 3 changed files with 177 additions and 0 deletions.
@@ -0,0 +1,39 @@
import yaml
import os
import mpmath

path = 'data/P_adic_numbers/Teichmueller_representatives_in_Zp/'

prec10 = 30 #relative precision in base 10

p_range = prime_range(20)

RIFprec = RealIntervalField(prec10 * 3.4 * 2)

numbers = {}
for p in p_range:
print("p:",p)
numbers_p = {}

prec_p = ceil(30*log(10,p))
Q_p = Qp(p, prec=prec_p, print_mode='val-unit')

if p == 2:
k_range = [1,-1]
Ts = Q_p.roots_of_unity()
assert(Ts[0] == 1)
else:
k_range = [1..p-1]
Ts = Q_p.teichmuller_system()

for i, k in enumerate(k_range):
number = Ts[i]
assert((number - k).valuation() > 0)

number_str = str(number)
numbers_p[str(k)] = number_str

numbers[str(p)] = numbers_p

filename = os.path.join(path, 'numbers.yaml')
yaml.dump(numbers, stream = open(filename, 'w'), sort_keys = False)
@@ -0,0 +1,78 @@
'2':
'1': 1 + O(2^100)
'-1': 1267650600228229401496703205375 + O(2^100)
'3':
'1': 1 + O(3^63)
'2': 1144561273430837494885949696426 + O(3^63)
'5':
'1': 1 + O(5^43)
'2': 620681016124000438335084264557 + O(5^43)
'3': 516187361092159859058714563568 + O(5^43)
'4': 1136868377216160297393798828124 + O(5^43)
'7':
'1': 1 + O(7^36)
'2': 919754687174599885029200936914 + O(7^36)
'3': 919754687174599885029200936915 + O(7^36)
'4': 1731976158685053586749822444686 + O(7^36)
'5': 1731976158685053586749822444687 + O(7^36)
'6': 2651730845859653471779023381600 + O(7^36)
'11':
'1': 1 + O(11^29)
'2': 822308133844989680537587352955 + O(11^29)
'3': 572261535344934988362615426173 + O(11^29)
'4': 1226189280167312456547755556038 + O(11^29)
'5': 610166615504233810041653075634 + O(11^29)
'6': 976142681667257764372783629257 + O(11^29)
'7': 360120017004179117866681148853 + O(11^29)
'8': 1014047761826556586051821278718 + O(11^29)
'9': 764001163326501893876849351936 + O(11^29)
'10': 1586309297171491574414436704890 + O(11^29)
'13':
'1': 1 + O(13^27)
'2': 1116618631499798074920340780077 + O(13^27)
'3': 975827136128499513407176961479 + O(13^27)
'4': 975827136128499513407176961480 + O(13^27)
'5': 605937130343626045281406468488 + O(13^27)
'6': 662510823181559912916642767669 + O(13^27)
'7': 530022469330932103642552240448 + O(13^27)
'8': 586596162168865971277788539629 + O(13^27)
'9': 216706156383992503152018046637 + O(13^27)
'10': 216706156383992503152018046638 + O(13^27)
'11': 75914661012693941638854228040 + O(13^27)
'12': 1192533292512492016559195008116 + O(13^27)
'17':
'1': 1 + O(17^25)
'2': 1748142213128282398726840189819 + O(17^25)
'3': 4507271044819188044594632079357 + O(17^25)
'4': 1734790125262563614608664379008 + O(17^25)
'5': 1108547014373663604814057093494 + O(17^25)
'6': 3690023658820840516759985642774 + O(17^25)
'7': 5172556674846629984057735564060 + O(17^25)
'8': 894230316526990233257745210857 + O(17^25)
'9': 4876397095821412145681824780200 + O(17^25)
'10': 598070737501772394881834426997 + O(17^25)
'11': 2080603753527561862179584348283 + O(17^25)
'12': 4662080397974738774125512897563 + O(17^25)
'13': 4035837287085838764330905612049 + O(17^25)
'14': 1263356367529214334344937911700 + O(17^25)
'15': 4022485199220119980212729801238 + O(17^25)
'16': 5770627412348402378939569991056 + O(17^25)
'19':
'1': 1 + O(19^24)
'2': 4009161444819018765352579221678 + O(19^24)
'3': 4450382154506130333807703844861 + O(19^24)
'4': 480289528207326051041876330690 + O(19^24)
'5': 3560780668364302281443987788618 + O(19^24)
'6': 3931280912843706139881466679323 + O(19^24)
'7': 3227183485951824626020576406997 + O(19^24)
'8': 3227183485951824626020576406998 + O(19^24)
'9': 487192489909814626792952267908 + O(19^24)
'10': 4411570441051032190923343010013 + O(19^24)
'11': 1671579445009022191695718870923 + O(19^24)
'12': 1671579445009022191695718870924 + O(19^24)
'13': 967482018117140677834828598598 + O(19^24)
'14': 1337982262596544536272307489303 + O(19^24)
'15': 4418473402753520766674418947231 + O(19^24)
'16': 448380776454716483908591433060 + O(19^24)
'17': 889601486141828052363716056243 + O(19^24)
'18': 4898762930960846817716295277920 + O(19^24)
60 changes: 60 additions & 0 deletions data/P_adic_numbers/Teichmueller_representatives_in_Zp/table.yaml
@@ -0,0 +1,60 @@
ID: INPUT{id.yaml}

Title: >
Teichmüller representatives in $\mathbb{Z}_p$
Definition: >
Let $p$ be a rational prime,
let $q=p$ for $p>2$ and $q=4$ for $p=2$,
let $G = (\mathbb{Z}/q\mathbb{Z})^\times$,
and let $\omega: G \to \mathbb{Z}_p^*$ be
the Teichmüller character CITE{Wiki}.
The images $\omega(k)$ of elements $k \in G$ are their
Teichmüller representatives in $\mathbb{Z}_p$.
Parameters:
p:
type: Z
constraints: prime

k:
type: Z
constraints:
- >
$1 \leq k < p$ for $p>2$
- >
$k = \pm 1$ for $p=2$
Comments:
comment-roots-of-unity: >
The set of Teichmüller representatives in $\mathbb{Z}_p$
equals the set of non-zero roots of unity in $\mathbb{Z}_p$.
The $k$'th Teichmüller representative reduces to $k$ modulo $p$.
Formulas:

Programs:

References:

Links:
Wiki:
title: "Wikipedia: Teichmüller character"
url: https://en.wikipedia.org/wiki/Teichm%C3%BCller_character

Similar tables:

Keywords:

Tags:
- p-adic
- zeros

Data properties:
type: Qp
complete: no

Display properties:
number-header: Teichmüller representative of $k$ in $\mathbb{Z}_p$

Numbers: INPUT{numbers.yaml}

0 comments on commit c2f168d

Please sign in to comment.