restart;
with(Mgfun) ;
PBM II, 2.13.28.5, p. 285
f := Ei(-b/x)*BesselY(1,c*x) ;
diff(Ei(x), x) ;
int(f, x=0..infinity) ;
res := creative_telescoping(f, [b::diff], [x::diff]) ;
dsolve(res[1][1], _F(b)) ;
dfinite_expr_to_sys(f, _f(b::diff, x::diff)) ;
dfinite_expr_to_sys(Ei(-b/x), _f(b::diff, x::diff)) ;
dfinite_expr_to_sys(BesselY(1,c*x), _f(b::diff, x::diff)) ;
`sys*sys`(%%, %) ;
PBM II, 2.17.12.19, p. 443.
f := BesselJ(0,b*sqrt(x+a))^2*LegendreP(n,x/a) ;
int(f, x=-a..a) ;
ti := time() :
res := creative_telescoping(f, [b::diff], [x::diff]) ;
time() - ti ;
dsolve(res[1][1], _F(b)) ;
F := (-1)^n*2*a/(2*n+1) * (BesselJ(n, b*sqrt(2*a))^2 + BesselJ(n+1, b*sqrt(2*a))^2) ;
gfun:-holexprtodiffeq(F, _F(b)) ;
simplify(eval(res[1][1], _F(b) = F)) ;
\303\211num\303\251ration par la longueur des marches restant dans le quadrant LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1cEdGJDYlLUkjbWlHRiQ2JVEiTkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYlLUkjbW5HRiQ2JFEiMkYnL0Y2USdub3JtYWxGJ0YyRjUvJTFzdXBlcnNjcmlwdHNoaWZ0R1EiMEYnRj4= avec les pas LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkobWZlbmNlZEdGJDYmLUYjNi0tSSNtaUdGJDYlUSNOT0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIixGJy9GOFEnbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRjYvJSlzdHJldGNoeUdGQi8lKnN5bW1ldHJpY0dGQi8lKGxhcmdlb3BHRkIvJS5tb3ZhYmxlbGltaXRzR0ZCLyUnYWNjZW50R0ZCLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMzMzMzMzM2VtRictRjs2LVEifkYnRj5GQC9GREZCRkVGR0ZJRktGTUZPL0ZTRlEtRjE2JVEiT0YnL0Y1RkJGPkY6RlUtRjE2JVEiRUYnRjRGN0Y6RlUtRjE2JVEjU0VGJ0Y0RjdGPkY+LyUlb3BlbkdRInxmckYnLyUmY2xvc2VHUSJ8aHJGJy1GOzYtUSIuRidGPkZARlhGRUZHRklGS0ZNRk9GWUY+
f := (1+x)*(x-y)*(x^2-y)*(x+y)/(x^2*y*(t*x^2+t*y-x*y+t*x^2*y+t*y^2)) ;
res := creative_telescoping(f, [t::diff], [x::diff,y::diff]) :
res[1][1] ;
res ;