Group Abstract Group Abstract

Message Boards Message Boards

Radical Denest: an ancient difficult task in symbolic computation

POSTED BY: Swastik Banerjee
4 Replies

Thanks for this function. I use it to convert expressions with roots into a canonical form in order to detect equal expressions. It works more reliable than the kernel functions FullSimplify, ToRadical, etc.

It would be nice, if the function didn't give a warning, when an expression without radicals is given.

In[366]:= ResourceFunction["RadicalDenest"][1]

During evaluation of In[366]:= LCM::argm: LCM called with 0 arguments; 1 or more arguments are expected.

Out[366]= 1
POSTED BY: Johannes Martin
Posted 3 years ago
POSTED BY: Albert Lew

enter image description here -- you have earned Featured Contributor Badge enter image description here Your exceptional post has been selected for our editorial column Staff Picks http://wolfr.am/StaffPicks and Your Profile is now distinguished by a Featured Contributor Badge and is displayed on the Featured Contributor Board. Thank you!

POSTED BY: EDITORIAL BOARD
Posted 4 years ago

Very good! Is there another similar function that does similar things when variables (rather than just numbers) are involved?

For example, there is the function

denestSqrt[e_, domain_, x_] := Replace[y /. Solve[Simplify[Reduce[Reduce[y == e && domain, x], y,
   Reals],  domain], y], {{r_} :> r, _ -> e}]

written by @CarlWoll (denestSqrt).

Here is an example:

denestSqrt[Sqrt[(1 - 2 x) (1 - x - 2 x^2) (2 - x + 2 Sqrt[1 - x - 2 x^2])], 1/3 < x <= 1/8 (2 + Sqrt[2]), x]
(* 1 - x - 2 x^2 + Sqrt[-(1 + x) (-1 + 2 x)^3] *)
POSTED BY: Jim Baldwin
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard