Hi all, There is very strange behavior if you want factored coefficients of a free module. Let me give an example in the ring of symmetric functions:
sage: s=SymmetricFunctions(QQ).s() sage: (s[2,1] + 2*s[3]).map_coefficients(factor) 2*s[3] What is happening here is that 'factor' returns a factorization object. factor(1) is an empty list and hence is 'false'. Now if you look at the code for 's._from_dict' it removes objects which are empty. If you look at the documentation for 'map_coefficients' you can see that this is not technically a bug because map_coefficients needs to be an endofunction on the coefficient ring. In this case, factor is mapping from QQ to factor objects and so I wouldn't want to play with the result of that command. On the other hand, in symmetric functions (especially with multiple parameters like Macdonald or Hall-Littlewood) one would frequently like to factor coefficients to know that the coefficients have a nice form. Does anyone have any suggestions about what should happen with this case? I was discussing it with a few people, but we ruled out changing factor, map_coefficients or _from_dict. I find that to work with coefficients in a polynomial ring, the functions factor, simplify, expand are unsatisfactory because the output is rarely in a form that shows me what I want to see (Maple and Mathematica seem better at this). Perhaps what I would like to have is a function 'niceify' that displays a coefficient in a pretty form. -- You received this message because you are subscribed to the Google Groups "sage-combinat-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-combinat-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-combinat-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-combinat-devel. For more options, visit https://groups.google.com/d/optout.