Sage is a great project in my opinion, and i hope to contribute, when i am more familiar with sage and python. I am not sure whether this belongs to sage-support or sage-devel, since i don't understand the architecture, in particular relating to the Symbolic expressions.
That being said, i still don't understand what Symbolic expressions are. >> sage: t = Mod(3,5) >> sage: t.parent() >> Ring of integers modulo 5 >> sage: u = SR(t) >> sage: u >> 3 >> sage: u.parent() >> Symbolic Ring >> sage: u.pyobject().parent() >> Ring of integers modulo 5 In this example t is defined over "Ring of integers modulo 5", which is great, because i heard about this before. It is wrapped in a SR, for some reason, and afterwards the ring can be retrieved. No problem. >> Symbolic expressions keep python objects for numeric values or coefficients. Why is this object accessible to the user? >Try sage: x.roots? for documentation about specifying rings to solve >over; most or even all of what you suggest is possible if you do that. Thanks i wasn't aware of this function, and the functionality is indeed there. However i disagree if no ring is specified. Here is an example (see first example x.roots) ------------------ var('x') x.parent() OUTPUT: Symbolic Ring f=(x^2-1)^2 f.pyobject().parent() OUTPUT: TypeError: self must be a numeric expression f.parent() OUTPUT: Symbolic Ring f.roots() OUTPUT: [(-1, 2), (1, 2)] ------------------ In the documentation of x.roots: - ``ring`` - a ring (default None): if not None, convert self to a polynomial over ring and find roots over ring ------------------ So from a mathematical point of view, it seems that a symbolic ring is the polynomial ring with ground field determined by the coefficients (?). Is this consistent with all the functions taking symbolic expressions without a ring specified? >If you really want polynomials, you need to do >something like > >sage: R.<x> = CC[] >sage: x^2+1 > >and go from there, I think. That is occasionally annoying to those of >us who primarily teach undergraduates, but essential for many of the >applications of Sage. It seems to me that not specifying the ring explicitly is even more difficult to teach. At least i hope so, because i don't understand it yet. As i understand "solve" differs from "roots" in that is solves systems of equation instead of a single equation. In solve it is not even possible to specify a ring, and only can solve in ""Symbolic"" expressions. Thanks, niels --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---