I left a modified version in the comment here,  Add full option to 
smith_normal_form by isuruf · Pull Request #17451 · sympy/sympy (github.com) 
<https://github.com/sympy/sympy/pull/17451#issuecomment-2294924849> , that 
will compute the decomposition.

On Friday, August 16, 2024 at 3:07:41 PM UTC-5 syle...@gmail.com wrote:

> 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/ea5973c2-0371-468b-9e11-73054afecf0bn%40googlegroups.com.

Reply via email to