This looks suboptimal and unclear - there are e.g. several occurrences of

rootOf((625*%%E0^4*a
  ^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)


Do these occurrences correspond to just one fixed root?
(and so one can write it as the sum over all the roots, divided by the
number of roots)





On Fri, 23 Jun 2023, 17:14 'Nasser M. Abbasi' via sage-devel, <
sage-devel@googlegroups.com> wrote:

> This is output from Fricas itself directly
>
> (2) -> setSimplifyDenomsFlag(true)
>
>    (2)  false
>                                                                 Type:
> Boolean
> (3) -> ii:=integrate(x/(a^5+x^5),x);
>
>                                          Type:
> Union(Expression(Integer),...)
> (4) -> unparse(ii::InputForm)
>
>    (4)
>
> "(((-5)*a^3*(((-75)*a^6*rootOf((125*a^9*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3
>
> *a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)^3+(125*%%E1*a^9+(-25)*a^
>
> 6)*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(
>
> 625*a^12),%%E0)^2+(125*%%E1^2*a^9+(-25)*%%E1*a^6+5*a^3)*rootOf((625*%%E0^4*a^
>
> 12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)+(125*%%E
>
> 1^3*a^9+(-25)*%%E1^2*a^6+5*%%E1*a^3+(-1)))/(125*a^9),%%E1)^2+((-50)*a^6*rootO
>
> f((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12
>
> ),%%E0)+10*a^3)*rootOf((125*a^9*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*
>
> %%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)^3+(125*%%E1*a^9+(-25)*a^6)*rootO
>
> f((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12
>
> ),%%E0)^2+(125*%%E1^2*a^9+(-25)*%%E1*a^6+5*a^3)*rootOf((625*%%E0^4*a^12+(-125
>
> )*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)+(125*%%E1^3*a^9+
>
> (-25)*%%E1^2*a^6+5*%%E1*a^3+(-1)))/(125*a^9),%%E1)+((-75)*a^6*rootOf((625*%%E
>
> 0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)^2+
>
> 10*a^3*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+
>
> 1)/(625*a^12),%%E0)+(-3)))/(25*a^6))^(1/2)+((-5)*a^3*rootOf((125*a^9*rootOf((
>
> 625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%
>
> %E0)^3+(125*%%E1*a^9+(-25)*a^6)*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*
>
> %%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)^2+(125*%%E1^2*a^9+(-25)*%%E1*a^6
>
> +5*a^3)*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3
>
> +1)/(625*a^12),%%E0)+(125*%%E1^3*a^9+(-25)*%%E1^2*a^6+5*%%E1*a^3+(-1)))/(125*
>
> a^9),%%E1)+((-5)*a^3*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+
>
> (-5)*%%E0*a^3+1)/(625*a^12),%%E0)+1)))*log(((125*a^10*rootOf((625*%%E0^4*a^12
>
> +(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)+(-25)*a^7)
>
> *rootOf((125*a^9*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)
>
> *%%E0*a^3+1)/(625*a^12),%%E0)^3+(125*%%E1*a^9+(-25)*a^6)*rootOf((625*%%E0^4*a
>
> ^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)^2+(125*
>
> %%E1^2*a^9+(-25)*%%E1*a^6+5*a^3)*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25
>
> *%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)+(125*%%E1^3*a^9+(-25)*%%E1^2*a^
>
> 6+5*%%E1*a^3+(-1)))/(125*a^9),%%E1)+(-25)*a^7*rootOf((625*%%E0^4*a^12+(-125)*
>
> %%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0))*(((-75)*a^6*rootO
>
> f((125*a^9*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*
>
> a^3+1)/(625*a^12),%%E0)^3+(125*%%E1*a^9+(-25)*a^6)*rootOf((625*%%E0^4*a^12+(-
>
> 125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)^2+(125*%%E1^2
>
> *a^9+(-25)*%%E1*a^6+5*a^3)*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^
>
> 2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)+(125*%%E1^3*a^9+(-25)*%%E1^2*a^6+5*%%
>
> E1*a^3+(-1)))/(125*a^9),%%E1)^2+((-50)*a^6*rootOf((625*%%E0^4*a^12+(-125)*%%E
>
> 0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)+10*a^3)*rootOf((125*a
>
> ^9*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(
>
> 625*a^12),%%E0)^3+(125*%%E1*a^9+(-25)*a^6)*rootOf((625*%%E0^4*a^12+(-125)*%%E
>
> 0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)^2+(125*%%E1^2*a^9+(-2
>
> 5)*%%E1*a^6+5*a^3)*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-
>
> 5)*%%E0*a^3+1)/(625*a^12),%%E0)+(125*%%E1^3*a^9+(-25)*%%E1^2*a^6+5*%%E1*a^3+(
>
> -1)))/(125*a^9),%%E1)+((-75)*a^6*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25
>
> *%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)^2+10*a^3*rootOf((625*%%E0^4*a^1
>
> 2+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)+(-3)))/(2
>
> 5*a^6))^(1/2)+(((-125)*a^10*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0
>
> ^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)+25*a^7)*rootOf((125*a^9*rootOf((625*
>
> %%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)
>
> ^3+(125*%%E1*a^9+(-25)*a^6)*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0
>
> ^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)^2+(125*%%E1^2*a^9+(-25)*%%E1*a^6+5*a
>
> ^3)*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/
>
> (625*a^12),%%E0)+(125*%%E1^3*a^9+(-25)*%%E1^2*a^6+5*%%E1*a^3+(-1)))/(125*a^9)
>
> ,%%E1)^2+((-125)*a^10*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6
>
> +(-5)*%%E0*a^3+1)/(625*a^12),%%E0)^2+25*a^7*rootOf((625*%%E0^4*a^12+(-125)*%%
>
> E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)+(-5)*a^4)*rootOf((12
>
> 5*a^9*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1
>
> )/(625*a^12),%%E0)^3+(125*%%E1*a^9+(-25)*a^6)*rootOf((625*%%E0^4*a^12+(-125)*
>
> %%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)^2+(125*%%E1^2*a^9+
>
> (-25)*%%E1*a^6+5*a^3)*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6
>
> +(-5)*%%E0*a^3+1)/(625*a^12),%%E0)+(125*%%E1^3*a^9+(-25)*%%E1^2*a^6+5*%%E1*a^
>
> 3+(-1)))/(125*a^9),%%E1)+(25*a^7*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25
>
> *%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)^2+(-5)*a^4*rootOf((625*%%E0^4*a
>
> ^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)+2*x)))+
>
> ((5*a^3*(((-75)*a^6*rootOf((125*a^9*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9
>
> +25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)^3+(125*%%E1*a^9+(-25)*a^6)*r
>
> ootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*
>
> a^12),%%E0)^2+(125*%%E1^2*a^9+(-25)*%%E1*a^6+5*a^3)*rootOf((625*%%E0^4*a^12+(
>
> -125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)+(125*%%E1^3*
>
> a^9+(-25)*%%E1^2*a^6+5*%%E1*a^3+(-1)))/(125*a^9),%%E1)^2+((-50)*a^6*rootOf((6
>
> 25*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%
>
> E0)+10*a^3)*rootOf((125*a^9*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0
>
> ^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)^3+(125*%%E1*a^9+(-25)*a^6)*rootOf((6
>
> 25*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%
>
> E0)^2+(125*%%E1^2*a^9+(-25)*%%E1*a^6+5*a^3)*rootOf((625*%%E0^4*a^12+(-125)*%%
>
> E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)+(125*%%E1^3*a^9+(-25
>
> )*%%E1^2*a^6+5*%%E1*a^3+(-1)))/(125*a^9),%%E1)+((-75)*a^6*rootOf((625*%%E0^4*
>
> a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)^2+10*a
>
> ^3*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(
>
> 625*a^12),%%E0)+(-3)))/(25*a^6))^(1/2)+((-5)*a^3*rootOf((125*a^9*rootOf((625*
>
> %%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)
>
> ^3+(125*%%E1*a^9+(-25)*a^6)*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0
>
> ^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)^2+(125*%%E1^2*a^9+(-25)*%%E1*a^6+5*a
>
> ^3)*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/
>
> (625*a^12),%%E0)+(125*%%E1^3*a^9+(-25)*%%E1^2*a^6+5*%%E1*a^3+(-1)))/(125*a^9)
>
> ,%%E1)+((-5)*a^3*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)
>
> *%%E0*a^3+1)/(625*a^12),%%E0)+1)))*log((((-125)*a^10*rootOf((625*%%E0^4*a^12+
>
> (-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)+25*a^7)*roo
>
> tOf((125*a^9*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E
>
> 0*a^3+1)/(625*a^12),%%E0)^3+(125*%%E1*a^9+(-25)*a^6)*rootOf((625*%%E0^4*a^12+
>
> (-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)^2+(125*%%E1
>
> ^2*a^9+(-25)*%%E1*a^6+5*a^3)*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E
>
> 0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)+(125*%%E1^3*a^9+(-25)*%%E1^2*a^6+5*
>
> %%E1*a^3+(-1)))/(125*a^9),%%E1)+25*a^7*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*
>
> a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0))*(((-75)*a^6*rootOf((125*
>
> a^9*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/
>
> (625*a^12),%%E0)^3+(125*%%E1*a^9+(-25)*a^6)*rootOf((625*%%E0^4*a^12+(-125)*%%
>
> E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)^2+(125*%%E1^2*a^9+(-
>
> 25)*%%E1*a^6+5*a^3)*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(
>
> -5)*%%E0*a^3+1)/(625*a^12),%%E0)+(125*%%E1^3*a^9+(-25)*%%E1^2*a^6+5*%%E1*a^3+
>
> (-1)))/(125*a^9),%%E1)^2+((-50)*a^6*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9
>
> +25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)+10*a^3)*rootOf((125*a^9*root
>
> Of((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^1
>
> 2),%%E0)^3+(125*%%E1*a^9+(-25)*a^6)*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9
>
> +25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)^2+(125*%%E1^2*a^9+(-25)*%%E1
>
> *a^6+5*a^3)*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0
>
> *a^3+1)/(625*a^12),%%E0)+(125*%%E1^3*a^9+(-25)*%%E1^2*a^6+5*%%E1*a^3+(-1)))/(
>
> 125*a^9),%%E1)+((-75)*a^6*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2
>
> *a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)^2+10*a^3*rootOf((625*%%E0^4*a^12+(-125
>
> )*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)+(-3)))/(25*a^6))
>
> ^(1/2)+(((-125)*a^10*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+
>
> (-5)*%%E0*a^3+1)/(625*a^12),%%E0)+25*a^7)*rootOf((125*a^9*rootOf((625*%%E0^4*
>
> a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)^3+(125
>
> *%%E1*a^9+(-25)*a^6)*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+
>
> (-5)*%%E0*a^3+1)/(625*a^12),%%E0)^2+(125*%%E1^2*a^9+(-25)*%%E1*a^6+5*a^3)*roo
>
> tOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^
>
> 12),%%E0)+(125*%%E1^3*a^9+(-25)*%%E1^2*a^6+5*%%E1*a^3+(-1)))/(125*a^9),%%E1)^
>
> 2+((-125)*a^10*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%
>
> %E0*a^3+1)/(625*a^12),%%E0)^2+25*a^7*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^
>
> 9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)+(-5)*a^4)*rootOf((125*a^9*r
>
> ootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*
>
> a^12),%%E0)^3+(125*%%E1*a^9+(-25)*a^6)*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*
>
> a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)^2+(125*%%E1^2*a^9+(-25)*%
>
> %E1*a^6+5*a^3)*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%
>
> %E0*a^3+1)/(625*a^12),%%E0)+(125*%%E1^3*a^9+(-25)*%%E1^2*a^6+5*%%E1*a^3+(-1))
>
> )/(125*a^9),%%E1)+(25*a^7*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2
>
> *a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)^2+(-5)*a^4*rootOf((625*%%E0^4*a^12+(-1
>
> 25)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)+2*x)))+(10*a^3
>
> *rootOf((125*a^9*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)
>
> *%%E0*a^3+1)/(625*a^12),%%E0)^3+(125*%%E1*a^9+(-25)*a^6)*rootOf((625*%%E0^4*a
>
> ^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)^2+(125*
>
> %%E1^2*a^9+(-25)*%%E1*a^6+5*a^3)*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25
>
> *%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)+(125*%%E1^3*a^9+(-25)*%%E1^2*a^
>
> 6+5*%%E1*a^3+(-1)))/(125*a^9),%%E1)*log((125*a^10*rootOf((625*%%E0^4*a^12+(-1
>
> 25)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)+(-25)*a^7)*roo
>
> tOf((125*a^9*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E
>
> 0*a^3+1)/(625*a^12),%%E0)^3+(125*%%E1*a^9+(-25)*a^6)*rootOf((625*%%E0^4*a^12+
>
> (-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)^2+(125*%%E1
>
> ^2*a^9+(-25)*%%E1*a^6+5*a^3)*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E
>
> 0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)+(125*%%E1^3*a^9+(-25)*%%E1^2*a^6+5*
>
> %%E1*a^3+(-1)))/(125*a^9),%%E1)^2+(125*a^10*rootOf((625*%%E0^4*a^12+(-125)*%%
>
> E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)^2+(-25)*a^7*rootOf((
>
> 625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%
>
> %E0)+5*a^4)*rootOf((125*a^9*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0
>
> ^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)^3+(125*%%E1*a^9+(-25)*a^6)*rootOf((6
>
> 25*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%
>
> E0)^2+(125*%%E1^2*a^9+(-25)*%%E1*a^6+5*a^3)*rootOf((625*%%E0^4*a^12+(-125)*%%
>
> E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)+(125*%%E1^3*a^9+(-25
>
> )*%%E1^2*a^6+5*%%E1*a^3+(-1)))/(125*a^9),%%E1)+(125*a^10*rootOf((625*%%E0^4*a
>
> ^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)^3+(-25)
>
> *a^7*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)
>
> /(625*a^12),%%E0)^2+5*a^4*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2
>
> *a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)+(x+(-1)*a)))+(10*a^3*rootOf((625*%%E0^
>
> 4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0*a^3+1)/(625*a^12),%%E0)*log(
>
> (-125)*a^10*rootOf((625*%%E0^4*a^12+(-125)*%%E0^3*a^9+25*%%E0^2*a^6+(-5)*%%E0
>   *a^3+1)/(625*a^12),%%E0)^3+x)+(-2)*log(x+a)))))/(10*a^3)"
>                                                                  Type:
> String
> (5) ->
>
> I understand it is not an easy task to simplify it. But the question is
> why it ran out of RAM
> and if this is to be expected. Now I changed all my code to put a
> try/except around
> each time full_simplify is called.
>
> --Nasser
>
>
> On Friday, June 23, 2023 at 10:41:27 AM UTC-5 Dima Pasechnik wrote:
>
>> What is the output provided by fricas (outside Sage) ?
>> (perhaps it's a short expression as a root sum?)
>>
>>
>> Simplifying an expression given as  a string of length 47K is not an easy
>> task.
>>
>>
>>
>> On Fri, 23 Jun 2023, 08:21 'Nasser M. Abbasi' via sage-devel, <
>> sage-...@googlegroups.com> wrote:
>>
>>> Here is the code to reproduce it. Using Fricas 1.3.8 on Linux via
>>> sagemath
>>>
>>> var('x a')
>>> expr=integrate(x/(a^5+x^5),x, algorithm="fricas");
>>> len(str(expr))
>>>      47199
>>> expr.full_simplify()
>>>
>>> TypeError: ECL says: Memory limit reached. Please jump to an outer
>>> pointer, quit program and enlarge the
>>> memory limits before executing the program again.
>>>
>>> --Nasser
>>>
>>>
>>> On Friday, June 23, 2023 at 2:15:18 AM UTC-5 Nasser M. Abbasi wrote:
>>>
>>>> I obtained a large expression from CAS system (Fricas) calling it from
>>>> sagemath.
>>>>
>>>> When I did expr.full_simplify() sagemath 10.0 on Linux gave this error
>>>>
>>>> TypeError: ECL says: Memory limit reached. Please jump to an outer
>>>> pointer, quit program and enlarge the
>>>> memory limits before executing the program again.
>>>>
>>>> Is this to be expected for very large expression?
>>>>
>>>> Here is full error
>>>>
>>>> age: expr.full_simplify()
>>>>
>>>> ---------------------------------------------------------------------------
>>>> RuntimeError                              Traceback (most recent call
>>>> last)
>>>> File ~/TMP/sage-10.0/src/sage/interfaces/interface.py:748, in
>>>> InterfaceElement.__init__(self, parent, value, is_name, name)
>>>>     747 try:
>>>> --> 748     self._name = parent._create(value, name=name)
>>>>     749 except (TypeError, RuntimeError, ValueError) as x:
>>>>
>>>> File ~/TMP/sage-10.0/src/sage/interfaces/maxima_lib.py:618, in
>>>> MaximaLib._create(self, value, name)
>>>>     617     else:
>>>> --> 618         self.set(name, value)
>>>>     619 except RuntimeError as error:
>>>>
>>>> File ~/TMP/sage-10.0/src/sage/interfaces/maxima_lib.py:526, in
>>>> MaximaLib.set(self, var, value)
>>>>     525 cmd = '%s : %s$'%(var, value.rstrip(';'))
>>>> --> 526 self.eval(cmd)
>>>>
>>>> File ~/TMP/sage-10.0/src/sage/interfaces/maxima_lib.py:472, in
>>>> MaximaLib._eval_line(self, line, locals, reformat, **kwds)
>>>>     471         if statement:
>>>> --> 472             maxima_eval("#$%s$" % statement)
>>>>     473 if not reformat:
>>>>
>>>> File ~/TMP/sage-10.0/src/sage/libs/ecl.pyx:830, in
>>>> sage.libs.ecl.EclObject.__call__()
>>>>     829 lispargs = EclObject(list(args))
>>>> --> 830 return
>>>> ecl_wrap(ecl_safe_apply(self.obj,(<EclObject>lispargs).obj))
>>>>     831
>>>>
>>>> File ~/TMP/sage-10.0/src/sage/libs/ecl.pyx:353, in
>>>> sage.libs.ecl.ecl_safe_apply()
>>>>     352     else:
>>>> --> 353         raise RuntimeError("ECL says: {}".format(message))
>>>>     354 else:
>>>>
>>>> RuntimeError: ECL says: Memory limit reached. Please jump to an outer
>>>> pointer, quit program and enlarge the
>>>> memory limits before executing the program again.
>>>>
>>>> During handling of the above exception, another exception occurred:
>>>>
>>>> TypeError                                 Traceback (most recent call
>>>> last)
>>>> Cell In [7], line 1
>>>> ----> 1 expr.full_simplify()
>>>>
>>>> File ~/TMP/sage-10.0/src/sage/symbolic/expression.pyx:10749, in
>>>> sage.symbolic.expression.Expression.simplify_full()
>>>>   10747 x = self
>>>>   10748 x = x.simplify_factorial()
>>>> > 10749 x = x.simplify_rectform()
>>>>   10750 x = x.simplify_trig()
>>>>   10751 x = x.simplify_rational()
>>>>
>>>> File ~/TMP/sage-10.0/src/sage/symbolic/expression.pyx:10899, in
>>>> sage.symbolic.expression.Expression.simplify_rectform()
>>>>   10897
>>>>   10898         """
>>>> > 10899         simplified_expr = self.rectform()
>>>>   10900
>>>>   10901         if complexity_measure is None:
>>>>
>>>> File ~/TMP/sage-10.0/src/sage/symbolic/expression.pyx:10549, in
>>>> sage.symbolic.expression.Expression.rectform()
>>>>   10547         0.0
>>>>   10548     """
>>>> > 10549     return self.maxima_methods().rectform()
>>>>   10550
>>>>   10551 def unhold(self, exclude=None):
>>>>
>>>> File ~/TMP/sage-10.0/src/sage/symbolic/maxima_wrapper.py:31, in
>>>> MaximaFunctionElementWrapper.__call__(self, *args, **kwds)
>>>>      18 def __call__(self, *args, **kwds):
>>>>      19     """
>>>>      20     Return a Sage expression instead of a Maxima pexpect
>>>> interface element.
>>>>      21
>>>>    (...)
>>>>      29         Symbolic Ring
>>>>      30     """
>>>> ---> 31     return super().__call__(*args, **kwds).sage()
>>>>
>>>> File ~/TMP/sage-10.0/src/sage/interfaces/interface.py:696, in
>>>> InterfaceFunctionElement.__call__(self, *args, **kwds)
>>>>     695 def __call__(self, *args, **kwds):
>>>> --> 696     return self._obj.parent().function_call(self._name,
>>>> [self._obj] + list(args), kwds)
>>>>
>>>> File ~/TMP/sage-10.0/src/sage/interfaces/interface.py:616, in
>>>> Interface.function_call(self, function, args, kwds)
>>>>     612 self._check_valid_function_name(function)
>>>>     613 s = self._function_call_string(function,
>>>>     614                                [s.name() for s in args],
>>>>     615                                ['%s=%s'%(key,value.name()) for
>>>> key, value in kwds.items()])
>>>> --> 616 return self.new(s)
>>>>
>>>> File ~/TMP/sage-10.0/src/sage/interfaces/interface.py:385, in
>>>> Interface.new(self, code)
>>>>     384 def new(self, code):
>>>> --> 385     return self(code)
>>>>
>>>> File ~/TMP/sage-10.0/src/sage/interfaces/interface.py:298, in
>>>> Interface.__call__(self, x, name)
>>>>     295         pass
>>>>     297 if isinstance(x, str):
>>>> --> 298     return cls(self, x, name=name)
>>>>     299 try:
>>>>     300     # Special methods do not and should not have an option to
>>>>     301     # set the name directly, as the identifier assigned by the
>>>>     302     # interface should stay consistent. An identifier with a
>>>>     303     # user-assigned name might change its value, so we return a
>>>>     304     # new element.
>>>>     305     result = self._coerce_from_special_method(x)
>>>>
>>>> File ~/TMP/sage-10.0/src/sage/interfaces/interface.py:750, in
>>>> InterfaceElement.__init__(self, parent, value, is_name, name)
>>>>     748     self._name = parent._create(value, name=name)
>>>>     749 except (TypeError, RuntimeError, ValueError) as x:
>>>> --> 750     raise TypeError(x)
>>>>
>>>> TypeError: ECL says: Memory limit reached. Please jump to an outer
>>>> pointer, quit program and enlarge the
>>>> memory limits before executing the program again.
>>>> sage:
>>>>
>>>> Since expression is large, I will put a link to full code used if you
>>>> think it is needed.
>>>>
>>>> I am running this on Linux Virtual box with 43 GB of RAM.
>>>>
>>>> --Nasser
>>>>
>>>>
>>> --
>>> 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+...@googlegroups.com.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/sage-devel/7f96330e-fe0a-4858-8363-911122c1afb1n%40googlegroups.com
>>> <https://groups.google.com/d/msgid/sage-devel/7f96330e-fe0a-4858-8363-911122c1afb1n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
> 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/cea27286-ace3-4a8a-b335-e12f5312c2f3n%40googlegroups.com
> <https://groups.google.com/d/msgid/sage-devel/cea27286-ace3-4a8a-b335-e12f5312c2f3n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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/CAAWYfq3FHPy8Kr9G8ME7o1fuy5vVF49fCRipHfu-8MUs2wrsfg%40mail.gmail.com.

Reply via email to