Ask Your Question
0

Calculate places of rational field over large finite field GF(2^128) using SageMath

asked 2024-11-24 17:21:14 +0100

anonymous user

Anonymous

updated 2024-12-08 22:17:27 +0100

Is there a better way than just trying to manually enumerate them?

edit retag flag offensive close merge delete

Comments

What are "rational places"? It'd help, if you provide a Sage code illustrating your question.

Max Alekseyev gravatar imageMax Alekseyev ( 2024-11-26 13:44:31 +0100 )edit

This is the code:

sage: R.<x,y,z> = PolynomialRing(GF(2^128), 3)
sage: f = y^2*z - x^3 - 2*x*z^2 - z^3
sage: C = Curve(f)
sage: F = C.function_field()
sage: F.places()

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.

sknc gravatar imagesknc ( 2024-11-26 18:52:25 +0100 )edit

My Sage 10.5.beta9 crashes right away for already for GF(2^2) and GF(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

Max Alekseyev gravatar imageMax Alekseyev ( 2024-11-26 21:29:59 +0100 )edit

I have Sage 10.4, and both GF(2^2) and GF(3^2) work fine for me.

sknc gravatar imagesknc ( 2024-11-27 00:03:28 +0100 )edit

I've checked 10.5rc0 - it also works fine on GF(2^2) and GF(3^2).

Max Alekseyev gravatar imageMax Alekseyev ( 2024-11-27 06:20:34 +0100 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2024-12-27 14:04:12 +0100

dan_fulea gravatar image

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.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2024-11-24 17:21:14 +0100

Seen: 161 times

Last updated: Dec 27 '24