On Sat, Jan 27, 2024 at 10:39:33AM +0800, Qian Yun wrote:
> So in general you agree with this approach (before more
> complete method is implemented)?
Yes.
> The right place to catch errors and try again is
> "algcurve(d, selectIntegers first la, first la)"
> "ratcurve(d, selIntegers())", or we need to refactor
> and catch errors at a deeper level?
I think that some refactor is needed. Look at
FunctionSpaceReduce. Reductions go as three nested loops,
and we need to catch failure at outer loop. There is
a buch of similarly named functions, so finding good place
needs some effort.
Extra thing: there is first step which substitutes integers,
it can fail but failures are quite rare. We should catch
errors here and try different values. There is second
stage which reduces modulo a prime, most failures happen
there. As I wrote, there is a little subtlety that in
case of no parameters second try with the same prime will
do the same caldulations, so retry needs some way to
detect case of no parameters.
> The following integrals take the "algcurve" branch.
> integrate((1-2^(1/3)*x)/(2^(2/3)+x)/(x^3+1)^(1/2),x)
> integrate(1/(2^(2/3)-x)/(x^3-1)^(1/2),x)
> integrate(1/(2^(2/3)+x)/(-x^3-1)^(1/2),x)
> integrate((2+3*x)/(2^(2/3)-x)/(x^3-1)^(1/2),x)
> integrate((1+x+3^(1/2))/(d*x+c)/(-x^3-1)^(1/2),x)
> integrate((1+x-3^(1/2))/(d*x+c)/(-x^3-1)^(1/2),x)
>
> This one takes the "ratcurve" branch, but still fails
> after repeated tries:
> integrate((x^6+x^2+1)^(1/2)*(2*x^6-1)/(x^6+1)/(2*x^6-x^2+2),x)
No parameters there, so each try is doing the same thing.
--
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/ZbSO8fdrPUxTSGbB%40fricas.org.