[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Axiom-developer] Zero divisors in Expression Integer
From: |
Francois Maltey |
Subject: |
Re: [Axiom-developer] Zero divisors in Expression Integer |
Date: |
05 Jan 2007 18:05:53 +0100 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.4 |
Waldek Hebisch <address@hidden> writes:
[....]
> There is an extra difficulty: traditional numerical definitions
> of elementary functions have branch cuts. Branch cuts means
> that we no longer have analytic functions and we may get
> zero divisors even if algebraic approach would produce unique
> answer.
> Branch cuts turn decidable problem into undecidable one:
> I am not sure how well we want to support branch cuts. I belive
> that in most practical cases functions are analytic, for example
> sqrt(exp(%i*x)) is just exp(%i*x/2) (while branch cut interpretation
> would produce artifical discontinuities).
> In other work "correctly"
> handling branch cuts means solving hard problem giving result
> which probably does not match with user expectations...
> OTOH for numeric computation branch cuts seem to be accepted
> solution. Using one definition for symbolic computations
> and a different one for numeric computations breaks one
> of fundamental expectations (namely, that evaluating functions
> at a point is a homomorphizm).
I find very important this last point of view.
I try to use and to teach almost(?) the same mathematics with a pencil
and with a computer algebra system to my students.
A lot of formula about sqrt are right because there are the usual
branch cuts. Without theses branch cuts I fear we can write
-1 = 1^(1/2) = 1 and the equal isn't so associative.
I think the map notion has priority over branch cut.
For real numbers sqrt (x^2) = abs x is an universal equality
because sqrt is a map.
When we prefer to write sqrt (x^2) = x we loose the common sens of
mathematics and all the map abilities.
I give this exercice to my students.
Solve in x for a real number a the equation a (a-1) x = a
(or an other equation as this one)
With an algebra point of view we get x = 1/(a-1).
Standard mathematics prefers : a=0 => every x is solution.
a=1 => there is no solution
=> x = 1 / (a-1)
0/0 is undefined, even in a/a when a=0
I prefer a CAS which respect (almost) all mathematics by default.
When the question is undecidable or isn't coded an option
as << NoPole >> prevents the user to be prudent.
The topic of the #285 bug is almost the same.
In the elemntry package I test I only simplify by default exp (log z) = z,
not log (exp z) = z.
But in a rewrite? package I'll add a rewrite rule as
rewrite (log (exp z), logExp) which gives z.
François.