Hi all,

I've encountered an error when deriving an integral expression which
contains a derivative and has variable bounds. My setup looks like this:

> In [1]: from sympy import *
> In [2]: init_printing()
> In [3]: x, xi = symbols("x, xi"); k = Function("k")
> In [4]: exp = Integral(k(x, xi).diff(x), (xi, 0, x)); exp
> Out[4]:
> x              
> ⌠              
> ⎮ ∂            
> ⎮ ──(k(x, ξ)) dξ     .
> ⎮ ∂x           
> ⌡              
> 0          

For testing purposes I substituted the expression

> In [5]: k_test = x**2*xi + x*xi**2  ,

leading to

> In [6]: exp.subs(k(x, xi), k_test).doit()
> Out[6]:
>      3
> 4⋅x
> ────    ,
>  3  

which is correct from my point of view.

The problem arises when I differentiate the expression:

> In [9]: exp_dx = exp.diff(x); exp_dx
> Out[9]:
>               x               
>               ⌠               
>               ⎮   2           
> d             ⎮  ∂            
> ──(k(x, x)) + ⎮ ───(k(x, ξ)) dξ     .
> dx            ⎮   2           
>               ⎮ ∂x            
>               ⌡               
>               0   

According to the Leibniz integral rule
<https://en.wikipedia.org/wiki/Leibniz_integral_rule> I would expect the
first term to be the derivative of k(x, x) in favour of its first
argument instead of the total derivative.
Substituting the text expression thus leads to

> In [9]:  exp_dx.subs([(k(x, xi), k_test), (k(x, x), k_test.subs(xi, 
> x))]).doit()
> Out[9]:
>      2
> 7⋅x ,

which differs from my manual computation that would evaluate to 4x².

Any thoughts on what I could have done wrong, or how to circumvent this
problem?

Thanks in advance,
Stefan (c/o Carsten)

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" 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/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/57440370.7010703%40gmx.de.
For more options, visit https://groups.google.com/d/optout.

Reply via email to