# Revision history [back]

### smith form, gaussian integers

Hello there, I would like to be able to compute smith normal forms for matrices with coefficients in some specific ring, to be choosen each time.

I am not able to properly creat a matrix in $\mathbb{Z}[\sqrt{-1}]$. For instance

M=matrix([[2+I,0],[0,1]]) then M.change_ring(ZZ[I])

Would lead to an error. On the ogher hand, M=matrix([[2+I,0],[0,1]]) followed by M.smith_form() would lso lead to an error since this time my matrix has coefficients in SR, the symbolic ring, and the normal_form()is not implemented.

However,

A = QQ['x'] #delcaring the ring

M=matrix(A,[[x-1,0,1],[0,x-2,2],[0,0,x-3]]) # building the matrix

M.smith_form()# computing the normal form

Actually works.