Previous Up Next

6.57.15  Forme normale de Smith : smith

smith a comme argument une matrice A à coefficients des polynômes qui ont leur coefficients dans un corps K.
smith renvoie les matrices U, D, V avec U et V inversibles et D diagonale et vérifiant D=U*A*V.
On tape :

M:=([[5,-2,3,6],[1,-3,1,3],[7,-6,-4,7],[-2,-4,-3,0]]) % 17
A:=x*idn(4)-M

On obtient :

[[x+(-5)% 17,2 % 17,(-3) % 17,(-6) % 17], [(-1) % 17,x+3 % 17,(-1) % 17,(-3) % 17], [(-7) % 17,6 % 17,x+4 % 17,(-7) % 17], [2 % 17,4 % 17,3 % 17,x]]

On tape :

U,D,V:=smith(A)

On obtient U,D,V:

[([[0,-1,0,0],[0,0,6,4],[5-2*x,-5-4*x,-6-3*x,6-3*x+x^2],[6+5*x+2*x^2,2+8*x+4*x^2,1+4*x+3*x^2,-6+2*x-2*x^2-x^3]]) % 17,
([[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,2-3*x+8*x^2-2*x^3-x^4]]) % 17,
([[1,3+x,-7-3*x-6*x^2,6-8*x+x^2-2*x^3+2*x^4+6*x^5],[0,1,-2-6*x,-6+5*x-6*x^2+x^3+6*x^4],[0,0,1,7+3*x^2-x^3],[0,0,0,1]]) % 17]

On vérifie, on tape :

normal(U*A*V-D)

On obtient:

[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]

On tape :

B:=[[x^2+x-1,1,0,1],[-1,x,0,-1],[0,x^2+1,x,0],[1,0,1,x^2+x+1]] % 3
L:=smith(B)

On obtient :

[([[0,-1,0,0],[1,0,0,1-x-x^2],[0,1+x^2,-x,1+x^2],[-1,1+x-x^3-x^4,1-x+x^2+x^3,-x+x^2-x^3-x^4]]) % 3,([[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1+x+x^5-x^6]]) % 3,([[1,x,-x+x^2+x^3,-1+x+x^2+x^3+x^4+x^6-x^7],[0,1,-1+x+x^2,1+x+x^2+x^3+x^5-x^6],[0,0,1,-x-x^2-x^3-x^4],[0,0,0,1]]) % 3]

On vérifie, on tape :

normal(L[0]*B*L[2]-L[1])

On obtient:

[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]%3

Previous Up Next