![]() Форум мехмата МГУ по высшей математике
| Пользователям: | Аксиома — это истина, на которую не хватило доказательств. |
Форумы > Математика > Высшая математика > Тема |
Объявления | Последний пост | |
---|---|---|
![]() | Работодателям и кадровым агентствам: Размещение вакансий | 26.03.2008 03:07 |
![]() | Запущен новый раздел «Задачки и головоломки» | 29.08.2019 00:42 |
![]() | Открыта свободная публикация вакансий для математиков | 26.09.2019 16:34 |
15.12.2007 21:49 Дата регистрации: 19 лет назад Посты: 16 | Как построить поле: 1- F(q) , q=2^3 ? |
15.12.2007 22:27 Дата регистрации: 19 лет назад Посты: 181 | Решение 1) Возьмите какой-нибудь неприводимый многочлен степени 3 над полем Z_2, например, f(x) = x^3 + x + 1. Тогда факторкольцо Z[x]/f(x) будет искомым полем. 2) Аналогично, только многочлен степени 2 над полем Z_3. |
18.12.2007 21:30 Дата регистрации: 19 лет назад Посты: 16 | не понятно... В общем я понимаю это. Но как будут выглядеть эти факторкольца и как и строить, вот в этом вопрос... |
19.12.2007 22:49 Дата регистрации: 19 лет назад Посты: 181 | чего там строить просто выписываете, например, в пункте 1 все многочлены степени не выше второй над полем Z_2 - это и будут элементы поля. |
19.12.2007 23:40 Дата регистрации: 20 лет назад Посты: 398 | степени порождающего элемента Поле - это не только /ценный мех/ набор элементов, но и операции! Прежде всего, как уже написал Echo-off, нужно подобрать неприводимый многочлен нужной степени. Конечно, тем самым имеем алгоритмы сложения и умножения: складывать и умножать многочлены обычным образом, а потом находить остатки от деления на выбранный неприводимый многочлен. Но для некоторых практических нужд такое умножение слишком долгое. Чтобы по-настоящему разобраться с операцией умножения в конечном поле, желательно найти порождающий элемент мультипликативной группы поля, т. е. такой элемент a, степени которого будут совпадать со всеми ненулевыми элементами поля. Часто порождающим элементом является x. Когда удастся угадать a, нужно по порядку посчитать все его степени. Тем самым для каждого f из поля найдём такое d, что a^d=f. Иногда говорят, что d - дискретный логарифм элемента f. Когда построили таблицу дискретных логарифмов, умножать элементы становится легко и приятно. А ещё можно для каждого элемента f из поля (кроме f=-1) найти такую степень k, что f+1=a^k. Тогда можно забыть о полиномиальном представлении элементов и легко складывать их с помощью таблицы этих чисел k. |
20.12.2007 19:51 Дата регистрации: 19 лет назад Посты: 16 | А пример можно? А можно во увидеть по примеру на каждое поле? Просто то, что написал egor мне вообще непонятно... уж извините. |
20.12.2007 21:22 Дата регистрации: 20 лет назад Посты: 398 | Простой пример: F(4) Вот подробно для F(2^2). 1. Выбор неприводимого многочлена. Над полем F(2) находим неприводимый многочлен степени 2. В данном случае такой многочлен только один: x^2+x+1. 2. Искомое поле F(2^2) есть фактор-кольцо F(2)[x]/(x^2+x+1). Таким образом, элементы F(2^2) можно представлять как многочлены с коэффициентами из F(2) степени не выше 2: 0, 1, x, x+1. Складывать как обычные многочлены с коэффициентами из F(2). Пример сложения: 1+(x+1)=x. При умножении результат делить с остатком на x^2+x+1. Другими словами, полагать x^2=-x-1. А поскольку -1=1 в поле F(2), можно полагать x^2=x+1. Пример умножения: (x+1) * (x+1) = x^2 + x+x + 1 = (x+1) + 0 + 1 = x. 3. Выбор порождающего элемента g и построение таблицы логарифмов. Нужно выбрать в F(2^2) элемент g, степени которого будут совпадать со всеми ненулевыми элементами (1, x, x+1). Попробуем g=x (обычно подходит). x^0 = 1, x^1 = x, x^2 = x+1. Подошёл! Дальше получится x^3=1, так как порядок мультипликативной группы поля F(2^2) равен 4-1=3. Заодно построили таблицу дискретных логарифмов (по основанию g): f k: f=g^k 0 - (не существует) 1 0 x 1 x+1 2 Конечно, в более сложных примерах числа во втором столбце не обязаны возрастать. Таблица логарифмов позволяет мгновенно умножать элементы: x * (x+1) = g^1 * g^2 = g^3 = 1, (x+1) * (x+1) = g^2 * g^2 = g^4 = g^1 = x. Дальше можно для каждого элемента f найти такое число v, что f+1=g^v, но об этом думать рано, если непонятны предыдущие этапы. |
20.12.2007 22:07 Дата регистрации: 19 лет назад Посты: 16 | Лучше бы другой пример... Этот пример понятен в принципе. Но вот для F_8 ?? и F-9 ?? Непонятно, ка кделать... |
20.12.2007 23:15 Дата регистрации: 20 лет назад Посты: 398 | Другой пример: F(16) Построение поля F(2^4). 1. Выбор неприводимого многочлена степени 4. Приводимые (разложимые) многочлены степени 4 делятся либо на многочлены первой степени, либо на неприводимый многочлен второй степени x^2+x+1. Значит, нужно исключить: 1) многочлены, которые делятся на x, т. е. многочлены с нулевым свободным членом; 2) многочлены, которые делятся на x+1, т. е. многочлены с чётным числом единичных коэффициентов, 3) многочлен (x^2+x+1)(x^2+x+1)=x^4+x^2+1. Из оставшихся многочленов выберем x^4+x+1. 2. Будем строить F(2^4) как F(2)[x]/(x^4+x+1). Таким образом, всюду считаем, что x^4=-x-1. Поскольку коэффициенты в поле F(2), то x^4=x+1. 3. Найдём порождающий элемент мультипликативной группы. Попробуем на эту роль многочлен x. x^0 = 1 x^1 = x, x^2 = x^2 (не упрощается), x^3 = x^3 (не упрощается), x^4 = x+1, x^5 = x(x+1) = x^2+x, x^6 = x(x^2+x) = x^3+x^2, x^7 = x(x^3+x^2) = x^4+x^3 = x^3+x+1, x^8 = x(x^3+x+1) = x^4+x^2+x = (x+1)+(x^2+x) = x^2+1, x^9 = x(x^2+1) = x^3+x, x^(10) = x(x^3+x) = x^4+x^2 = x^2+x+1, x^(11) = x(x^2+x+1) = x^3+x^2+x, x^(12) = x(x^3+x^2+x) = x^4+x^3+x^2 = x^3+x^2+x+1, x^(13) = x(x^3+x^2+x+1) = x^4+x^3+x^2+x = x+1+x^3+x^2+x = x^3+x^2+1, x^(14) = x(x^3+x^2+1) = x^4+x^3+x = x+1+x^3+x = x^3+1. Получили все ненулевые элементы поля. Значит, g=x - порождающий элемент. Порядок мульт. группы поля равен 15, поэтому g^(15)=1. Проверка: g^(15) = x^(15) = x(x^3+1) = x^4+x = x+1+x = 1. Предыдущие вычисления дают таблицу логарифмов: f <-> log_g(f) 0 <-> - (не существует) 1 <-> 0 x <-> 1 x+1 <-> 4 x^2 <-> 2 x^2+1 <-> 8 x^2+x <-> 5 x^2+x+1 <-> 10 x^3 <-> 3 x^3+1 <-> 14 x^3+x <-> 9 x^3+x+1 <-> 7 x^3+x^2 <-> 6 x^3+x^2+1 <-> 13 x^3+x^2+x <-> 11 x^3+x^2+x+1 <-> 12 С помощью таблицы логарифмов теперь легко умножать элементы. Пример: (x^3+x)(x^3+x^2+x) = g^9 * g^11 = g^(20) = g^5 = x^2+x. |
20.12.2007 23:25 Дата регистрации: 19 лет назад Посты: 16 | Я все понял, спасибо всем большое. Я все понял... и все построил. Спасибо большое, вы мне помогли. Оказалось элементарно )) |
13.11.2009 22:23 Дата регистрации: 15 лет назад Посты: 5 | Теория кодирования может быть, Вы понимаете, как эта теория используется в теории кодирования? например, мне надо построить линейный сдвиговый регистр с обратной связью lfsr. И там фигурирует эта теория. |
13.11.2009 22:41 Дата регистрации: 15 лет назад Посты: 5 | помогите, пожалуйста! мне надо реализовать поле $F_q$, где q={2^n}, n ={2, 3, ... ,10}, во-общем степень двойки до 10. А есть общий алгоритм? Что-то для каждого числа различается. У меня есть таблица неприводимых многочленов. Напишите для 2^3 ? |
13.11.2009 23:25 Дата регистрации: 15 лет назад Посты: 13 190 | Про Книгу. здесь про конечные поля написано исчерпывающе подробно, и есть все нужные формулы. Ищите да обрящете! |
14.11.2009 00:34 Дата регистрации: 20 лет назад Посты: 398 | Как я понимаю Звёздочка, к сожалению, я ничем помочь не смогу, так как сам я конечными полями и кодированием никогда не занимался. Приведённых примеров F(4) и F(16) более чем достаточно, чтобы понять, как вручную разобраться с полями небольшого размера. Например, с F(8) и F(9). А затем, конечно, можно написать программы, которые всё это делают автоматически. Похоже, что тут только два нетривиальных момента: поиск неприводимого многочлена и поиск порождающего элемента в группе обратимых элементов. Я бы находил их тупым перебором, но надеюсь, что специалисты знают и более красивые способы. Конечно, все основные алгоритмы реализованы в системах компьютерной алгебры (например, есть пакеты для Axiom и для Maxima) и в библиотеках для разных языков программирования (гуглить cpp galois field и т.п.). Например, http://www.partow.net/projects/galois/index.html (Galois Field Arithmetic Library, C++). |
14.11.2009 14:54 Дата регистрации: 15 лет назад Посты: 5 | Спасибо Спасибо * n, где n стремится к бесконечности. =) |
Copyright © 2000−2023 MathForum.Ru & MMOnline.Ru Разработка, поддержка и дизайн — MMForce.Net | ![]() | ![]() |