On Thu, Nov 23, 2023 at 08:35:02AM +0800, Qian Yun wrote:
> Here are my thoughts:
>
> Couldn't we utilize the same trick used in section 2.8
> "Riboo's Algorithm for Real Rational Functions"?
When it works, yes.
> From my observations, most (if not all) rootSum has the
> following structure:
>
> rootSum(p(a), a*log(q(a)+f(x))), where p,q are polynomials
> and f is a general function.
>
> {
> rootSum(p(a), a*log(q(a)*g(x)+f(x))) can be written as
> rootSum(p(a), a*log(q(a)+f(x)/g(x))+a*log(g(x)))
> }
>
> So if p, q have real (this condition can be relaxed?) coefficients, then
>
> rootSum(p(a), a*log(q(a)+f(x))) =
> rootSum(p(a) | real? a, a*log(q(a)+f(x))) +
> rootSum((u,v), 1/2*u*log((A(u,v) + f(x))^2 + B(u,v)^2)) +
> rootSum((u,v), 1/2*v*atan((A(u,v) + f(x))/B(u,v)))
>
> {where u+%i*v is complex root of p(a). q(u+%i*v)= A(u,v) + %i*B(u,v)}
>
> Not that the summation is over all of v, not limited to positive v.
Trouble here is with A(u,v) and B(u,v). Already when p is of degree
4 with Galois group S(4) we have trouble: beside right solutions
there are spurious ones and it is hard to separate good ones from
spurious one.
Consider
p := 10*(a^4 + 1) + a
and
rootSum(a*log(x - a), p::SUP(EXPR(INT)))
How you want to find right u, v? The approach I described
works around difficulty with u, v by working with coefficients
of p. We still have difficulty with final result, but it is
less problematic: we need to choose positive real root of
a polyniomial. Note that the polynomial is minimal polynomial
for the answer, so we need to choose this root directly or
indirectly. But we can avoid trouble with u and v.
--
Waldek Hebisch
--
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/ZV6pGemgmndLBASC%40fricas.org.