Если не открываются Jupyter Notebook, то используйте проект тут.
Если необходима математическая база для понимания кода БЧХ и кода Рида-Соломона, то посоветую книгу: Лидл. Р., Нидеррайтер Г. «Конечные поля». Данная книга помогает мне до сих пор. Советую прочитать следующее:
- Глава 1. § 1 Группы. (Бинарная операция, группа, n-ая степень элемента a, мультипликативное обозначение, аддативное обозначение, циклическая группа, порядок группы, подгруппа, гомоморфизм, изоморфизм, факторгруппа)
- Глава 1. § 2 Кольца и поля. (Кольцо, поле, идеал, главный идеал, факторкольцо, поле Галуа порядка p, характеристика кольца)
- Глава 1. § 3 Многочлены. (Многочлен над кольцом, кольцо многочленов над кольцом, неприводимый многочлен на кольцом, корень многочлена)
- Глава 1. § 4 Расширения полей. (Советую внимательно прочитать и осознать данную главу)
- Глава 2. § 1 Характеризация конечных полей. (Только поверхностно)
- Глава 2. § 2 Корни неприводимых многочленов. (Только поверхностно)
- Глава 2. § 3 Следы, нормы и базисы. (Только поверхностно, базис и нормальный базис)
- Глава 2. § 4 Корни из единицы и круговые многолены. (Только поверхностно, примерно можно взять из комплексных чисел.)
- Глава 2. § 5 Представление элементов конечных полей. (Первый способ)
- Глава 9. § 1 Линейные коды. (избыточное кодирование, простая модель системы связи, линейный (n,k)-код, вектор ошибок, синдром)
- Глава 9. § 2 Циклические коды. (Советую внимательно прочитать и осознать данную главу)
В Galois field.ipynb определено поле Галуа, которое используется в коде БЧХ и в коде Рида-Соломона. В Extended Euclid's Algorithm.ipynb описан расширенный алгоритм Евклида. Derivative of the Galois field of characteristic 2.ipynb пример производной поля характеристики 2. Сначала лучше начать с разбора БЧХ, а потом переходить на Рида-Соломона.
Неплохая реализация Конечных полей тут
Nikita Konstantinovich Chistousov
MIT