Создание файла для ускорения вычислений поля Галуа
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;