Сгенерируйте файл, чтобы ускорить расчеты Поля Галуа
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;