Previous Up Next

2.18.4  Integration by parts : ibpdv et ibpu

ibpdv

ibpdv is used to search the primitive of an expression written as u(x).v′(x).
ibpdv takes two arguments :

ibpdv returns :

Hence, ibpdv returns the terms computed in an integration by parts, with the possibility of doing several ibpdv succesively.
When the answer of ibpdv(u(x)*v’(x),v(x)) is computed, to obtain a primitive of u(x).v′(x), it remains to compute the integral of the second term of this answer and then, to sum this integral with the first term of this answer : to do this, just use ibpdv command with the answer as first argument and a new v(x) (or 0 to terminate the integration) as second argument.
Input :

ibpdv(ln(x),x)

Output :

[x.ln(x),-1]

then

ibpdv([x.ln(x),-1],0)

Output :

-x+x.ln(x)

Remark
When the first argument of ibpdv is a list of two elements, ibpdv works only on the last element of this list and adds the integrated term to the first element of this list. (therefore it is possible to do several ibpdv successively).
For example :
ibpdv((log(x))^2,x) = [x*(log(x))^2,-(2*log(x))]
it remains to integrate -(2*log(x)), the input :
ibpdv(ans(),x) or input :
ibpdv([x*(log(x))^2,-(2*log(x))],x)
Output :
[x*(log(x))^2+x*(-(2*log(x))),2]
and it remains to integrate 2, hence input ibpdv(ans(),0) or
ibpdv([x*(log(x))^2+x*(-(2*log(x))),2],0).
Output : x*(log(x))^2+x*(-(2*log(x)))+2*x

ibpu

ibpu is used to search the primitive of an expression written as u(x).v′(x) ibpu takes two arguments :

ibpu returns :

Hence, ibpu returns the terms computed in an integration by parts, with the possibility of doing several ibpu succesively.
When the answer of ibpu(u(x)*v’(x),u(x)) is computed, to obtain a primitive of u(x).v′(x), it remains to compute the integral of the second term of this answer and then, to sum this integral with the first term of this answer : to do this, just use ibpu command with the answer as first argument and a new u(x) (or 0 to terminate the integration) as second argument.
Input :

ibpu(ln(x),ln(x))

Output :

[x.ln(x),-1]

then

ibpu([x.ln(x),-1],0)

Output :

-x+x.ln(x)

Remark
When the first argument of ibpu is a list of two elements, ibpu works only on the last element of this list and adds the integrated term to the first element of this list. (therefore it is possible to do several ibpu successively).
For example :
ibpu((log(x))^2,log(x)) = [x*(log(x))^2,-(2*log(x))]
it remains to integrate -(2*log(x)), hence input :
ibpu(ans(),log(x)) or input :
ibpu([x*(log(x))^2,-(2*log(x))],log(x))
Output :
[x*(log(x))^2+x*(-(2*log(x))),2]
it remains to integrate 2, hence input :
ibpu(ans(),0) or input :
ibpu([x*(log(x))^2+x*(-(2*log(x))),2],0).
Output : x*(log(x))^2+x*(-(2*log(x)))+2*x


Previous Up Next