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
-~----------~----~----~----~------~----~------~--~---

Reply via email to