Вопрос в том, знаете ли вы как преобразовать данную матрицу к каноническому виду или нет.
А что касается остальных вещей, то это здесь врядли вам поможет.
Но всё таки..
Речь идёт о циклическом коде.
Длина кода

(это кол-во столбцов матрицы)
Образующий полином

(в двоичном виде:

)
Количество строк

(длина кода минус степень полинома, т.е.

)
Строим образующую матрицу

Первая строка матрицы это образующий полином, дополненный нулями слева.
Вторая и треть строка матрицы - это сдвиг первой строки на позицию влево.

В первую очередь надо выяснить, что такое канонический вид прямоугольной матрицы в этих "Методах защиты от ошибок"
В учебнике про это ни слова не сказано. А в методичке дана похожая матрица и написано: "Полученную матрицу можно преобразовать к каноническому виду путём суммирования строк (по модулю 2) и перестановки строк местами".
Многие из вас очень привыкли, что речь всегда идёт о десятичной системы счисления. Здесь же речь идёт о двоичной.
(Оффтоп)
Единственное, что мне приходит на ум это "Транспонировать матрицу, а потом, путём сложения строк, привести её к каноническому виду".
Отсюда вопрос. В обычной математики, если транспонировать матрицу, а потом складывать её строки, то будет ли она эквивалентна исходной матрице? Т.е. , учитывая, что я потом опять её транспонирую, фактически я буду складывать столбцы матрицы. Можно ли это делать, не потеряв при этом эквивалентность?