restart: interface(elisiondigitsthreshold=200, elisiondigitsafter=10, elisiondigitsbefore=10): with(gfun): with(NumGfun): Introduction Une fonction d'onde sph\303\251ro\303\257dale a, b, c, q := 1/5, 1/3, 2, 1; deq[swf] := {(1-z^2)*diff(y(z),z,z) - 2*(b+1)*z*diff(y(z),z) + (c-4*q*z^2)*y(z), y(0)=1, D(y)(0)=0}; myswf := diffeqtoproc(deq[swf], y(z)): myswf(1/2*(1+I)); swf := z -> HeunC(0,-1/2,b,q,1/4-1/4*b-1/4*c,z^2); evalf(swf(1/2*(1+I))); myswf(1/2*(1+I),1500); evalf[1500](swf(1/2*(1+I))); transition_matrix(deq[swf],y(z),[0,-I/2,1/2-I,1-I,3/2-I,2-I/2,2],5); Suites r\303\251currentes I : entiers Nombres de Catalan nth_term({C(n+1)=(4*n+2)/(n+2)*C(n),C(0)=1}, C(n), 50000); Nombres de Motzkin m := rectoproc_binsplit({(n+3)*u(n+2)=3*n*u(n)+(2*n+3)*u(n+1), u(0)=0, u(1)=1, u(2)=1}, u(n)): ['m(n)'$n=0..10]; m(50000); Suites r\303\251currentes II : s\303\251ries convergentes 1/Pi par la formule des Chudnovsky A, B, C := 13591409, 545140134, 640320^3; x := fnth_term( {(A+B*n)*(3*n+3)*(3*n+2)*(3*n+1)*(n+1)^3*C * u(n+1) + (6*n+6)*(6*n+5)*(6*n+4)*(6*n+3)*(6*n+2)*(6*n+1)*(A+B*(n+1)) * u(n), u(0) = A }, u(n), 50, 501, ndseries): evalf[500](C^(1/2)/(12*x)); Gamma de petits rationnels g := proc(s, prec) local k, rec, a, u, n: k := ceil(evalf(prec*ln(10) + ln(prec*ln(10)))): rec := {u(n+1) = k/(n+s+1)*u(n), u(0) = 1/s}: a := fnth_term(rec,u(n),6*k,prec+1,ndseries): evalf[prec](k^s*exp(-k)*a): end proc: g(5/3,50); time(g(5/3,2000)); time(evalf[2000](GAMMA(5/3))); \303\211valuation dans le disque de convergence Un exemple familier : arctan deq[arctan] := diffeqtohomdiffeq(holexprtodiffeq(arctan(z),y(z)),y(z)); myarctan := diffeqtoproc(deq[arctan], y(z)): myarctan(1/4); myarctan(1/4,10000); Prolongement analytique \303\211valuation le long d'un chemin path[right] := [0, 1/2*(1+I), 3/4*(1+I), 1+I, 1/2*(1+3*I),1/4*(1+7*I),2*I]; myarctan(path[right]); path[left] := [0, 1/2*(-1+I), 3/4*(-1+I), -1+I, 1/2*(-1+3*I),1/4*(-1+7*I),2*I]; myarctan(path[left]); Matrice de passage transition_matrix(deq[arctan], y(z), path[right], 10); Application : monodromie locale local_monodromy(deq[arctan], y(z), I, 0, 10); Bornes Point singulier r\303\251gulier en 1 bound[arctan] := bound_diffeq(deq[arctan], y(z)); series(arctan(z),z); series(bound[arctan],z); Point singulier irr\303\251gulier en 1 f[irreg] := erf(z+1/(1-z)); deq[irreg] := holexprtodiffeq(f[irreg],y(z)); bound[irreg] := bound_diffeq(deq[irreg],y(z)); Singularit\303\251 \303\240 l'infini deq[infinity] := holexprtodiffeq(AiryAi(z), y(z)); bound_diffeq(deq[infinity], y(z)); JSFH