Back to Forum  View unanswered posts  View active topics
Topic review  Testing divisibility of multivariate polynomials 
Author 
Message 


Post subject: 
Re: Testing divisibility of multivariate polynomials 


Thank you very much. I implemented a method `divides` for multivariate polynomials in Sage based on kNF. See ticket #20588.
Thank you very much. I implemented a method `divides` for multivariate polynomials in Sage based on kNF. See ticket #20588.




Posted: Wed May 11, 2016 2:59 pm 





Post subject: 
Re: Testing divisibility of multivariate polynomials 


for version 317: reduce is internally Code: poly kNF (ideal F, ideal Q, poly p,int syzComp=0, int lazyReduce=0); from kernel/kstd1.cc, i.e. one have to use (the additional argument 1 maps to lazyReduce) Code: result=kNF(<f converted to ideal>,NULL,p,0,1) Analog for version 403: kNF is now in kernel/GBEngine/kstd1.cc
for version 317: reduce is internally [code]poly kNF (ideal F, ideal Q, poly p,int syzComp=0, int lazyReduce=0);[/code] from kernel/kstd1.cc, i.e. one have to use (the additional argument 1 maps to lazyReduce) [code]result=kNF(<f converted to ideal>,NULL,p,0,1)[/code] Analog for version 403: kNF is now in kernel/GBEngine/kstd1.cc




Posted: Tue May 10, 2016 10:19 am 





Post subject: 
Re: Testing divisibility of multivariate polynomials 


Thanks for the pointer. I have trouble to find the source code corresponding to this function, do you have any hint?
Thanks for the pointer. I have trouble to find the source code corresponding to this function, do you have any hint?




Posted: Mon May 09, 2016 4:13 pm 





Post subject: 
Re: Testing divisibility of multivariate polynomials 


see http://www.singular.unikl.de/Manual/403/sing_383.htm. For such tests use Code: reduce(p,f,1) which computes only the leading term of p%f completely, usually much faster if only the divisibility test is needed.
see [url]http://www.singular.unikl.de/Manual/403/sing_383.htm[/url]. For such tests use [code]reduce(p,f,1)[/code] which computes only the leading term of p%f completely, usually much faster if only the divisibility test is needed.




Posted: Fri May 06, 2016 12:38 pm 





Post subject: 
Testing divisibility of multivariate polynomials 


Is there a function to test whether a (multivariate) polynomial f divides another polynomial p? Of course, one can compute the reduction of p modulo f. As it happens, for many variables and fairly sparse p (and quite simple f, say of total degree 1 for instance), computing the reduction is pretty fast when f does divide p, but may take a very long time if f does not divide p. (I have the impression that this is due to the fact that p%f can be very dense in such case.) Actually, in case f does not divide p, one can often give the answer very early (as soon as one begins to "fill" the remainder). So my question: Is there a function in Singular which implements this (fairly trivial and naive) optimization?
P.S.: I use Singular through Sage. In Sage, the method f.divides(p) simply calls p%f and tests it for zero. If a function as I ask for exists in Singular, I'll do my best to use it in the method "divides" of Sage.
Is there a function to test whether a (multivariate) polynomial f divides another polynomial p? Of course, one can compute the reduction of p modulo f. As it happens, for many variables and fairly sparse p (and quite simple f, say of total degree 1 for instance), computing the reduction is pretty fast when f does divide p, but may take a very long time if f does not divide p. (I have the impression that this is due to the fact that p%f can be very dense in such case.) Actually, in case f does not divide p, one can often give the answer very early (as soon as one begins to "fill" the remainder). So my question: Is there a function in Singular which implements this (fairly trivial and naive) optimization?
P.S.: I use Singular through Sage. In Sage, the method f.divides(p) simply calls p%f and tests it for zero. If a function as I ask for exists in Singular, I'll do my best to use it in the method "divides" of Sage.




Posted: Wed May 04, 2016 3:55 pm 





It is currently Tue May 22, 2018 11:31 pm

