Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Maxima needs a change of variable to succeed in an integral

Hi

maxima is not able to integrate this below:

#solExt_0(y)=(((R^2-y^2)*asin(x/(sqrt(R-y)*sqrt(y+R)))+x*sqrt((-y^2)-x^2+R^2))/2 ).subs(x==-sqrt(2*R*y - 2*y^2))
#solExt_1(y)=(((R^2-y^2)*asin(x/(sqrt(R-y)*sqrt(y+R)))+x*sqrt((-y^2)-x^2+R^2))/2 ).subs(x==sqrt(2*R*y - 2*y^2))
#solExt=solExt_1-solExt_0
#show('must give : ',solExt )
var('x,y,R,T',domain='real')
Rnum=1
numL=[R==Rnum]
assume(T>0)
assume(T<=R)
#assume((y-R)*(y+R)<=0)
Iz=sqrt(R^2-y^2 - x^2)

xLow=-sqrt(2*R*y - 2*y^2)
xUp=sqrt(2*R*y - 2*y^2)
show(LatexExpr(r"\int_{"+"}^{"+"} "+latex(Iz))+"dx")
IxT=integrate(Iz(x),x,xLow,xUp)

but succeed with a variable change :

var('x,y,R,T',domain='real')
Rnum=1
numL=[R==Rnum]
assume(T>0)

assume(T<=R)
Iz(x)=sqrt(T - x^2)
xLow=-sqrt(2*R*y - 2*y^2)
xUp=sqrt(2*R*y - 2*y^2)
IxT=integrate(Iz(x),x)

#solExt_0(y)=(((R^2-y^2)*asin(x/(sqrt(R-y)*sqrt(y+R)))+x*sqrt((-y^2)-x^2+R^2))/2 ).subs(x==-sqrt(2*R*y - 2*y^2))
#solExt_1(y)=(((R^2-y^2)*asin(x/(sqrt(R-y)*sqrt(y+R)))+x*sqrt((-y^2)-x^2+R^2))/2 ).subs(x==sqrt(2*R*y - 2*y^2))
#solExt=solExt_1-solExt_0
#show(solExt(0.7).subs(numL).n())
#show('must give : ',solExt )
Ix=(IxT.subs(T==R^2-y^2))
show(LatexExpr(r"\int_{"+latex(xLow)+"}^{"+latex(xUp)+"} "+latex(Iz.subs(T==R^2-y^2))+" = "+latex(Ix)))

but may be I need to add some assumes command for the 1st code?

Maxima needs a change of variable to succeed in an integral

Hi

maxima is not able to integrate this below:

#solExt_0(y)=(((R^2-y^2)*asin(x/(sqrt(R-y)*sqrt(y+R)))+x*sqrt((-y^2)-x^2+R^2))/2 ).subs(x==-sqrt(2*R*y - 2*y^2))
#solExt_1(y)=(((R^2-y^2)*asin(x/(sqrt(R-y)*sqrt(y+R)))+x*sqrt((-y^2)-x^2+R^2))/2 ).subs(x==sqrt(2*R*y - 2*y^2))
#solExt=solExt_1-solExt_0
#show('must give : ',solExt )
var('x,y,R,T',domain='real')
Rnum=1
numL=[R==Rnum]
assume(T>0)
assume(T<=R)
#assume((y-R)*(y+R)<=0)
Iz=sqrt(R^2-y^2 - x^2)

xLow=-sqrt(2*R*y - 2*y^2)
xUp=sqrt(2*R*y - 2*y^2)
show(LatexExpr(r"\int_{"+"}^{"+"} "+latex(Iz))+"dx")
IxT=integrate(Iz(x),x,xLow,xUp)

but succeed with a variable change :

var('x,y,R,T',domain='real')
Rnum=1
numL=[R==Rnum]
assume(T>0)

assume(T<=R)
Iz(x)=sqrt(T - x^2)
xLow=-sqrt(2*R*y - 2*y^2)
xUp=sqrt(2*R*y - 2*y^2)
IxT=integrate(Iz(x),x)

#solExt_0(y)=(((R^2-y^2)*asin(x/(sqrt(R-y)*sqrt(y+R)))+x*sqrt((-y^2)-x^2+R^2))/2 ).subs(x==-sqrt(2*R*y - 2*y^2))
#solExt_1(y)=(((R^2-y^2)*asin(x/(sqrt(R-y)*sqrt(y+R)))+x*sqrt((-y^2)-x^2+R^2))/2 ).subs(x==sqrt(2*R*y - 2*y^2))
#solExt=solExt_1-solExt_0
#show(solExt(0.7).subs(numL).n())
#show('must give : ',solExt )
 Ix=(IxT.subs(T==R^2-y^2))
show(LatexExpr(r"\int_{"+latex(xLow)+"}^{"+latex(xUp)+"} "+latex(Iz.subs(T==R^2-y^2))+" = "+latex(Ix)))

but may be I need to add some assumes command for the 1st code?