Как найти неприводимый многочлен 7ой степени нал полем Z[2]?

philnau

Как найти неприводимый многочлен 7ой степени нал полем Z[2]?

aetbaev

x^7+x+1 никогда не равен нулю над Z/2Z

roman1606

Ага, а x^4+1 не обращается в нуль над R, и что?

h_alishov

А что, x^4+1 приводимый многочлен над R?

roman1606

Конечно. Неприводимы только линейные и квадратные.

Perce

Подтверждаю x^7 + x^1 + 1 - неприводим, а вот полный список неприводимых:
x^7 + x^1 + 1
x^7 + x^3 + 1
x^7 + x^3 + x^2 + x^1 + 1
x^7 + x^4 + 1
x^7 + x^4 + x^3 + x^2 + 1
x^7 + x^5 + x^2 + x^1 + 1
x^7 + x^5 + x^3 + x^1 + 1
x^7 + x^5 + x^4 + x^3 + 1
x^7 + x^5 + x^4 + x^3 + x^2 + x^1 + 1
x^7 + x^6 + 1
x^7 + x^6 + x^3 + x^1 + 1
x^7 + x^6 + x^4 + x^1 + 1
x^7 + x^6 + x^4 + x^2 + 1
x^7 + x^6 + x^5 + x^2 + 1
x^7 + x^6 + x^5 + x^3 + x^2 + x^1 + 1
x^7 + x^6 + x^5 + x^4 + 1
x^7 + x^6 + x^5 + x^4 + x^2 + x^1 + 1
x^7 + x^6 + x^5 + x^4 + x^3 + x^2 + 1

h_alishov

Разложи тогда x^4+1 на множители меньшего порядка.

roman1606

(x^2-\sqrt{2}x+1)*(x^2+\sqrt{2}x+1)

h_alishov

Убедил, спасибо за пример.
Я даже вспомнил, что именно так решаются уравнения четвертой степени - разбиением на два квадратных.

Priss

сам посчитал?

Perce

Нет, своего любимого 64-битного друга заставил =)
Кстати, если кому надо, то я считал с помощью такой маленькой проги:
#include <stdio.h>
#define D 7
#define SIZE (1 << (1+D
int mul(int a, int b) {
int i, j;
int c=0;
for (i=0; i<=D; i++)
for (j=0; j<=D; j++)
if a & (1 << i&&(b & (1 << j {
if (i+j > D) return 0;
else c = c ^ (1 << (i+j;
}
return c;
}
int main {
int poly[SIZE];
int i, j, k, l;
for (i=0; i<SIZE; i++)
poly[i] = -1;
for (i=2; i<SIZE; i++) {
for (j=2; j<=i; j++) {
poly[mul(i, j)]=j;
}
}
for (i=2; i<SIZE; i++) {
if (poly[i]==-1) {
for (l=D; l>0; l--) {
if (i & (1 << l printf(" x^%d +", l);
}
printf(" %d\n", i & 1);
}
}
return 0;
}

Priss

атец)
Оставить комментарий
Имя или ник:
Комментарий: