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
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.