Xuất một phần tử nguyên thủy cho mỗi kích thước trường


16

Một phần tử nguyên thủy của trường hữu hạn là một bộ tạo của nhóm nhân của trường. Nói cách khác, alphain F(q)được gọi là một yếu tố nguyên thủy nếu nó là q−1gốc rễ nguyên thủy của sự thống nhất trong F(q). Điều này có nghĩa là tất cả các phần tử khác không của F(q)có thể được viết như alpha^iđối với một số nguyên (dương) i.

Tất cả các yếu tố của trường F_{2^k}có thể được viết dưới dạng đa thức bậc nhất k-1với các hệ số là 1hoặc 0. Để thực hiện điều này hoàn tất, mã của bạn cũng cần xuất ra một đa thức bậc không thểk xác định mức độ xác định trường bạn đang sử dụng.

Nhiệm vụ là viết mã đưa ra một yếu tố nguyên thủy F_{2^k}do bạn chọn cho từng k = 1 .. 32thứ tự.

Đầu ra của bạn chỉ đơn giản là liệt kê các khệ số của phần tử nguyên thủy theo bất kỳ định dạng nào bạn thích và sau đó trên một dòng riêng các k+1phần tử của đa thức bất khả quy. Vui lòng tách các đầu ra cho mỗi giá trị knếu có thể.

Mã của bạn có thể mất bao lâu tùy thích nhưng bạn phải chạy nó để hoàn thành trước khi gửi câu trả lời.

Bạn không được sử dụng bất kỳ hàm dựng sẵn hoặc thư viện nào trả về các phần tử nguyên thủy của trường hữu hạn hoặc kiểm tra xem một phần tử có nguyên thủy hay không.

Một ví dụ

Đối với k = 1các yếu tố nguyên thủy duy nhất là 1.

k = 2chúng ta có F_4. 4 yếu tố là {0, 1, x, x + 1}như vậy có hai yếu tố nguyên thủy xx + 1. Vì vậy, mã có thể xuất

1 1
1 1 1

như các hệ số, ví dụ trong đó dòng thứ hai là đa thức bất khả quy mà trong trường hợp này là x^2+x+1hệ số có hệ số 1 1 1.


4
Có ví dụ nào không?
Okx

1
Chúng ta cũng có thể xuất các đa thức và / hoặc các phần tử trường được mã hóa dưới dạng các bit của một số nguyên mà chúng ta xuất ra không?
orlp

@orlp Có hoàn toàn.

1
Tôi nghĩ Pari / GP là ngôn ngữ duy nhất được tích hợp sẵn cho việc này .
alephalpha

Câu trả lời:



4

Toán học, 127 byte

Do[For[i=2*2^n,PolynomialMod[x^Divisors[2^n-1]+1,i~IntegerDigits~2~FromDigits~x,Modulus->2]~Count~0!=1,i--];Print@{2,i},{n,32}]

Giải trình:

xn2n-1x2n-1-1xTôi-1Tôi2n-1

Đầu ra:

858993458111111111111111111111111111111111010101

x32+x31+x30+x29+x28+x27+x26+x25+x24+x23+x22+x21+x20+x19+x18+x17+x16+x15+x14+x13+x12+x11+x10+x9+xsố 8+x7+x6+x5+x4+x2+1

{2,3}

{2,7}

{2,13}

{2,25}

{2,61}

{2,115}

{2,253}

{2,501}

{2.1019}

{2,2041}

{2,4073}

{2,8137}

{2,16381}

{2,32743}

{2.65533}

{2,131053}

{2,262127}

{2,524263}

{2,1048531}

{2,2097145}

{2,4194227}

{2,8388589}

{2,16777213}

{2,33554351}

{2,67108849}

{2,134217697}

{2,268435427}

{2,536870805}

{2,1073741801}

{2,2147483533}

{2,4294967287}

{2,8589934581}

Cái này đẹp đấy. Tôi mong chờ phiên bản Jelly :)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.