Calculate places of rational field over large finite field GF(2^128) using SageMath
Is there a better way than just trying to manually enumerate them?
Is there a better way than just trying to manually enumerate them?
Let us do the same with the field with $2^6$ elements, and also count the places.
sage: sage: R.<x,y,z> = PolynomialRing(GF(2^6))
....: sage: f = y^2*z - x^3 - 2*x*z^2 - z^3 # that two is zero
....: sage: C = Curve(f)
....: sage: F = C.function_field()
....: sage: for count, place in enumerate(F.places()): print(count, place)
This leads to $2^6+1$ print lines...
0 Place (1/y, 1/y*z + 1/y)
1 Place (1/y, 1/y*z^2 + ((y + 1)/y)*z + 1)
2 Place (y, z + 1)
3 Place (y, z + z6^3 + z6^2 + z6)
4 Place (y, z + z6^3 + z6^2 + z6 + 1)
5 Place (y + z6, z + z6^5 + z6^4 + z6^3 + z6^2 + z6)
6 Place (y + z6^2, z + z6^3 + 1)
7 Place (y + z6^3, z + z6^4 + z6^3 + z6^2 + 1)
8 Place (y + z6^3, z + z6^5 + z6^3 + z6^2 + z6 + 1)
9 Place (y + z6^3, z + z6^5 + z6^4 + z6)
10 Place (y + z6^4, z + z6^4 + z6^3 + z6)
11 Place (y + z6^4 + z6^3 + z6 + 1, z + z6)
12 Place (y + z6^4 + z6^3 + z6 + 1, z + z6^5 + z6^4 + z6^3 + z6^2 + 1)
13 Place (y + z6^4 + z6^3 + z6 + 1, z + z6^5 + z6^4 + z6^3 + z6^2 + z6 + 1)
14 Place (y + z6^5 + z6^4 + z6^2 + z6, z + z6^5 + z6^4 + z6 + 1)
15 Place (y + z6^5 + z6^4 + z6^2 + z6 + 1, z + z6^5 + z6^3)
16 Place (y + z6^5 + z6^4 + z6^3 + 1, z + z6^5 + z6^4 + z6^3 + z6 + 1)
17 Place (y + z6^5 + z6^3 + 1, z + z6^2)
18 Place (y + z6^5 + z6^3 + 1, z + z6^3)
19 Place (y + z6^5 + z6^3 + 1, z + z6^3 + z6^2)
20 Place (y + z6^4 + z6, z + z6 + 1)
21 Place (y + z6^4 + z6 + 1, z + z6^5 + z6^3 + z6)
22 Place (y + z6^3 + z6^2 + z6, z + z6^2 + z6)
23 Place (y + z6^3 + z6^2 + z6, z + z6^5 + 1)
24 Place (y + z6^3 + z6^2 + z6, z + z6^5 + z6^2 + z6 + 1)
25 Place (y + z6^4 + z6^3 + z6^2, z + z6^4 + z6^3)
26 Place (y + z6^5 + z6^4 + z6^3, z + z6^5 + z6^2 + 1)
27 Place (y + z6^5 + z6^3 + z6 + 1, z + z6^3 + z6 + 1)
28 Place (y + z6^5 + z6^3 + z6 + 1, z + z6^4)
29 Place (y + z6^5 + z6^3 + z6 + 1, z + z6^4 + z6^3 + z6 + 1)
30 Place (y + z6^3 + z6^2 + 1, z + z6^5 + z6^4 + z6^3 + z6)
31 Place (y + z6^5 + z6^4 + z6^2, z + z6^3 + z6)
32 Place (y + z6^5 + z6^4 + z6^2, z + z6^4 + z6^2 + z6)
33 Place (y + z6^5 + z6^4 + z6^2, z + z6^4 + z6^3 + z6^2)
34 Place (y + z6^5 + z6^4 + z6 + 1, z + z6^2 + 1)
35 Place (y + z6^5 + z6^4 + z6^3 + z6^2 + 1, z + z6^5 + z6^4 + 1)
36 Place (y + z6^5 + z6^4 + z6, z + z6^5 + z6^3 + z6^2 + z6)
37 Place (y + z6^5 + z6^4 + z6^3 + z6^2 + z6 + 1, z + z6^4 + z6 + 1)
38 Place (y + z6^5 + z6^4 + z6^3 + z6^2 + z6 + 1, z + z6^5 + z6^3 + z6 + 1)
39 Place (y + z6^5 + z6^4 + z6^3 + z6^2 + z6 + 1, z + z6^5 + z6^4 + z6^3)
40 Place (y + z6^4 + 1, z + z6^4 + z6)
41 Place (y + z6^4 + z6^3 + z6^2 + z6 + 1, z + z6^5 + z6^3 + z6^2 + 1)
42 Place (y + z6^3 + z6^2 + z6 + 1, z + z6^4 + z6^2)
43 Place (y + z6^3 + z6^2 + z6 + 1, z + z6^5 + z6^2)
44 Place (y + z6^3 + z6^2 + z6 + 1, z + z6^5 + z6^4)
45 Place (y + z6^4 + z6^3 + z6^2 + z6, z + z6^5 + z6^2 + z6)
46 Place (y + z6^5 + z6^4 + z6^3 + z6^2, z + z6^5 + z6^3 + z6^2)
47 Place (y + z6^5 + z6 + 1, z + z6^3 + z6^2 + 1)
48 Place (y + z6^5 + z6 + 1, z + z6^5 + z6^4 + z6^2)
49 Place (y + z6^5 + z6 + 1, z + z6^5 + z6^4 + z6^3 + 1)
50 Place (y + z6^4 + z6^3 + z6^2 + 1, z + z6^5)
51 Place (y + z6^5 + z6^3 + z6^2 + z6 + 1, z + z6^4 + z6^3 + z6^2 + z6)
52 Place (y + z6^5 + z6^3 + z6^2 + z6 + 1, z + z6^5 + z6^3 + 1)
53 Place (y + z6^5 + z6^3 + z6^2 + z6 + 1, z + z6^5 + z6^4 + z6^2 + z6 + 1)
54 Place (y + z6^2 + 1, z + z6^5 + z6^4 + z6^2 + z6)
55 Place (y + z6^3 + z6, z + z6^4 + z6^3 + 1)
56 Place (y + z6^3 + z6 + 1, z + z6^4 + z6^2 + 1)
57 Place (y + z6^4 + z6^2 + z6, z + z6^4 + z6^3 + z6^2 + z6 + 1)
58 Place (y + z6^4 + z6^2 + z6, z + z6^5 + z6 + 1)
59 Place (y + z6^4 + z6^2 + z6, z + z6^5 + z6^4 + z6^3 + z6^2)
60 Place (y + z6 + 1, z + z6^4 + 1)
61 Place (y + z6^3 + z6^2, z + z6^2 + z6 + 1)
62 Place (y + 1, z + z6^4 + z6^2 + z6 + 1)
63 Place (y + 1, z + z6^5 + z6)
64 Place (y + 1, z + z6^5 + z6^4 + z6^2 + 1)
sage:
In case of $2^{128}$ which is
sage: 2^128
340282366920938463463374607431768211456
we may need the surface of Mars as an intermediate step in the computation.
Please start posting anonymously - your entry will be published after you log in or create a new account.
Asked: 2024-11-24 17:21:14 +0100
Seen: 161 times
Last updated: Dec 27 '24
What are "rational places"? It'd help, if you provide a Sage code illustrating your question.
This is the code:
When I run this Sage stalls for a long time and then crashes. I was wondering if it was because the function field is too big.
My Sage 10.5.beta9 crashes right away for already for
GF(2^2)
andGF(3^2)
, and so it does not seem to be related to large fields but rather to non-prime fields.Please report the issue at https://github.com/sagemath/sage/issues
I have Sage 10.4, and both
GF(2^2)
andGF(3^2)
work fine for me.I've checked 10.5rc0 - it also works fine on
GF(2^2)
andGF(3^2)
.