You can check Add full option to smith_normal_form by isuruf · Pull Request #17451 · sympy/sympy (github.com) <https://github.com/sympy/sympy/pull/17451>. Although the PR is based on outdated branch, you may have easier time following the algorithms based on that
On Friday, August 16, 2024 at 4:44:45 PM UTC+2 Oscar wrote: > It would be good to have this in SymPy but unfortunately it is not > implemented yet. > > It is also not available in python-flint or Flint either. > > On Fri, 16 Aug 2024 at 15:38, Chris Smith <smi...@gmail.com> wrote: > > > > As far as I can tell, these matrices are not computed implicitly. You > would have to copy the appropriate actions onto an augmented identity > matrix to see what has happened ( > https://www.youtube.com/watch?v=UhyzLfiO4Ow). > > > > /c > > > > On Thursday, August 15, 2024 at 10:51:31 AM UTC-5 bulk...@gmail.com > wrote: > >> > >> Hi, > >> > >> I need to perform a Smith decomposition on (a priori not square) > matrices to find a certain change of basis related to the Smith invariants. > >> > >> The Smith normal form is already implemented in SymPy in > `sympy.matrices.normalforms`, but it returns only the Smith normal form, > not its decomposition itself. > >> > >> In general, the Smith decomposition of a matrix A is defined in terms > of three matrices V, D, W so that > >> > >> A = V * D * W > >> > >> where V,W are both square, invertible, and integer-valued matrices. Is > there any way of obtaining those matrices without reimplementing the > algorithm myself? I assume that these matrices are computed at least > implicitely, but I could not find a way of returning them. > >> > >> thanks! > > > > -- > > You received this message because you are subscribed to the Google > Groups "sympy" group. > > To unsubscribe from this group and stop receiving emails from it, send > an email to sympy+un...@googlegroups.com. > > To view this discussion on the web visit > https://groups.google.com/d/msgid/sympy/7d884ae9-5b11-4e9e-a4ef-1e4f918410a4n%40googlegroups.com > . > -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sympy+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/e5c6cba8-6ad8-45d5-8e18-30c870ffd865n%40googlegroups.com.