package: pari
version: 2.6.2 (git 16006-f55c8ae)
gp > matdet(Mod(matdiagonal([1,2,3]),4))
*** at top-level: matdet(Mod(matdiagon
*** ^--------------------
*** matdet: impossible inverse in Fl_inv: Mod(2, 4).
*** Break loop: type 'break' to go back to GP prompt
break>
the same same problem arises for inverses
gp > Mod([3,1,2;1,2,1;3,1,1],6)^-1
*** at top-level: ...od([3,1,2;1,2,1;3,1,1],6)^-1
*** ^---
*** _^_: impossible inverse in Fl_inv: Mod(3, 6).
*** Break loop: type 'break' to go back to GP prompt
break>
It seems both call Gauss reduction, which is not valid.
(10:49) gp > Mod([3,1,2;1,2,1;3,1,1]^-1,6)
%2 =
[Mod(1, 6) Mod(1, 6) Mod(3, 6)]
[Mod(2, 6) Mod(3, 6) Mod(5, 6)]
[Mod(1, 6) Mod(0, 6) Mod(5, 6)]
--
Pascal Molin