Сгенерируйте файл, чтобы ускорить расчеты поля Галуа
gftable(m,prim_poly);
gftable(m,prim_poly)
генерирует файл, который может помочь ускорить расчеты в поле GF (2^m
), как описано примитивным полиномом без ограничений prim_poly
, который может быть либо полиномиальным вектором символов, либо целым числом. prim_poly
представляет примитивный полином для GF (2^m
), где 1 < m < 16, с использованием формата, описанного в Примитивных Полиномах и Представлениях Элемента. Функция помещает файл, вызываемый userGftable.mat
, в текущей рабочей папке. При необходимости функция перезаписывает любую доступную для записи существующую версию файла.
Примечание
Если prim_poly
является примитивным полиномом по умолчанию для GF (2^m
), перечисленных в таблице на gf
страница с описанием, эта функция не влияет. MAT-файл в вашей установке MATLAB уже включает информацию, которая облегчает расчеты относительно примитивного полинома по умолчанию.
В примере ниже вы ожидаете t3
быть подобным t1
и быть значительно меньше t2
, принимая, что у вас еще нет userGftable.mat
файл, который включает (m
, prim_poly
) пара (8
, 501
). Заметьте, что перед выполнением gftable
команда MATLAB отображает предупреждение и что после выполнения gftable
, нет никакого предупреждения. Путем выполнения gftable
для более быстрых вычислений сохраните таблицу GF.
% Sample code to check how much gftable improves speed. tic; a = gf(repmat([0:2^8-1],1000,1),8); b = a.^100; t1 = toc; tic; a = gf(repmat([0:2^8-1],1000,1),8,501); b = a.^100; t2 = toc; gftable(8,501); % Include this primitive polynomial in the file. tic; a = gf(repmat([0:2^8-1],1000,1),8,501); b = a.^100; t3 = toc;