Back to Forum  View unanswered posts  View active topics
Topic review  p_IsUnit and p_Invers 
Author 
Message 


Post subject: 
Re: p_IsUnit and p_Invers 


p_Invers: is only a helper routine for the 3argument forms of jet (see https://www.singular.unikl.de/Manual/4 ... ng_265.htm). It should not be used otherwise: is a static routine in newer releases Furthermore, the coefficients must be from a field. p_IsUnit: is currently only used to simplify ideals, and currently defined as: p is a constant polynomial and the constant is a unit. I will try to extend that.....but it is of low priority.
p_Invers: is only a helper routine for the 3argument forms of jet (see https://www.singular.unikl.de/Manual/410/sing_265.htm). It should not be used otherwise: is a static routine in newer releases Furthermore, the coefficients must be from a field.
p_IsUnit: is currently only used to simplify ideals, and currently defined as: p is a constant polynomial and the constant is a unit. I will try to extend that.....but it is of low priority.




Posted: Thu Mar 09, 2017 5:06 pm 





Post subject: 
p_IsUnit and p_Invers 


I am using singular via its integration in Sage. Both p_IsUnit and p_Invers are called by Sage for multivariate polynomials over rings like the integers or the integers mod n. In the case of integers mod n, where n is composite, p_IsUnit does not give the expected result. As a polynomial over the integers mod 4, for example, 1+2*x is a unit (it is in fact selfinverse), but p_Unit reports that it is not. (A polynomial like this is a unit iff the constant term is a unit in the base ring, and all other coefficients are nilpotent.)
p_Invers, the way it is called by Sage, never seems to give the correct result in these cases, and looking at the code gives me some doubt that it is meant to. However, I could not find the documentation describing exactly what it is meant to do.
Are these functions are meant to work in rings that are not integral domains?
I am using singular via its integration in Sage. Both p_IsUnit and p_Invers are called by Sage for multivariate polynomials over rings like the integers or the integers mod n. In the case of integers mod n, where n is composite, p_IsUnit does not give the expected result. As a polynomial over the integers mod 4, for example, 1+2*x is a unit (it is in fact selfinverse), but p_Unit reports that it is not. (A polynomial like this is a unit iff the constant term is a unit in the base ring, and all other coefficients are nilpotent.)
p_Invers, the way it is called by Sage, never seems to give the correct result in these cases, and looking at the code gives me some doubt that it is meant to. However, I could not find the documentation describing exactly what it is meant to do.
Are these functions are meant to work in rings that are not integral domains?




Posted: Wed Mar 08, 2017 9:13 pm 





It is currently Wed Dec 13, 2017 4:43 pm

