There's been quite a bit of work on Hermite normal form of K[x]-matrices
recently, most notably by Vincent Neiger:

http://dl.acm.org/citation.cfm?id=2930889.2930936

This algorithm gives a much faster way of computing the Hermite Normal
form of K[x] matrices. Unfortunately it relies on quite stack of
sophisticated K[x] techniques such as minimal approximant basis and
high-order lifting for system solving and some of the algorithms of
Neiger and his coauthors:

http://dl.acm.org/citation.cfm?id=2930889.2930928

An algorithm for Hermite Normal form which is fast for "random" input
matrices is much easier to make. In this case, a lot of the complexity
of the above approach trivialises. Vincent Neiger has told me that
generally a sensible implementation of his algorithms should have a fair
amount of these "if stuff is simple, just do this"-clauses to avoid
extra work. Perhaps that's yet another reason it is tricky to get.

I know that some work has been initiated in LinBox, notably computing
minimal approximant bases (also known as sigma basis or order basis)
using the algorithm PMBasis from:

Giorgi, P., C.P. Jeannerod, and G. Villard. 2003. β€œOn the Complexity of
Polynomial Matrix Computations.” In International Symposium on Symbolic
and Algebraic Computation, 135–142.

Just having that algorithm in Sage would be a great addition: it is a
powerful hammer that can be applied to many problems, e.g. computing
reduced and normal forms as well as determinant etc. etc.

My understanding is that these implementations are still experimental
and somewhat undocumented in LinBox but Pascal Giorgi in particular is
working on it. Once that stabilises, we should get it into Sage asap.

Vincent Neiger will soon join my group for two years as a postdoc, and I
know he is interested in implementing some of these things. I hope we
can do some things here and improve Sage's capabilities in this respect.

Best,
Johan







'Bill Hart' via sage-devel writes:

> A colleague suggested to look at the Popov form. I didn't look at what Sage 
> is currently doing, so my apologies if this turns out to not be a useful 
> comment.
>
> Here is a random paper on this that I found [1].
>
> Bill.
>
> [1] http://perso.ens-lyon.fr/gilles.villard/BIBLIOGRAPHIE/PDF/issac96.pdf
>
> On Tuesday, 15 November 2016 10:01:09 UTC+1, Kwankyu Lee wrote:
>>
>> Hi,
>>
>> The current Hermite normal form algorithm in Sage for matrices over k[x] 
>> seems embarrassingly slow. It is a generic algorithm for matrices over 
>> PIDs. What would be possible ways to improve the situation? Any reference 
>> to literature or implementations or like would be welcome. Thanks.
>>
>>


-- 

-- 
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