From: Dieter K. <cra...@us...> - 2009-10-01 18:04:29
|
Update of /cvsroot/maxima/maxima/tests In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv4031/tests Modified Files: rtest_hypgeo.mac Log Message: Adding some tests to show that the laplace transform of whittaker_m works as expected. Index: rtest_hypgeo.mac =================================================================== RCS file: /cvsroot/maxima/maxima/tests/rtest_hypgeo.mac,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- rtest_hypgeo.mac 28 Sep 2009 21:32:10 -0000 1.15 +++ rtest_hypgeo.mac 1 Oct 2009 18:04:14 -0000 1.16 @@ -2086,7 +2086,54 @@ factor(ratsimp(specint(exp(-s*t)*%d[1](t),t))); 'specint(exp(-s*t)*%d[1](t),t); - + +/******************************************************************************* + * + * Test Laplace transform of whittaker_m + * + * Check it against two simple special cases of whittaker_m: + * + * whittaker_m(-1/2-u,u,z) = exp(z/2) * z^(u+1/2) + * whittaker_m(1/2 +u,u,z) = exp(-z/2)* z^(u+1/2) + */ + +(assume(s>0,2*u+3>0,2*s-1>0),done); +done; + +res1:factor(ratsimp(specint(exp(-s*t)*whittaker_m(-1/2-u,u,t),t))); +(2*s-1)^(-u-3/2)*2^(u+3/2)*gamma((2*u+3)/2); + +res2:factor(ratsimp(specint(exp(-s*t)*exp(t/2)*t^(u+1/2),t))); +(2*s-1)^(-u-3/2)*2^(u+3/2)*gamma((2*u+3)/2); + +ratsimp(res1-res2); +0; + +res1:factor(ratsimp(specint(exp(-s*t)*whittaker_m(1/2+u,u,t),t))); +(2*s+1)^(-u-3/2)*2^(u+3/2)*gamma((2*u+3)/2); + +res2:factor(ratsimp(specint(exp(-s*t)*exp(-t/2)*t^(u+1/2),t))); +(2*s+1)^(-u-3/2)*2^(u+3/2)*gamma((2*u+3)/2); + +ratsimp(res1-res2); +0; + +/* The general solution for an argument t, with 2*a+2*u+1>0 */ + +(assume(2*a+2*u+1>0),done); +done; + +factor(ratsimp(specint(exp(-s*t)*t^(a-1)*whittaker_m(v,u,t),t))); +(2*s+1)^(-u-a-1/2)*2^(u+a+1/2)*gamma((2*u+2*a+1)/2) + *%f[2,1]([(2*v-2*u-1)/-2,(2*u+2*a+1)/2],[2*u+1], + 2/(2*s+1)); + +/* The general solution for an argument -t, with 2*a+2*u+1>0 */ + +factor(ratsimp(specint(exp(-s*t)*t^(a-1)*whittaker_m(v,u,-t),t))); +%i*(2*s-1)^(-u-a-1/2)*(-1)^u*2^(u+a+1/2)*gamma((2*u+2*a+1)/2) + *%f[2,1]([(2*v-2*u-1)/-2,(2*u+2*a+1)/2],[2*u+1],-2/(2*s-1)); + /******************************************************************************/ kill(all); |