The bug is:

(1) -> radicalSolve([x-y],[x,y])

   (1)  [[x= x]]
                              Type: 
List(List(Equation(Expression(Integer))))
(2) -> radicalRoots([x-y],[x,y])

   (2)  [[x]]
                                        Type: 
List(List(Expression(Integer)))
(3) -> solve([x-y],[x,y])

   (3)  [[x= %A,y= %A]]
                    Type: 
List(List(Equation(Fraction(Polynomial(Integer)))))

Clearly result (1) is wrong, and it's easy to make it return "[[x= y]]",
however, that depends on the meaning of 'radicalRoots':

        radicalRoots :    (L RF, L SY)   -> L L RE
          ++ radicalRoots(lrf, lvar) finds the roots expressed in terms of
          ++ radicals of the list of rational functions lrf
          ++ with respect to the list of symbols lvar.

In the case of "radicalRoots([x-y],[x,y])" returns "[[x]]",
when equations of lrf are indeterminate, returns with
respect to the *reverse* order of lvar.

If so, the patch is:

diff --git a/src/algebra/solverad.spad b/src/algebra/solverad.spad
index c836157..fc6dec4 100644
--- a/src/algebra/solverad.spad
+++ b/src/algebra/solverad.spad
@@ -276,7 +277,7 @@ RadicalSolvePackage(R) : Cat == Capsule where
         makeEq(nres : L RE, lv : L SY) : L EQ RE ==
-          [equation(x :: RE, r) for x in lv for r in nres]
+          [equation(x :: RE, r) for x in reverse lv for r in nres]



After patch:
(1) -> radicalSolve([y-x],[x,y])

   (1)  [[y= x]]
                              Type: 
List(List(Equation(Expression(Integer))))

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To post to this group, send email to fricas-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to