2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Как проверить многочлен на неприводимость
Сообщение05.09.2017, 11:55 


03/07/15
200
Добрый день. Стоит такая задача: выписать неприводимые многочлены над $\mathbb{Z}_2$ степеней 4 и 5.
Я придумал что можно например выписать все многочлены соответствующих степеней в первом случае их будет 16, во втором 32. Но затем нужно каждый из них проверить на неприводимость. Но как это сделать? Есть ли какой-то универсальный метод? Я главы по многочленам прочитал но что-то не помню чтобы в учебнике такой метод приводился или я что-то упустил.

 Профиль  
                  
 
 Re: Как проверить многочлен на неприводимость
Сообщение05.09.2017, 12:22 
Заслуженный участник
Аватара пользователя


01/03/06
13626
Москва
Судя по тому, что, например, во втором томе Лидла и Нидеррайтера есть спец. таблицы неприводимых многочленов, регулярного способа все их найти нет. Но в данном случае достаточно простого перебора. Например, все приводимые многочлены 4-й степени либо имеют корень, либо являются произведением двух неприводимых многочленов второй степени, и все это тривиально выписывается. Остается удалить из списка всех многочленов 4-й степени список приводимых, и останутся неприводимые. Аналогично и для 5-й степени.

 Профиль  
                  
 
 Re: Как проверить многочлен на неприводимость
Сообщение05.09.2017, 13:18 


03/07/15
200
Цитата:
Например, все приводимые многочлены 4-й степени либо имеют корень, либо являются произведением двух неприводимых многочленов второй степени

Мне эти утверждения совсем не очевидны. Например, почему многочлен 4й степени не может быть произведением двух приводимых многочленов 2й степени? А так же как их применить для решения задачи. Просто тупо перебором? Сначала проверять все возможные произведения многочленов степеней 1 и 3 а потом степеней 2?

 Профиль  
                  
 
 Re: Как проверить многочлен на неприводимость
Сообщение05.09.2017, 13:23 
Аватара пользователя


07/01/15
1146
student1138 в сообщении #1245348 писал(а):
Например, почему многочлен 4й степени не может быть произведением двух приводимых многочленов 2й степени?

Это когда корней нет.

student1138 в сообщении #1245348 писал(а):
Просто тупо перебором?

Ну да. К тому же, перебор можно сильно сократить, обрубив топором заведомо приводимые многочлены.

 Профиль  
                  
 
 Re: Как проверить многочлен на неприводимость
Сообщение05.09.2017, 13:28 


03/07/15
200
Цитата:
Это когда корней нет.

Имеется ввиду что если многочлен степени 2 разложим (на многочлены степеней 1) значит и у многочлена 4й степени есть множитель 1й степени т.е. корень? Такая логика?

 Профиль  
                  
 
 Re: Как проверить многочлен на неприводимость
Сообщение05.09.2017, 13:31 
Заслуженный участник
Аватара пользователя


01/03/06
13626
Москва
student1138 в сообщении #1245351 писал(а):
Имеется ввиду что если многочлен степени 2 разложим (на многочлены степеней 1) значит и у многочлена 4й степени есть множитель 1й степени т.е. корень? Такая логика?
Непохоже, что вы ранее многочленами интересовались...Вы бы сначала азы подучили, чтоле!

 Профиль  
                  
 
 Re: Как проверить многочлен на неприводимость
Сообщение05.09.2017, 13:38 
Аватара пользователя


07/01/15
1146
student1138 в сообщении #1245351 писал(а):
Такая логика?

Такая логика имеет право на жизнь.

Вы правильные вещи говорите, но своеобразно. Многие Вас будут ругать, надо вытерпеть.

 Профиль  
                  
 
 Re: Как проверить многочлен на неприводимость
Сообщение05.09.2017, 13:42 


03/07/15
200
Цитата:
Непохоже, что вы ранее многочленами интересовались...Вы бы сначала азы подучили, чтоле!

Почему это. Я просто пытался доказать ваше утверждение что если у многочлена 4й степени нет корней и он разложим на множители 2й степени то эти множители неприводимы.
Моя логика такая:
Если у многочлена 4й степени нет корней значит он не делится ни на какой многочлен вида $X-c$ (в случае $\mathbb{Z}_2$ это только $X-1, X-0$). Значит он разложим только на многочлены 2й степени. Но если какой-то из многочленов 2й степени разложим (т.е. делится на многочлен вида $X-c$) значит и исходный многочлен 4й степени на него делится. Противоречие.

 Профиль  
                  
 
 Re: Как проверить многочлен на неприводимость
Сообщение05.09.2017, 19:10 


03/07/15
200
В общем для степени 4 сделал так:
1) Сначала нашел единственый неприводимый многочлен 2й степени: $X^2 + X + 1$
2) Выписал все многочлены 4й степени и сразу выкинул те которые не заканчиваются на 1 (т.к. они делятся на X), осталось 8 многочленов.
3) Сразу проверил какой из них является квадратом многочлена $X^2 + X + 1$
4) Каждый из оставшихся семи по схеме Горнера проверил делится ли он на $X+1$
Те которые не делятся получается неприводимые:
$X^4 + X + 1$
$X^4 + X^3 + 1$
$X^4 + X^3 + X^2 + X + 1$

Не слишком громоздко получилось, может быть можно было по каким-то соображениям сократить перебор?

Кстати размышлял тут как оптимизировать процесс для степени 5 и понял вот что. Для проверки делимости на $X+1$ не обязательно делать полные вычисления по схеме Горнера. В данном случае достаточно посчитать количество ненулевых членов многочлена. Если оно четное - то многочлен делится на $X+1$ если нечетное то не делится. Это связано с тем что работаем в двоичной системе и остаток при рассчете по схеме Горнера в данном случае получается равен просто-напросто сумме всех коэффициентов многочлена.

 Профиль  
                  
 
 Re: Как проверить многочлен на неприводимость
Сообщение05.09.2017, 20:19 


03/07/15
200
Итак для 5й степени решил вот как. Для удобства стал записывать многочлены в виде последовательностей нулей и единиц (напр. $X^5+1 = 100001$ ).
1) Выписал 16 последовательностей у которых в начале и в конце 1
2) Из них вычеркнул те в которых число единиц четное (т.е. которые делятся на $X+1$) осталось 8 последовательностей:
100011
100101
101001
101111
110001
110111
111011
111101

3) Далее такое рассуждение: т.к. эти многочлены не делятся на многочлены 1й степени, то если они разложимы, они могут быть разложены только в произведение неразложимых многочленов 2й и 3й степени. Это следующие многочлены: $X^2+X+1$ и $X^3+X+1, X^3+X^2+1$. Считаем произведение и получаем два многочлена: 100011, 110001, их вычеркиваем
4) Таким образом получаем 6 неразложимых многочленов степени 5 над полем $\mathbb{Z}_2$:
100101
101001
101111
110111
111011
111101

Рассуждения верные?

 Профиль  
                  
 
 Re: Как проверить многочлен на неприводимость
Сообщение05.09.2017, 20:25 
Заслуженный участник


12/09/10
1547
в 2)

 Профиль  
                  
 
 Re: Как проверить многочлен на неприводимость
Сообщение05.09.2017, 20:26 


03/07/15
200
Cash в сообщении #1245414 писал(а):
в 2)

Да я уже успел исправить, техническая ошибка, упустил одну последовательность.

 Профиль  
                  
 
 Re: Как проверить многочлен на неприводимость
Сообщение06.09.2017, 00:20 
Заслуженный участник
Аватара пользователя


01/03/06
13626
Москва
student1138 в сообщении #1245402 писал(а):
4) Каждый из оставшихся семи по схеме Горнера проверил делится ли он на $X+1$

Проще было просто подставлять 1.

 Профиль  
                  
 
 Re: Как проверить многочлен на неприводимость
Сообщение06.09.2017, 09:25 
Заслуженный участник


27/06/08
4058
Волгоград
student1138,
Для самоконтроля полезно знать формулу для числа неприводимых над полем из $q$ элементов многочленов степени $n$ (ее вывод есть, например во 2-м параграфе 3-й главы 1-го тома Лидла и Нидеррайтера):
$$N_q(n)=\frac1n \sum_{d|n} \mu(d) q^{n/d} $$
Здесь $\mu(d)$ - функция Мебиуса.

В общем, случае для проверки многочленов на неприводимость есть алгоритм Берлекэмпа. Гуглите.
(Для Вашей задачи это, конечно, "стрельба из пушек по воробьям".)

 Профиль  
                  
 
 Re: Как проверить многочлен на неприводимость
Сообщение06.09.2017, 11:31 


27/08/16
9426
Brukvalub в сообщении #1245462 писал(а):
Проще было просто подставлять 1.
Сразу выкинуть все многочлены с чётным количеством ненулевых коэффициентов.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group