How can I find the unimodular matrices in the Smith normal form (mupad)

I am using MuPAD within the Symbolic Math toolbox.
An integer matrix M can be converted to Smith normal form using two unimodular matrices U and V: UMV = D, where D is in Smith normal form. The routine linalg::smithForm(M) will return D, but most often U and V are needed to make use of this result. How can I get U and V?
The related routine linalg::hermiteForm(A, All) can return the one unimodular matrix needed for the Hermite normal form. Does smithForm have such a functionality? linalg::smithForm(M,All) does not seem to do it.

Answers (0)

Asked:

on 4 Mar 2013

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!