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.