#20588: Add a method divides for MPolynomial_libsingular
-----------------------------------+--------------------------------
Reporter: bruno | Owner:
Type: enhancement | Status: new
Priority: major | Milestone: sage-7.3
Component: commutative algebra | Keywords:
Merged in: | Authors: Bruno Grenet
Reviewers: | Report Upstream: N/A
Work issues: | Branch:
Commit: | Dependencies:
Stopgaps: |
-----------------------------------+--------------------------------
Currently, the divisibility test for multivariate polynomials (using
libSingular) is the generic one implemented in
`src/sage/structure/element.pyx` and uses a test of the form `other%self
== 0`. This can be fasten a lot using libSingular's `kNF` function, with
the "laziness" attribute. Below is an example of timings, with the new
code:
{{{#!python
sage: R.<x,y,z> = ZZ[]
sage: p = R.random_element(20, terms=30)
sage: q = prod(R.random_element(20, terms=30) for _ in range(5))
sage: r = p*q
sage: %time p.divides(r)
CPU times: user 1.26 s, sys: 23.7 ms, total: 1.29 s
Wall time: 1.29 s
True
sage: %time r%p == 0
CPU times: user 8min 41s, sys: 68 ms, total: 8min 41s
Wall time: 8min 41s
True
}}}
--
Ticket URL: <http://trac.sagemath.org/ticket/20588>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.