On Thu, 4 Jan 2007 05:47:29 +0100 (CET)
Waldek Hebisch <[EMAIL PROTECTED]> wrote:
I have already written that due to incomplte
simplification we
may get zero divisors in Expression Integer. Below an
easy
example that multiplication in Expression Integer is
nonassociative
(or, if you prefer, a proof that 1 equals 0):
(135) -> c1 := sqrt(2)*sqrt(3*x)+sqrt(6*x)
+--+ +-+ +--+
(135) \|6x + \|2 \|3x
Type:
Expression Integer
(136) -> c2 := sqrt(2)*sqrt(3*x)-sqrt(6*x)
+--+ +-+ +--+
(136) - \|6x + \|2 \|3x
Type:
Expression Integer
(137) -> (1/c1)*c1*c2*(1/c2)
(137) 1
Type:
Expression Integer
(138) -> (1/c1)*(c1*c2)*(1/c2)
(138) 0
Type:
Expression Integer
But this is not just an Axiom problem. Mathematica does
the same thing, with a slight variation on input:
a1 = Sqrt[2]*Sqrt[3 Sqrt[5x + 7] + 6] - Sqrt[6Sqrt[5x + 7]
+ 12]
a2 = Sqrt[2]*Sqrt[3 Sqrt[5x + 7] + 6] + Sqrt[6Sqrt[5x + 7]
+ 12]
(1/a1)*a1*a2*(1/a2) (* answer 1 *)
(1/a1)*(a1*a2 // Simplify)*(1/a2) (*answer 0, Simplify is
needed to get this *)
The problem seems to be the lack of a canonical form for
radical expressions and an algorithm to reduce expressions
to canonical form. A related problem is lack of algorithm
to test zero. Another is denesting of a nested radical
expression. These problems have been studied by Zippel,
Landau, Tulone et al, Carette and others.
William
_______________________________________________
Axiom-developer mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/axiom-developer