axiom-developer
[Top][All Lists]

## Re: [Axiom-developer] [Q] radicalSolve fails to find all roots ?

 From: William Sit Subject: Re: [Axiom-developer] [Q] radicalSolve fails to find all roots ? Date: Mon, 17 Jan 2005 16:31:52 -0500

```These are NOT bugs! But the following may be! Consider the equation z^n=1 for n
= 7:

(1)
7+-+      +---+7+-+    2%pi    7+-+    2%pi
[z= \|2 , z= \|- 1 \|2 sin(----) + \|2 cos(----),
7               7
+---+7+-+    4%pi    7+-+    4%pi
z= \|- 1 \|2 sin(----) + \|2 cos(----),
7               7
+---+7+-+    6%pi    7+-+    6%pi
z= \|- 1 \|2 sin(----) + \|2 cos(----),
7               7
+---+7+-+    8%pi    7+-+    8%pi
z= \|- 1 \|2 sin(----) + \|2 cos(----),
7               7
+---+7+-+    10%pi    7+-+    10%pi
z= \|- 1 \|2 sin(-----) + \|2 cos(-----),
7                7
+---+7+-+    12%pi    7+-+    12%pi
z= \|- 1 \|2 sin(-----) + \|2 cos(-----)]
7                7
Type: List Equation Expression Integer

Of course, these are correct solutions by Euler's Formula. A bit surprising that
radicalSolve invokes these for z^7=2 and not for z^7=1; when n is 7, these
trignometric values are not embeddable in a tower of "solvable" extensions. That
is, these are not solutions expressible in terms of radicals (of *real* numbers)
and arithmetic alone. Put another way, the regular 7-gon is not constructible by
compass and ruler alone. From:

http://mathworld.wolfram.com/ConstructiblePolygon.html
http://mathworld.wolfram.com/TrigonometryAngles.html

A necessary and sufficient condition that a regular n-gon be constructible is
that phi(n) be a power of 2, where phi(n) is the totient function (KrĂ­zek 2001,
p. 34).

n =  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17 18 19 20
phi= 1  1  2  2  4  2  6  4  6   4  10   4  12   6   8   8  16  6 18  8
bad=                   x     x       x       x   x              x  x
n =                    7            11      13  14  15      17    19

So if you compare the constructible regular n-gons, you can see why Axiom's
results are reasonable: radicalSolve only finds solutions that are expressible
in terms of radicals and arithmetic operations. It did not find those for n = 15
and 17 probably (I am guessing) because at the time of implementation, these
constructions were not known (at least to the programmer). On the other hand,
for n = 9, 18, the solutions are expressible in radicals only if radicals of
*complex* numbers are allowed and Axiom found those (perhaps it shouldn't?). The
numbers, as theory predicts.

When Axiom cannot find solutions, it is (presumably) a PROOF that the other
solutions are NOT solvable by radicals (using *real* numbers), or at least,
there is no known proof that it is solvable at the time of implementation. (That
is why I am surprised at the above result for z^7=2).

In other words, rather than viewing the answer for z^7=1 as a bug, we should
view the answers for z^7=2, z^7=3 (and may be even z^9=1, z^18=1) as bugs!

Still, the package should be upgraded.

-------------------

(1)
+------------+
|   +---+
+------------+       +---+ +-+       |- \|- 3  - 1
|   +---+          (\|- 1 \|3  - 1) 3|------------
|- \|- 3  - 1                       \|      2
[z= 3|------------ , z= -------------------------------,
\|      2                          2
+------------+
|   +---+
+---+ +-+       |- \|- 3  - 1      +----------+
(- \|- 1 \|3  - 1) 3|------------      | +---+
\|      2           |\|- 3  - 1
z= ---------------------------------, z= 3|---------- ,
2                     \|     2
+----------+                        +----------+
| +---+                             | +---+
+---+ +-+       |\|- 3  - 1         +---+ +-+       |\|- 3  - 1
(\|- 1 \|3  - 1) 3|----------     (- \|- 1 \|3  - 1) 3|----------
\|     2                            \|     2
z= -----------------------------, z= -------------------------------,
2                                  2
+---+          +---+
- \|- 3  - 1     \|- 3  - 1
z= ------------, z= ----------, z= 1]
2               2
Type: List Equation Expression Integer

(2)
7+-+      +---+7+-+    2%pi    7+-+    2%pi
[z= \|3 , z= \|- 1 \|3 sin(----) + \|3 cos(----),
7               7
+---+7+-+    4%pi    7+-+    4%pi
z= \|- 1 \|3 sin(----) + \|3 cos(----),
7               7
+---+7+-+    6%pi    7+-+    6%pi
z= \|- 1 \|3 sin(----) + \|3 cos(----),
7               7
+---+7+-+    8%pi    7+-+    8%pi
z= \|- 1 \|3 sin(----) + \|3 cos(----),
7               7
+---+7+-+    10%pi    7+-+    10%pi
z= \|- 1 \|3 sin(-----) + \|3 cos(-----),
7                7
+---+7+-+    12%pi    7+-+    12%pi
z= \|- 1 \|3 sin(-----) + \|3 cos(-----)]
7                7
Type: List Equation Expression Integer

7
WARNING (genufact): No known algorithm to factor ?  - 1.0
, trying square-free.

(3)
+-----+
[z= 1.0, z= 0.7818314824 6802980871\|- 1.0  + 0.6234898018 5873353053,
+-----+
z= 0.9749279121 8182360702\|- 1.0  - 0.2225209339 5631440428,
+-----+
z= 0.4338837391 1755812048\|- 1.0  - 0.9009688679 0241912624,
+-----+
z= - 0.4338837391 1755812046\|- 1.0  - 0.9009688679 0241912625,
+-----+
z= - 0.9749279121 8182360702\|- 1.0  - 0.2225209339 563144043,
+-----+
z= - 0.7818314824 6802980872\|- 1.0  + 0.6234898018 5873353052]
Type: List Equation Expression Float

(4)  []
Type: List Equation Expression Integer

William
-----------------

>
> Hi *,
>
> Any comments are highly appreciated on the following stuff.
>
> .....................................................................
>
> Obviously, all the roots of the equation z^7 = 1 can be expressed in
> radicals, and Mathematica can easily produce the explicit expressions
>
> Solve[z^7 == 1, z]
>
> {{z -> 1}, {z -> -(-1)^(1/7)}, {z -> (-1)^(2/7)}, {z -> -(-1)^(3/7)},
> {{z -> {z -> (-1)^(4/7)}, {z -> -(-1)^(5/7)}, {z -> (-1)^(6/7)}}
>
> To save the space, below the only example is given.
>
> FunctionExpand[ComplexExpand[-(-1)^(1/7)]]
>
> (1/2)*((1/3)*((1/2)*(-1 + I*Sqrt[7]) + ((-1 + I*Sqrt[3])*((1/2)*(-1 +
> I*Sqrt[7]) + (1/2)*(-1 - I*Sqrt[7])*((1/2)*(-1 + I*Sqrt[3]) +
> (1/4)*(-1 + I*Sqrt[3])^2)))/(2*(6 + (3/4)*(-1 + I*Sqrt[3])*(-1 +
> I*Sqrt[7]) + (1/2)*(-1 - I*Sqrt[7])*(1 + (3/4)*(-1 +
> I*Sqrt[3])^2))^(1/3)) + (1/4)*(-1 + I*Sqrt[3])^2*(6 + (3/4)*(-1 +
> I*Sqrt[3])*(-1 + I*Sqrt[7]) + (1/2)*(-1 - I*Sqrt[7])*(1 + (3/4)*(-1 +
> I*Sqrt[3])^2))^(1/3)) +(1/3)*((1/2)*(1 + I*Sqrt[7]) - ((-1 +
> I*Sqrt[3])^2*((1/2)*(-1 -I*Sqrt[7]) + (1/2)*(-1 +
> I*Sqrt[7])*((1/2)*(-1 + I*Sqrt[3]) + (1/4)*(-1 + I*Sqrt[3])^2)))/(4*(6
> + (3/4)*(-1 + I*Sqrt[3])*(-1 - I*Sqrt[7]) + (1/2)*(-1 + I*Sqrt[7])*(1
> + (3/4)*(-1 + I*Sqrt[3])^2))^(1/3)) -(1/2)*(-1 + I*Sqrt[3])*(6 +
> (3/4)*(-1 + I*Sqrt[3])*(-1 - I*Sqrt[7]) + (1/2)*(-1 + I*Sqrt[7])*(1 +
> (3/4)*(-1 + I*Sqrt[3])^2))^(1/3))) + (1/2)*((1/3)*((1/2)*(-1 +
> I*Sqrt[7]) + ((-1 + I*Sqrt[3])*((1/2)*(-1 + I*Sqrt[7]) + (1/2)*(-1 -
> I*Sqrt[7])*((1/2)*(-1 + I*Sqrt[3]) + (1/4)*(-1 + I*Sqrt[3])^2)))/(2*(6
> + (3/4)*(-1 + I*Sqrt[3])*(-1 + I*Sqrt[7]) + (1/2)*(-1 - I*Sqrt[7])*(1
> + (3/4)*(-1 + I*Sqrt[3])^2))^(1/3)) +(1/4)*(-1 + I*Sqrt[3])^2*(6 +
> (3/4)*(-1 + I*Sqrt[3])*(-1 + I*Sqrt[7]) + (1/2)*(-1 - I*Sqrt[7])*(1 +
> (3/4)*(-1 + I*Sqrt[3])^2))^(1/3)) + (1/3)*((1/2)*(-1 - I*Sqrt[7])
> +((-1 + I*Sqrt[3])^2*((1/2)*(-1 - I*Sqrt[7]) + (1/2)*(-1 +
> I*Sqrt[7])*((1/2)*(-1 + I*Sqrt[3]) + (1/4)*(-1 + I*Sqrt[3])^2)))/(4*(6
> + (3/4)*(-1 + I*Sqrt[3])*(-1 - I*Sqrt[7]) + (1/2)*(-1 + I*Sqrt[7])*(1
> + (3/4)*(-1 + I*Sqrt[3])^2))^(1/3)) +(1/2)*(-1 + I*Sqrt[3])*(6 +
> (3/4)*(-1 + I*Sqrt[3])*(-1 - I*Sqrt[7]) + (1/2)*(-1 + I*Sqrt[7])*(1 +
> (3/4)*(-1 + I*Sqrt[3])^2))^(1/3)))
>
> According to the AXIOM Book
>
> AXIOM Book>  Use radicalSolve if you want your solutions expressed in
> AXIOM Book>  terms of radicals.
>
> However, already for z^7 = 1 this is not so,
>
>
>    [z= 1]
>
> and the problem exists for 11, 13, 14, 15, 17, 19 etc
>
> -> for i in 1..20 repeat print([i,#radicalSolve(z^i=1,z)])
>
>    [1,1]
>    [2,2]
>    [3,3]
>    [4,4]
>    [5,5]
>    [6,6]
>    [7,1]   <-- not good
>    [8,8]
>    [9,9]
>    [10,10]
>    [11,1]  <-- not good
>    [12,12]
>    [13,1]  <-- not good
>    [14,2]  <-- not good
>    [15,7]  <-- not good
>    [16,16]
>    [17,1]  <-- not good
>    [18,18]
>    [19,1]  <-- not good
>    [20,20]
>
> .....................................................................
>
> Best,
>
>
> _______________________________________________
> Axiom-developer mailing list
> http://lists.nongnu.org/mailman/listinfo/axiom-developer

--
William Sit