Smithex_int INDEX

SMITHEX\_INT _ _ _ _ _ _ _ _ _ _ _ _ operator

The operator smithex_int performs the same task as smithex but on matrices containing only integer entries. Namely, smithex_int returns {S,P,P^-1} where S is the smith normal form of the input matrix (A say), and P*S*P^-1 = A.

syntax:

smithex_int(<matrix>)

<matrix> :- a rectangular matrix of integer entries.

examples:


 a := mat((9,-36,30),(-36,192,-180),(30,-180,180)); 


       [ 9   -36    30 ]
       [               ]
  a := [-36  192   -180]
       [               ]
       [30   -180  180 ]



 smithex_int(a); 

    [3  0   0 ]    [-17  -5   -4 ]    [1   -24  30 ]
    [         ]    [             ]    [            ]
  { [0  12  0 ],   [64   19   15 ],   [-1  25   -30] }
    [         ]    [             ]    [            ] 
    [0  0   60]    [-50  -15  -12]    [0   -1    1 ]