On tape :
A:=syst2mat([x+y-z-t,x-y-z+t,x+y+z+a*t,x-y+z-a*t],[x,y,z,t])
On obtient :
[[1,1,-1,-1,0],[1,-1,-1,1,0],[1,1,1,a,0],[1,-1,1,-a,0]]
On tape :
C:=tran(A)[0..3]
On obtient :
[[1,1,1,1],[1,-1,1,-1],[-1,-1,1,1],[-1,1,a,-a]]
On tape :
det(C)
On obtient :
8*a+8
Donc pour a!=-1 le rang est 4.
On tape :
D:=subst(C,a=-1)
On obtient :
[[1,1,1,1],[1,-1,1,-1],[-1,-1,1,1],[-1,1,-1,1]]
On tape :
rank(D)
On obtient :
3
Donc pour a=-1 le rang est 3.
Ou on tape :
normal(lu(C))
On obtient :
[0,1,2,3],[[1,0,0,0],[1,1,0,0],[-1,0,1,0],[-1,-1,a/2+1/2,1]],
[[1,1,1,1],[0,-2,0,-2],[0,0,2,2],[0,0,0,-2*a-2]]
On retrouve ainsi le résultat précédent.