On Sunday, 6 April 2025 at 16:36:37 UTC+2 ra...@hemmecke.org wrote:

> p1:= 3*x*y*x*z --> 3 x y x z 
> lquo(p1,3*x*y) --> 9 x z (expected: x z) 

Obviously, the coefficients are not taken into account. Even worse, they 
are multiplied. 


It's comforting that you interpret this as an "oddity" too. 
 


The docs speaks about "simplification". 

> -- Cat XFreeAlgebra (xpoly.spad, L28) 
> -- lquo : (%, %) -> % 
> -- ++ \spad{lquo(x, y)} returns the left simplification of \spad{x} by 
> \spad{y}. 

Now it is a question how "simplification" actually is defined. :-( 


Indeed, I would see it more as left/right cancellation (then the 
coefficients must be taken reciprocal of course, i.e. if possible).
 


Kurt, now you have to do some detective work to find out where those 
lquo and rquo are actually used. I hope nowhere in the library. 


Unfortunately in some other x*.spad files, but I believe there are each 
time new implementations ... to be checked. 
 


To fix it, one must take into account that the domain parameter R is 
only of type Ring. 


That's a point. When I used "Integer" in the first place, recip(3) is 
useless anyway, although it would be nice to have (left or right) 
cancellation in this case as well.
I hope Waldek can save it :)
 


Ralf 

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/fricas-devel/9be87bde-516f-4488-9a34-525d4df84abdn%40googlegroups.com.

Reply via email to