I fully agree.

https://github.com/sagemath/sage/issues/34420
https://github.com/sagemath/sage/issues/32133
https://github.com/sagemath/sage/issues/32143

On Thursday, 27 April 2023 at 11:12:31 UTC+2 Oscar Benjamin wrote:

> On Thu, 27 Apr 2023 at 06:25, 'Martin R' via sage-devel
> <sage-...@googlegroups.com> wrote:
> >
> > On Wednesday, 26 April 2023 at 21:06:30 UTC+2 Oscar Benjamin wrote:
> >>
> >> One thing Sage could do with SymPy's RootSum is to call doit which
> >> will expand using radical formulae if possible:
> >>
> >> x**2/(3*a**2 + 3*a*b*x**3) + RootSum(729*_t**3*a**4*b**2 + 1,
> >> Lambda(_t, _t*log(81*_t**2*a**3*b + x)))
> >>
> >> In [37]: x, a, b, _t = symbols('x, a, b, _t')
> >>
> >> In [38]: expr = x**2/(3*a**2 + 3*a*b*x**3) +
> >> RootSum(Poly(729*_t**3*a**4*b**2 + 1, _t), Lambda(_t,
> >> _t*log(81*_t**2*a**3*b + x)))
> >>
> >> In [39]: print(expr)
> >> x**2/(3*a**2 + 3*a*b*x**3) + RootSum(729*_t**3*a**4*b**2 + 1,
> >> Lambda(_t, _t*log(81*_t**2*a**3*b + x)))
> >>
> >> In [40]: print(expr.doit())
> >> x**2/(3*a**2 + 3*a*b*x**3) +
> >> (-1/(a**4*b**2))**(1/3)*log(a**3*b*(-1/(a**4*b**2))**(2/3) + x)/9 +
> >> (-(-1/(a**4*b**2))**(1/3)/18 -
> >> 
> sqrt(3)*I*(-1/(a**4*b**2))**(1/3)/18)*log(81*a**3*b*(-(-1/(a**4*b**2))**(1/3)/18
> >> - sqrt(3)*I*(-1/(a**4*b**2))**(1/3)/18)**2 + x) +
> >> (-(-1/(a**4*b**2))**(1/3)/18 +
> >> 
> sqrt(3)*I*(-1/(a**4*b**2))**(1/3)/18)*log(81*a**3*b*(-(-1/(a**4*b**2))**(1/3)/18
> >> + sqrt(3)*I*(-1/(a**4*b**2))**(1/3)/18)**2 + x)
> >
> > If I recall correctly, this is what I did for the FriCAS interface. It 
> would be nice to factor out any common functionality, if possible.
>
> Obviously though the RootSum is better than the radicals which is why
> it is used in the first place so the ideal solution would be to
> preserve the RootSum. The simple case above already shows that it is
> better but in others the radical formulae can explode and in more
> complicated cases formulae won't even exist.
>
> --
> Oscar
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/ac65c5c1-7626-48b6-901e-8a896eddef8an%40googlegroups.com.

Reply via email to