Как выполнить обратное в GF (2) и умножить в GF (256) в Matlab?

У меня есть двоичная матрицаA (только1 а также0) и векторD в поле Галуа (256). ВекторC рассчитывается как:

  C = (A^^-1)*D

гдеA^^-1 обозначает обратную матрицу матрицыA вGF(2), * это умножение операции. Вектор результатаC должен быть вGF(256), Я пытался сделать это в Matlab.

A= [ 1     0     0     1     1     0     0     0     0     0     0     0     0     0;
     1     1     0     0     0     1     0     0     0     0     0     0     0     0;
     1     1     1     0     0     0     1     0     0     0     0     0     0     0;
     0     1     1     1     0     0     0     1     0     0     0     0     0     0;
     0     0     1     1     0     0     0     0     1     0     0     0     0     0;
     1     1     0     1     1     0     0     1     0     1     0     0     0     0;
     1     0     1     1     0     1     0     0     1     0     1     0     0     0;
     1     1     1     0     0     0     1     1     1     0     0     1     0     0;
     0     1     1     1     1     1     1     0     0     0     0     0     1     0;
     0     0     0     0     1     1     1     1     1     0     0     0     0     1;
     0     1     1     1     1     0     1     1     1     0     1     1     1     0;
     0     0     0     1     0     0     0     1     0     0     0     0     0     0;
     0     0     1     0     0     0     0     1     0     0     0     0     0     0;
     1     1     1     1     0     0     0     0     0     0     0     0     0     0]

D=[0;0;0;0;0;0;0;0;0;0;103;198;105;115]
A=gf(A,1);
D=gf(D,8); %%2^8=256
C=inv(A)*D
%% The corrected result must be
%%C=[103;187;125;210;181;220;161;20;175;175;187;187;220;115]

Тем не менее, для приведенного выше кода, я не могу достичь, как мой ожидаемый результат

C=[103;187;125;210;181;220;161;20;175;175;187;187;220;115]

Выдает ошибку как

Error using  *  (line 14)
Orders must match.

Не могли бы вы помочь мне достичь ожидаемого результата?

Ответы на вопрос(1)

Ваш ответ на вопрос