On 17 November 2016 at 16:07, Johan S. H. Rosenkilde <maill...@atuin.dk> wrote:
>> I'm sure that Sage already has code for Weak Popov Form.  I
>> implemented it myself in about 2004 but from the date you can tell
>> that it was not in Sage (but Magma).
>>
>> Indeed, search_src("popov") finds
>>
>> matrix/matrix_misc.py:32:def weak_popov_form(M,ascend=True):
>
> That function doesn't compute the weak Popov form, but rather a row
> reduced form (they are closely related though), see
> https://trac.sagemath.org/ticket/16888.
>
> The algorithm is also quite slow. Together with a student we implemented
> Mulders and Storjohann's straightforward algorithm [1], see

That was the algorithm I implemented in Magma.  It was not very hard.

>
> https://trac.sagemath.org/ticket/16742
>
> This implementation is much faster than what is currently in Sage.
> Unfortunately, the code never got polished and the student moved on to
> other things, so the code is rotting now.
>
> I have semi-unpolished code in my public repo [2] which uses that
> implementation for shifted Popov form, order basis, etc., allowing the
> whole host of normal forms and K[x] equation solvers. They work and are
> tremendously useful, and they are reasonably fast for small-medium
> matrices. If there is interest and I can get reviewers, I can become
> motivated to polishing them off for Sage proper.

I think there is interest.

>
> Unfortunately, I tried the implementation on Hermite Normal Form, and it
> seems worse than the current hermite_normal_form algorithm.
>
> In my previous mail I mention the minimal approximant basis algorithm by
> Giorgi, Jeannerod and Villard. This can be used for asymptotically much
> faster row reduction computation for large matrices.
>
> [1] Mulders, T., and A. Storjohann. 2003. β€œOn Lattice Reduction for
> Polynomial Matrices.” Journal of Symbolic Computation 35 (4): 377–401.
>
> [2] https://bitbucket.org/jsrn/codinglib
>

I once used the weak Popov form in a talk with Hendrik Lenstra in the
audience and he was quite amused since it appeared to be (and I think
he is right) much the same as his brother Arjen had written about in
his (earlier!) thesis.

> --
> You received this message because you are subscribed to the Google Groups 
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to sage-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-devel@googlegroups.com.
> Visit this group at https://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to