I believe I have found a bug in LinearAlgebra:-SmithForm. Consider the following:

with(LinearAlgebra):
A:=Matrix([[-3, 0, -2], [-3, 0, 2], [3, 0, -2], [3, 0, 2]]):
S,U,V := SmithForm(A, output = ['S','U','V'], method = 'integer'):
SS:=U.A.V:
Equal(S,SS);   #should return true
             false

Note that S and SS don't even have the same rank.

I am using Standard Maple 12   Build ID 347164  with Windows XP.  Suggestions for a workaround would be appreciated. Or perhaps someone can spot the bug.

Note that the command ismith in the old linalg package works as expected:

restart:
with(linalg):
A:=Matrix([[-3, 0, -2], [-3, 0, 2], [3, 0, -2], [3, 0, 2]]):
S := ismith(A, U, V):
SS:=eval(U.A.V):
equal(S,SS);
                                    true
 



 


 


Please Wait...