I’ve simplified, as much as I can, the problem to the following example, consider:

*sage:* var(‘n, k, t’) (n, k, t) # good *sage:* p=1/2*(n*pi/k + t) *sage:* p 1/2*pi*n/k + 1/2*t # acceptable expansion but not perfect: should be n*pi not pi*n *sage:* p.factor() 1/2*(pi*n + k*t)/k # acceptable (see previous remark, also note, 1/2 and k are factored, ok) *sage:* p.factor() 1/2*(pi*n + k*t)/k # good (nothing changed, yet only acceptable expansion, as ditto, 1/2 and k still factoring, fine) *sage:* p.factor(dontfactor=[k]) 1/2*(pi*n + k*t)/k # bad (factors k still: dontfactor not recognized for k), 1/2 factored as should be. *sage:* p.factor(k) 1/2*(pi*n + k*t)/k # bad (factors k still: dontfactor not recognized for k), 1/2 factored as should be. Should be: 1/2*(pi*n/k + t) or ideally, 1/2*(n*pi/k + t), note the placement of the "n" (yes it is important for non-commutating algebras). badfactor is not recognizing dontfactor variable “k”, yet does factor “1/2” like it should. In more sophisticated constructs, this problem creates great problems of needless equation complexity. Or am I using "dontfactor" incorrectly? Your input is appreciated. Regards, Dorian -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.