On 9/12/07, David Kohel <[EMAIL PROTECTED]> wrote:
> Just to add my 2 bits, I think we should aim for something like the
> following:
>
> sage: x = var('x')
> sage: X = x.domain()
> sage: X
> Affine line over the Real Field
> sage: X.identity()
> x
> sage: f = sin(x)
> sage: X == f.domain()
> True
> sage: f = sin(domain=X,codomain=X)
...
> Note that the default domain could be a Complex Field rather than a
> Real Field.
> In order to allow domains which are, say, the positive real numbers, I
> don't see
> how to get around the need for a class for such domains (i.e.
> RealField() does
> not do the job).
[...]
> However it also introduces some headaches, like when (or on what
> domain) is the
> composition sqrt(x) defined, and how to specify the domain of an
> inverse function:
>[...]
> With this approach, one has to make a design decision whether a
> function must be
> defined everywhere on a domain, whether it can have isolated poles,
> and if the ...
[...]
> This would provide some
> mathematical rigor without killing usability.

The entire point of the SAGE symbolic calculus package is to not
do what you're suggesting above.  It is meant for pure symbol
manipulation and calculus, even if this might not be completely
rigorous.  It's a completely different kind of thinking than what
goes into Magma or even advanced rigorous mathematics.
And for certain types of problems (the vast majority of the ones
undergrad non-math majors encounter), this non-rigorous
symbol manipulation is by far the easiest thing to use.   There is
a genuine reason why Maple and Mathematica have millions of users,
and more formal rigorous systems (e.g., Axiom) have far less, even
though they to some extent address the same problems.

My goal for for SAGE is to provide a viable open source alternative to
Maple, Mathematica, Matlab, and Magma.  To do this it's critical that
there
be a part of SAGE that can truly be as usable for non-mathematicians
as Maple.  We're far from there yet, but I think the current calculus package
is a step in the right direction, and what you're suggesting isn't.

I think that something like you're suggesting definitely has a place for
people with much more mathematical maturating that "undergrad science
majors".  But I think the two must be complementary, not that one replaces
the other.

I remember reading a long thread on axiom-devel that was a discussion
between Ondrej Certik and the axiom developers.  It ended rather
abruptly when one of them wrote that they were not interested at all in
"formal symbol manipulation"  and Ondrej replied that possibly non-rigorous
formal symbol manipulation was *precisely* what he is interested in.
There is certainly a very important place for this sort of computation.

William

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to