Waldek,

you are amazing!!! A big thanks for the radicalSolve patch.

Ralf

On 5/16/24 15:12, Waldek Hebisch wrote:
On Tue, May 14, 2024 at 03:04:15PM +0200, Ralf Hemmecke wrote:

In fact, the value xx is one of radicalRoots(pp) where

pp := 
x^4-2729960418308000*x^3-395258439243352250000*x^2-55499520947716391500000000*x-345363656226658026765625000000

Interestingly, when I put xx into Mathematica, I get a much nicer
expressions.

In[15]:= p1 = Root[pp, 1] // ToRadicals

Out[15]= 250 (2729960418308 + 1930373524352 Sqrt[2] -
    23569 Sqrt[2 (13416226688183641 + 9486704869150589 Sqrt[2])])

In[25]:= p3 = Root[pp, 3] // ToRadicals

Out[25]= 250 (2729960418308 - 1930373524352 Sqrt[2] -
    23569 I Sqrt[2 (-13416226688183641 + 9486704869150589 Sqrt[2])])

Can I somehow "convince" FriCAS to return similarly "simple" radical
expresssions?

With the attached patch I get:

(2) -> radical_solve(univariate(pp))

    (2)
    [
         +--------------------------------------------------------------------+
         |                                +-+
        \|658730414260118770166403625000 \|2  + 931585485794307216540975125000
      +
                         +-+
        482593381088000 \|2  + 682490104577000
      ,

           
+--------------------------------------------------------------------+
           |                                +-+
        - \|658730414260118770166403625000 \|2  + 931585485794307216540975125000
      +
                         +-+
        482593381088000 \|2  + 682490104577000
      ,

           +---+
          \|- 1
       *
         +--------------------------------------------------------------------+
         |                                +-+
        \|658730414260118770166403625000 \|2  - 931585485794307216540975125000
      +
                           +-+
        - 482593381088000 \|2  + 682490104577000
      ,

        -
              +---+
             \|- 1
          *
             ROOT
                                                  +-+
                  658730414260118770166403625000 \|2
                +
                  - 931585485794307216540975125000
      +
                           +-+
        - 482593381088000 \|2  + 682490104577000
      ]
                                    Type: Union(List(Expression(Integer)),...)


The result looks more complicated, but this is because FriCAS does
not pull squares outside square roots.

I would be easy to hook this into 'radicalSolve' so that such result
is obtainde by default.


--
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/54b9c853-40f1-4c0a-a2e1-4ed73b53b0fb%40hemmecke.org.

Reply via email to