> Sorry if i am stating the obvious here, the reason is that i am trying
> to explain why i think it should be (either implicit or explicit)
> clear over which algebraic structure is computed.

Generally it is -- try parent(foo) or foo.parent() to see what  
"algebraic structure" is in play.

sage: Zmod(5)(1).parent()
Ring of integers modulo 5
sage: (Zmod(5)(-1) * sin(x))
4*sin(x)
sage: (Zmod(5)(-1) * sin(x))^2
sin(x)^2
sage: (Zmod(5)(-1) * sin(x)).parent()
Symbolic Ring

Now this is irritating, perhaps, but there is no way to avoid this  
given the "parents with objects" approach that Sage subscribes to:

sage: t = (Zmod(5)(3) * sin(x))^2
sage: t
4*sin(x)^2
sage: t.operands()
[sin(x)^2, 4]
sage: t.operands()[-1]
4
sage: t.operands()[-1].parent()
Symbolic Ring
sage: t.operands()[-1].pyobject().parent()
Ring of integers modulo 5

So the algebraic structure really is there, it's just that the  
"Symbolic Ring" algebraic structure is very permissive: it's not  
really "algebraic" in a mathematical sense.

Nick

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to