The power of matrix in Maple over Galois Field

208 Views Asked by At

How to compute the power of matrix in Galois Field in Maple. The Using Packages is not applicable for calculation power of matrix in Galois Field.

For example, suppose that the $A$ is a matrix which entries come from GF($2^8$). Now I want to obtain, for instance, $A^{100}$ over GF($2^8$).

I would be grateful for any suggestions

1

There are 1 best solutions below

0
On BEST ANSWER

Response of support team of Maple to this Question

You can try the "LinearAlgebra[Generic]" package, in conjunction with the "GF" package. Please try the following:

restart;

with( LinearAlgebra[Generic] ):

f := alpha -> alpha^4 + alpha + 1;

G16 := GF( 2, 4, f(alpha) );

alias( phi = G16:-ConvertIn );

MatrixPower[G16] := proc( M :: Matrix, p :: nonnegint )

option remember:

local c, r, w:

r, c := LinearAlgebra:-Dimension( M );

if r <> c then error( "Matrix needs to be square." ) end if:

if p = 0 then return LinearAlgebra:-IdentityMatrix( r ) end if:

return simplify( M . MatrixPower[G16]( M, p-1 ) ):

end proc:

A := Matrix( [ [1,0,1], [2,1,0], [0,0,alpha] ] );

B := phi~(A);

MatrixMatrixMultiply[G16]( B, B );

MatrixInverseG16;

MatrixPower[G16]( A, 3 );

Thanks again from support team of Maple for this useful answer.