>
> As Martin recently pointed out, this integration is not continuous:
>
> INT((2560*x^3 - 400*x^2 - 576*x - 84)/(320*x^4 + 80*x^3 - 12*x^2
> + 24*x + 9), x) = 2*LN(320*x^4 + 80*x^3 - 12*x^2 + 24*x + 9)
> + 2*SQRT(11)*ATAN(SQRT(11)*(10*x + 3)/(80*x^2 + 10*x - 9))
>
>
> After some debugging, I find out the bug is in irexpand.spad:
> in function "ilog", uses 'k := "max"/l' to choose the main variable,
> in this example, it should be 'x'. But there are also 'sqrt(11)' in 'l',
> causes 'k' to be 'sqrt(11)' instead of 'x'.
Good that you found that.
> I think this patch fixes this issue, using 'find' and 'symbolIfCan'
> to make sure 'k' is the main variable symbol.
I am afraid good choice is more complicated:
- given x and sqrt(x) as kernels I do not think algoritm will
work when we take x as k
- given x and sqrt(x) as kernels there is small chance that
using sqrt(x) as kernel will work, but it make a difference
if it will never work (then there is no sense trying) or
if it works sometimes
- main kernel may be transcendental, say exp(x). IIUC Rioboo
algorithm still may produce useful result.
- integral is with respect to some variable. We care about
continuity with respect to integration variable much more
than about continuity with respect to other variables.
So we should prefer kernels depending on integration variable.
The above suggest that we should take some kernel depending
on integration variable which is not contained in algebraic
kernel.
--
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 post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.