From: Barton W. <wil...@us...> - 2009-08-05 15:31:13
|
Update of /cvsroot/maxima/maxima/share/contrib/diffequations In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv12490 Modified Files: odelin.lisp rtest_odelin.mac Log Message: o Delete xwronskian -- use functs/wronskian instead o simplify the way solutions are simplified o update expected results in regression test (all tests should pass) Index: odelin.lisp =================================================================== RCS file: /cvsroot/maxima/maxima/share/contrib/diffequations/odelin.lisp,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- odelin.lisp 15 Feb 2009 02:21:55 -0000 1.15 +++ odelin.lisp 5 Aug 2009 15:31:01 -0000 1.16 @@ -39,6 +39,7 @@ ($load "extrabessel") ($load "lazysolver") ($load "gauss") + ($load "functs") ;; wronskian ($load "odeutils")) (defmvar $de_solver_is_loquacious nil) @@ -98,14 +99,12 @@ (defun $odelin (de y x) (let ((cfs (require-linear-homogeneous-de de y x)) (n)) (setq n (length cfs)) - (cond ((= n 2) ($expand (odelin-order-one cfs x) 0)) - ((= n 3) ($expand (odelin-order-two cfs x) 0)) + (cond ((= n 2) (odelin-order-one cfs x)) + ((= n 3) (odelin-order-two cfs x)) (t (merror "'odelin' doesn't handle DEs with order ~:M" (- n 1)))))) (defun odelin-order-one (cfs x) - (let ((p1 (nth 1 cfs)) - (p0 (nth 0 cfs))) - (fss-cleanup `(($set) ,(power '$%e ($integrate (div p0 p1) x))) x))) + (fss-cleanup (take '($set) ($exp ($integrate (div (car cfs) (cadr cfs)) x))) x)) (defun expunge-const-factors (e x) (let ((acc 1)) @@ -119,12 +118,9 @@ ;; Cleanup a fundamental solution set (FSS). (defun fss-cleanup (fss x) - (let ((nfss) (k 0) ($radexpand nil) ($ratsimpexpons t)) - (while (and (< k 5) (not (like fss (setq nfss (mbag-map #'$radcan fss))))) - (incf k) - (setq fss nfss)) - (mbag-map #'(lambda (s) (expunge-const-factors s x)) fss))) - + (let ((nfss (mbag-map #'(lambda (s) (expunge-const-factors ($radcan s) x)) fss))) + (if (like nfss fss) fss (fss-cleanup nfss x)))) + (defun post-check-cleanup (fss) (setq fss ($substitute '%bessel_j '$fbessel_j fss)) ($substitute '%bessel_y '$fbessel_y fss)) @@ -133,16 +129,15 @@ (let ((p0 (nth 0 cfs)) (p1 (nth 1 cfs)) (p2 (nth 2 cfs)) - (p) (m) (sol) + (p) (m) (sol nil) (ode-methods (list 'ode-solve-by-factoring 'bessel-de-solver 'hypergeo01-de-solver 'spherodialwave-de-solver 'bessel-sqrt-de-solver - 'hypergeo21-de-solver)) - ($radexpand nil)) - + 'hypergeo21-de-solver))) + (setq p1 (div p1 p2)) (setq p0 (div p0 p2)) @@ -153,14 +148,15 @@ (setq ode-methods nil)) (setq p (add p0 (div ($diff p1 x) -2) (mul p1 p1 (div -1 4)))) - (setq p ($rat p)) - (setq m (power '$%e (simplify ($integrate (div p1 -2) x)))) + (setq m ($exp ($integrate (div p1 -2) x))) - (dolist (method ode-methods) - (setq sol (funcall method p x)) - (if ($setp sol) (setq sol (fss-cleanup - (mbag-map #'(lambda (s) (mul m s)) sol) x))) - (if (check-fss cfs sol x) (return (post-check-cleanup sol)))))) + (while (and (not sol) ode-methods) + (setq sol (funcall (pop ode-methods) p x)) + (if ($setp sol) + (progn + (setq sol (fss-cleanup (mbag-map #'(lambda (s) (mul m s)) sol) x)) + (setq sol (if (check-fss cfs sol x) (post-check-cleanup sol) nil))))) + sol)) (defprop unk simp-unk operators) @@ -185,27 +181,7 @@ ($setp fss) (= (length cfs) (length fss)) (every #'(lambda (s) (check-de-sol cfs s x)) (cdr fss)) - (not (like 0 ($xwronskian fss x)))))) - -(defun check-number-of-args (n arg f) - (if (not (= n (length arg))) - (merror "Function ~:M requires ~:M arguments; found ~:M arguments" - f n (+ n (length arg))))) - -;; Return the wronskian of the list or set of expressions s. - -(defun $xwronskian (&rest arg) - (check-number-of-args 2 arg "$xwronskian") - (let ((mat) (dim) - (s (require-list-or-set (nth 0 arg) "$xwronskian")) - (x (require-symbol (nth 1 arg) "$xwronskian"))) - (setq s `((mlist) ,@s)) - (setq x (require-symbol (nth 1 arg) "$xwronskian")) - (setq dim ($length s)) - (dotimes (i dim) - (push s mat) - (setq s ($diff s x))) - ($radcan ($determinant `(($matrix) ,@mat))))) + (not (like 0 ($radcan ($determinant (mfuncall '$wronskian ($listify fss) x)))))))) ;; Return a polynomial in x with degree deg and a list of its ;; coefficients. Each coefficient of the polynomial is a gensym. @@ -700,7 +676,6 @@ (declare (ignore q v x)) 1) - (defun hypergeo21-de-solver (v x) (if $de_solver_is_loquacious (mtell "...trying the 2F1 solver~%")) (let* ((a (gensym)) (b (gensym)) (c (gensym)) (m) (z) ($radexpand nil) Index: rtest_odelin.mac =================================================================== RCS file: /cvsroot/maxima/maxima/share/contrib/diffequations/rtest_odelin.mac,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- rtest_odelin.mac 15 Feb 2009 14:03:48 -0000 1.1 +++ rtest_odelin.mac 5 Aug 2009 15:31:01 -0000 1.2 @@ -1,4 +1,4 @@ -(kill(all), load(odelin),0); +(kill(all), load(odelin),display2d : false, 0); 0$ odelin(y+'diff(y,x,2),y,x); @@ -17,8 +17,7 @@ set(bessel_j(1/6,-%i*x/2)*sqrt(-x)*%e^-(x/2),bessel_y(1/6,-%i*x/2)*sqrt(-x)*%e^-(x/2))$ odelin(-y+3*(x-1)*'diff(y,x)+2*x*(x-1)*'diff(y,x,2),y,x); -set(sqrt(x)-1/sqrt(x), log(sqrt(x)+1)*sqrt(x)-log(sqrt(x)-1)*sqrt(x)-log(sqrt(x)+1)/sqrt(x) - +log(sqrt(x)-1)/sqrt(x)-2)$ +set((x-1)/sqrt(x), (log(sqrt(x)+1)*x-log(sqrt(x)-1)*x-2*sqrt(x)-log(sqrt(x)+1) +log(sqrt(x)-1)) /sqrt(x))$ odelin(x^2*y+x*'diff(y,x)+x^2*'diff(y,x,2),y,x); set(bessel_j(0,-x),bessel_y(0,-x))$ @@ -33,9 +32,9 @@ set(x^(1/3)*%e^(x/3),gamma_incomplete(-1/3,x/3)*x^(1/3)*%e^(x/3))$ odelin(-(3+x)*y+2*x^2*'diff(y,x)+4*x^2*'diff(y,x,2),y,x); -set(sqrt(x)-2/sqrt(x),%e^-(x/2)/sqrt(x))$ +set((x-2)/sqrt(x),%e^-(x/2)/sqrt(x))$ -odelin(y+(x^2-x)*'diff(y,x)+x^2*'diff(y,x,2),y,x); +odelin(y+(x^2-x)*'diff(y,x)+x^2*'diff(y,x,2),y,x); /* 13 */ set(x*%e^-x,gamma_incomplete(0,-x)*x*%e^-x)$ odelin(-x*y-'diff(y,x)+x*'diff(y,x,2),y,x); @@ -62,27 +61,17 @@ odelin(-y+(2+x)*'diff(y,x)+x*'diff(y,x,2),y,x); set(kummer_m(-2,0,-x)/x,kummer_u(-2,0,-x)/x)$ - -odelin(-2*y+(1/2-4*x)*'diff(y,x)+x*(1-x)*'diff(y,x,2),y,x); -set(sqrt(x)/(x-1)^(5/2), - 2*x/(x^2-2*x+1)+4/(x^2-2*x+1) - -3*log(sqrt(x)+sqrt(x-1))*sqrt(x)/(x-1)^(5/2) - +3*log(sqrt(x-1)-sqrt(x))*sqrt(x)/(x-1)^(5/2))$ +odelin(-2*y+(1/2-4*x)*'diff(y,x)+x*(1-x)*'diff(y,x,2),y,x); /* 22 */ +set(sqrt(x)/(x-1)^(5/2), (2*sqrt(x-1)*x-3*log(sqrt(x)+sqrt(x-1))*sqrt(x) +3*log(sqrt(x-1)-sqrt(x))*sqrt(x)+4*sqrt(x-1)) /(x-1)^(5/2))$ odelin(-45*y+(1-27*x)*'diff(y,x)+3*x*(1-x)*'diff(y,x,2),y,x); set(gauss_a(-4,-2,5/3,x)*x^(2/3)/(x-1)^(23/3),gauss_b(-4,-2,5/3,x)*x^(2/3)/(x-1)^(23/3))$ odelin(-2*y+(1-6*x)*'diff(y,x)+2*x*(1-x)*'diff(y,x,2),y,x); -set(sqrt(x)/(x-1)^(3/2),log(sqrt(x)+sqrt(x-1))*sqrt(x)/(x-1)^(3/2) - -log(sqrt(x-1)-sqrt(x))*sqrt(x)/(x-1)^(3/2)-2/(x-1))$ - +set((log(sqrt(x)+sqrt(x-1))*sqrt(x)-log(sqrt(x-1)-sqrt(x))*sqrt(x) -2*sqrt(x-1)) /(x-1)^(3/2),sqrt(x)/(x-1)^(3/2))$ odelin(-6*y+(3-10*x)*'diff(y,x)+2*x*(1-x)*'diff(y,x,2),y,x); -set(1/((x-1)^(5/2)*sqrt(x)), - 4*x^(3/2)/(x^(5/2)-2*x^(3/2)+sqrt(x)) - -10*sqrt(x)/(x^(5/2)-2*x^(3/2)+sqrt(x)) - +3*log(sqrt(x)+sqrt(x-1))/((x-1)^(5/2)*sqrt(x)) - -3*log(sqrt(x-1)-sqrt(x))/((x-1)^(5/2)*sqrt(x)))$ +set(1/((x-1)^(5/2)*sqrt(x)), (4*sqrt(x-1)*x^(3/2)-10*sqrt(x-1)*sqrt(x)+3*log(sqrt(x)+sqrt(x-1)) -3*log(sqrt(x-1)-sqrt(x))) /((x-1)^(5/2)*sqrt(x)))$ odelin(-y+(1-3*x)*'diff(y,x)+x*(1-x)*'diff(y,x,2),y,x); set(1/(x-1),log(x)/(x-1))$ @@ -136,7 +125,6 @@ odelin(7*y-8*'diff(y,x)+'diff(y,x,2),y,x); set(%e^x,%e^(7*x))$ - odelin(8*y+4*'diff(y,x)+'diff(y,x,2),y,x); set(%e^(-2*%i*x-2*x),%e^(2*%i*x-2*x))$ @@ -162,13 +150,11 @@ set(x^(1-4*%i),x^(4*%i+1))$ odelin(-3*y+2*'diff(y,x)+x^2*'diff(y,x,2),y,x); -set(kummer_m(sqrt(13)/2+3/2,sqrt(13)+1,-2/x) - *(-x)^(-sqrt(13)/2-1/2)*x*%e^(2/x), - kummer_u(sqrt(13)/2+3/2,sqrt(13)+1,-2/x) - *(-x)^(-sqrt(13)/2-1/2)*x*%e^(2/x))$ +set(kummer_m((sqrt(13)+3)/2,sqrt(13)+1,-2/x) *(-x)^(-sqrt(13)/2-1/2)*%e^(2/x)*abs(x), kummer_u((sqrt(13)+3)/2, + sqrt(13)+1,-2/x) *(-x)^(-sqrt(13)/2-1/2)*%e^(2/x)*abs(x))$ odelin(-(3+x)*y+2*x^2*'diff(y,x)+4*x^2*'diff(y,x,2),y,x); -set(sqrt(x)-2/sqrt(x),%e^-(x/2)/sqrt(x))$ +set((x-2)/sqrt(x),%e^-(x/2)/sqrt(x))$ odelin(y+(x^2-x)*'diff(y,x)+x^2*'diff(y,x,2),y,x); set(x*%e^-x,gamma_incomplete(0,-x)*x*%e^-x)$ @@ -208,18 +194,17 @@ set(bessel_j(n,-b*x)*x^a, bessel_y(n,-b*x)*x^a)$ odelin(b^2*x^3*y+'diff(y,x,2),y,x); -set(bessel_j(-1/5,2*b*x^(5/2)/5)*sqrt(x),bessel_y(-1/5,2*b*x^(5/2)/5)*sqrt(x))$ +set(bessel_j(-1/5,2*abs(b)*x^(5/2)/5)*sqrt(x), bessel_y(-1/5,2*abs(b)*x^(5/2)/5)*sqrt(x))$ odelin(b^2*x^2*y+'diff(y,x,2),y,x); -set(bessel_j(-1/4,-b*x^2/2)*x/sqrt(-x), bessel_y(-1/4,-b*x^2/2)*x/sqrt(-x))$ +set(bessel_j(-1/4,-b*x^2/2)*abs(x)/sqrt(-x), bessel_y(-1/4,-b*x^2/2)*abs(x)/sqrt(-x))$ odelin(4*(x^2-n^2/x^2)*y+'diff(y,x)/x+'diff(y,x,2),y,x); -set(bessel_j(n,x^2),bessel_y(n,x^2))$ +set(bessel_j(n,x^2)*abs(x)/x,bessel_y(n,x^2)*abs(x)/x)$ odelin((1-n^2/x)*y/(4*x)+'diff(y,x)/x+'diff(y,x,2),y,x); set(bessel_j(n,sqrt(x)), bessel_y(n,sqrt(x)))$ - odelin(y/(4*x)+(1-n)*'diff(y,x)/x+'diff(y,x,2),y,x); set(bessel_j(n,sqrt(x))*x^(n/2), bessel_y(n,sqrt(x))*x^(n/2))$ @@ -247,46 +232,36 @@ set(x,x^2)$ odelin(('diff(y,x,2) = (-((-4+5*x-x^2)*y+(4*x-5*x^2+x^3)*'diff(y,x,1)))/(x^3-2*x^2)),y,x); -set(x,x^2*%e^-x-x*%e^-x)$ +set(x,(x-1)*x*%e^-x)$ odelin(('diff(y,x,2) = ((1+4*x-8*x^2+4*x^3-x^4)*y +(-x-4*x^2+8*x^3-4*x^4+x^5)*'diff(y,x,1)) /(-1+x-4*x^2+2*x^3-3*x^4+x^5)),y,x); set(x,%e^x/(x^2+1))$ +odelin(('diff(y,x,2) = ((-6+2*b+(24-a-8*b)*x+(-26+6*a+8*b)*x^2+(16-12*a)*x^3 +(8*a-8)*x^4) *y + +((4-b)*x+(4*b-15)*x^2+(15-4*b)*x^3-8*x^4+4*x^5) *'diff(y,x,1)) /(x^2-3*x^3+2*x^4)),y,x); +set(kummer_m(a,b,(x-1)*x)*x^2,kummer_u(a,b,(x-1)*x)*x^2)$ -odelin(('diff(y,x,2) = ((-6+2*b+(24-a-8*b)*x+(-26+6*a+8*b)*x^2+(16-12*a)*x^3 - +(8*a-8)*x^4) - *y - +((4-b)*x+(4*b-15)*x^2+(15-4*b)*x^3-8*x^4+4*x^5) - *'diff(y,x,1)) - /(x^2-3*x^3+2*x^4)),y,x); -set(kummer_m(a,b,x^2-x)*x^2,kummer_u(a,b,x^2-x)*x^2)$ +odelin(('diff(y,x,2) = ((-a^2+6*a^2*x-12*a^2*x^2+8*a^2*x^3)*y +(-1+(4-3*a)*x+ + (7*a-4)*x^2-8*a*x^3+4*a*x^4)*'diff(y,x,1)) /(a*x-3*a*x^2+2*a*x^3)),y,x); + +set(kummer_m(a,1/a,(x-1)*x),kummer_u(a,1/a,(x-1)*x))$ -odelin(('diff(y,x,2) = ((-a^2+6*a^2*x-12*a^2*x^2+8*a^2*x^3)*y - +(-1+(4-3*a)*x+(7*a-4)*x^2-8*a*x^3+4*a*x^4)*'diff(y,x,1)) - /(a*x-3*a*x^2+2*a*x^3)),y,x); -set(kummer_m(a,1/a,x^2-x),kummer_u(a,1/a,x^2-x))$ odelin(('diff(y,x,2) = ((a+6*a*x+12*a*x^2+8*a*x^3)*y +(-1+2*a+(12*a-11)*x+(30*a-27)*x^2+(44*a-38)*x^3 +(42*a-34)*x^4+(24*a-18)*x^5+(8*a-6)*x^6) *'diff(y,x,1)) /(1+5*x+12*x^2+19*x^3+20*x^4+15*x^5+7*x^6+2*x^7)),y,x); - -set(bessel_j(1/2-a,-%i/(2*x^2+2*x+2))*(x^2+x+1)^(a-1/2) - *%e^(1/(2*x^2+2*x+2)), - bessel_y(1/2-a,-%i/(2*x^2+2*x+2))*(x^2+x+1)^(a-1/2) - *%e^(1/(2*x^2+2*x+2)))$ +set(bessel_j(-((2*a-1)/2),-(%i/(2*(x^2+x+1))))*(x^2+x+1)^(a-1/2) *%e^(1/(2*x^2+2*x+2)), + bessel_y(-((2*a-1)/2),-(%i/(2*(x^2+x+1))))*(x^2+x+1)^(a-1/2) *%e^(1/(2*x^2+2*x+2)))$ odelin(('diff(y,x,2) = (-(n*u*y+((1+n+u)*x-k)*'diff(y,x,1)))/(x^2-x)),y,x); set(gauss_a(n,u,k,x),gauss_b(n,u,k,x))$ - -odelin(('diff(y,x,2) = (-(n*u*y+(-15+3*k-15*n-15*u+(1+n+u)*x)*'diff(y,x,1))) - /(180-27*x+x^2)),y,x); -set(gauss_a(n,u,u+n-k+1,x/3-4),gauss_b(n,u,u+n-k+1,x/3-4))$ - +odelin(('diff(y,x,2) = (-(n*u*y+(-15+3*k-15*n-15*u+(1+n+u)*x)*'diff(y,x,1))) /(180-27*x+x^2)),y,x); +set(gauss_a(n,u,u+n-k+1,(x-12)/3),gauss_b(n,u,u+n-k+1,(x-12)/3))$ odelin(('diff(y,x,2) = (-((-n*u+(-1+n+u)*x+(1-k)*x^2+x^3)*y +((-1+n+u)*x-k*x^2+2*x^3)*'diff(y,x,1)))/(x^3-x^2)),y,x); @@ -297,99 +272,23 @@ odelin(('diff(y,x,2) = (-((-304+115*x-60*x^2+9*x^3)*y +(96*x-69*x^2+18*x^3)*'diff(y,x,1))) /(9*x^3-9*x^2)),y,x)$ - set(x^(19/3)*%e^-x, - 60*x^(31/3)*log(x)/(x^4*%e^x-4*x^3*%e^x+6*x^2*%e^x-4*x*%e^x+%e^x) - -240*x^(28/3)*log(x)/(x^4*%e^x-4*x^3*%e^x+6*x^2*%e^x-4*x*%e^x+%e^x) - +360*x^(25/3)*log(x)/(x^4*%e^x-4*x^3*%e^x+6*x^2*%e^x-4*x*%e^x+%e^x) - -240*x^(22/3)*log(x)/(x^4*%e^x-4*x^3*%e^x+6*x^2*%e^x-4*x*%e^x+%e^x) - +60*x^(19/3)*log(x)/(x^4*%e^x-4*x^3*%e^x+6*x^2*%e^x-4*x*%e^x+%e^x) - -60*x^(31/3)*log(x-1)/(x^4*%e^x-4*x^3*%e^x+6*x^2*%e^x-4*x*%e^x+%e^x) - +240*x^(28/3)*log(x-1)/(x^4*%e^x-4*x^3*%e^x+6*x^2*%e^x-4*x*%e^x+%e^x) - -360*x^(25/3)*log(x-1)/(x^4*%e^x-4*x^3*%e^x+6*x^2*%e^x-4*x*%e^x+%e^x) - +240*x^(22/3)*log(x-1)/(x^4*%e^x-4*x^3*%e^x+6*x^2*%e^x-4*x*%e^x+%e^x) - -60*x^(19/3)*log(x-1)/(x^4*%e^x-4*x^3*%e^x+6*x^2*%e^x-4*x*%e^x+%e^x) - -60*x^(28/3)/(x^4*%e^x-4*x^3*%e^x+6*x^2*%e^x-4*x*%e^x+%e^x) - +210*x^(25/3)/(x^4*%e^x-4*x^3*%e^x+6*x^2*%e^x-4*x*%e^x+%e^x) - -260*x^(22/3)/(x^4*%e^x-4*x^3*%e^x+6*x^2*%e^x-4*x*%e^x+%e^x) - +125*x^(19/3)/(x^4*%e^x-4*x^3*%e^x+6*x^2*%e^x-4*x*%e^x+%e^x) - -12*x^(16/3)/(x^4*%e^x-4*x^3*%e^x+6*x^2*%e^x-4*x*%e^x+%e^x))$ - + x^(16/3)*%e^-x *(60*x^5*log(x)-240*x^4*log(x)+360*x^3*log(x)-240*x^2*log(x) +60*x*log(x) + -60*x^5*log(x-1)+240*x^4*log(x-1) -360*x^3*log(x-1)+240*x^2*log(x-1)-60*x*log(x-1) + -60*x^4+210*x^3-260*x^2+125*x-12) /(x-1)^4)$ odelin(('diff(y,x,2) = (-((-30+180*x-360*x^2+240*x^3)*y +(-7+14*x+32*x^2-92*x^3+46*x^4)*'diff(y,x,1))) /(-x+2*x^2+2*x^3-5*x^4+2*x^5)),y,x); -set(1/(x^12-6*x^11+15*x^10-20*x^9+15*x^8-6*x^7+x^6), - 60*x^8*log(x^2-x-1)/(x^20-10*x^19+41*x^18-84*x^17+72*x^16+36*x^15 - -130*x^14+76*x^13+46*x^12-68*x^11+8*x^10 - +20*x^9-7*x^8-2*x^7+x^6) - -240*x^7*log(x^2-x-1)/(x^20-10*x^19+41*x^18-84*x^17+72*x^16+36*x^15 - -130*x^14+76*x^13+46*x^12-68*x^11+8*x^10 - +20*x^9-7*x^8-2*x^7+x^6) - +120*x^6*log(x^2-x-1)/(x^20-10*x^19+41*x^18-84*x^17+72*x^16+36*x^15 - -130*x^14+76*x^13+46*x^12-68*x^11+8*x^10 - +20*x^9-7*x^8-2*x^7+x^6) - +480*x^5*log(x^2-x-1)/(x^20-10*x^19+41*x^18-84*x^17+72*x^16+36*x^15 - -130*x^14+76*x^13+46*x^12-68*x^11+8*x^10 - +20*x^9-7*x^8-2*x^7+x^6) - -300*x^4*log(x^2-x-1)/(x^20-10*x^19+41*x^18-84*x^17+72*x^16+36*x^15 - -130*x^14+76*x^13+46*x^12-68*x^11+8*x^10 - +20*x^9-7*x^8-2*x^7+x^6) - -480*x^3*log(x^2-x-1)/(x^20-10*x^19+41*x^18-84*x^17+72*x^16+36*x^15 - -130*x^14+76*x^13+46*x^12-68*x^11+8*x^10 - +20*x^9-7*x^8-2*x^7+x^6) - +120*x^2*log(x^2-x-1)/(x^20-10*x^19+41*x^18-84*x^17+72*x^16+36*x^15 - -130*x^14+76*x^13+46*x^12-68*x^11+8*x^10 - +20*x^9-7*x^8-2*x^7+x^6) - +240*x*log(x^2-x-1)/(x^20-10*x^19+41*x^18-84*x^17+72*x^16+36*x^15 - -130*x^14+76*x^13+46*x^12-68*x^11+8*x^10 - +20*x^9-7*x^8-2*x^7+x^6) - +60*log(x^2-x-1)/(x^20-10*x^19+41*x^18-84*x^17+72*x^16+36*x^15 - -130*x^14+76*x^13+46*x^12-68*x^11+8*x^10+20*x^9 - -7*x^8-2*x^7+x^6) - +12*x^10/(x^20-10*x^19+41*x^18-84*x^17+72*x^16+36*x^15-130*x^14 - +76*x^13+46*x^12-68*x^11+8*x^10+20*x^9-7*x^8-2*x^7+x^6) - -60*x^9/(x^20-10*x^19+41*x^18-84*x^17+72*x^16+36*x^15-130*x^14 - +76*x^13+46*x^12-68*x^11+8*x^10+20*x^9-7*x^8-2*x^7+x^6) - +72*x^8/(x^20-10*x^19+41*x^18-84*x^17+72*x^16+36*x^15-130*x^14 - +76*x^13+46*x^12-68*x^11+8*x^10+20*x^9-7*x^8-2*x^7+x^6) - +72*x^7/(x^20-10*x^19+41*x^18-84*x^17+72*x^16+36*x^15-130*x^14 - +76*x^13+46*x^12-68*x^11+8*x^10+20*x^9-7*x^8-2*x^7+x^6) - -276*x^6/(x^20-10*x^19+41*x^18-84*x^17+72*x^16+36*x^15-130*x^14 - +76*x^13+46*x^12-68*x^11+8*x^10+20*x^9-7*x^8-2*x^7+x^6) - +324*x^5/(x^20-10*x^19+41*x^18-84*x^17+72*x^16+36*x^15-130*x^14 - +76*x^13+46*x^12-68*x^11+8*x^10+20*x^9-7*x^8-2*x^7+x^6) - +60*x^4/(x^20-10*x^19+41*x^18-84*x^17+72*x^16+36*x^15-130*x^14 - +76*x^13+46*x^12-68*x^11+8*x^10+20*x^9-7*x^8-2*x^7+x^6) - -456*x^3/(x^20-10*x^19+41*x^18-84*x^17+72*x^16+36*x^15-130*x^14 - +76*x^13+46*x^12-68*x^11+8*x^10+20*x^9-7*x^8-2*x^7+x^6) - +4*x^2/(x^20-10*x^19+41*x^18-84*x^17+72*x^16+36*x^15-130*x^14+76*x^13 - +46*x^12-68*x^11+8*x^10+20*x^9-7*x^8-2*x^7+x^6) - +248*x/(x^20-10*x^19+41*x^18-84*x^17+72*x^16+36*x^15-130*x^14+76*x^13 - +46*x^12-68*x^11+8*x^10+20*x^9-7*x^8-2*x^7+x^6) - +77/(x^20-10*x^19+41*x^18-84*x^17+72*x^16+36*x^15-130*x^14+76*x^13 - +46*x^12-68*x^11+8*x^10+20*x^9-7*x^8-2*x^7+x^6))$ - +set(1/((x-1)^6*x^6), (60*x^8*log(x^2-x-1)-240*x^7*log(x^2-x-1)+120*x^6*log(x^2-x-1) + +480*x^5*log(x^2-x-1)-300*x^4*log(x^2-x-1) -480*x^3*log(x^2-x-1)+120*x^2*log(x^2-x-1) + +240*x*log(x^2-x-1)+60*log(x^2-x-1)+12*x^10-60*x^9+72*x^8 +72*x^7-276*x^6+324*x^5+60*x^4 + -456*x^3+4*x^2+248*x+77) /((x-1)^6*x^6*(x^2-x-1)^4))$ + odelin(('diff(y,x,2) = (30*y+(15-20*x+5*x^2)*'diff(y,x,1))/(-2+5*x-4*x^2+x^3)),y,x); -set((x-1)^6, - 60*(x-1)^5*x^5*log(x-1)/(x^4-8*x^3+24*x^2-32*x+16) - -540*(x-1)^5*x^4*log(x-1)/(x^4-8*x^3+24*x^2-32*x+16) - +1920*(x-1)^5*x^3*log(x-1)/(x^4-8*x^3+24*x^2-32*x+16) - -3360*(x-1)^5*x^2*log(x-1)/(x^4-8*x^3+24*x^2-32*x+16) - +2880*(x-1)^5*x*log(x-1)/(x^4-8*x^3+24*x^2-32*x+16) - -960*(x-1)^5*log(x-1)/(x^4-8*x^3+24*x^2-32*x+16) - -60*(x-1)^5*x^5*log(x-2)/(x^4-8*x^3+24*x^2-32*x+16) - +540*(x-1)^5*x^4*log(x-2)/(x^4-8*x^3+24*x^2-32*x+16) - -1920*(x-1)^5*x^3*log(x-2)/(x^4-8*x^3+24*x^2-32*x+16) - +3360*(x-1)^5*x^2*log(x-2)/(x^4-8*x^3+24*x^2-32*x+16) - -2880*(x-1)^5*x*log(x-2)/(x^4-8*x^3+24*x^2-32*x+16) - +960*(x-1)^5*log(x-2)/(x^4-8*x^3+24*x^2-32*x+16) - -60*(x-1)^5*x^4/(x^4-8*x^3+24*x^2-32*x+16) - +450*(x-1)^5*x^3/(x^4-8*x^3+24*x^2-32*x+16) - -1250*(x-1)^5*x^2/(x^4-8*x^3+24*x^2-32*x+16) - +1515*(x-1)^5*x/(x^4-8*x^3+24*x^2-32*x+16) - -667*(x-1)^5/(x^4-8*x^3+24*x^2-32*x+16))$ - +set((x-1)^6, (x-1)^5*(60*x^5*log(x-1)-540*x^4*log(x-1)+1920*x^3*log(x-1)-3360*x^2*log(x-1) + +2880*x*log(x-1)-960*log(x-1)-60*x^5*log(x-2) +540*x^4*log(x-2)-1920*x^3*log(x-2) + +3360*x^2*log(x-2) -2880*x*log(x-2)+960*log(x-2)-60*x^4+450*x^3-1250*x^2 +1515*x-667) /(x-2)^4)$ odelin(('diff(y,x,2) = (-((a^2+a*b)*y+(-8-2*a-b+(1+2*a+b)*x)*'diff(y,x,1))) /(2-3*x+x^2)),y,x)$ @@ -400,73 +299,54 @@ +(1+a+(3+6*a)*x+(5+14*a)*x^2+(4+16*a)*x^3+(2+8*a)*x^4) *'diff(y,x,1))) /(x+4*x^2+6*x^3+5*x^4+2*x^5)),y,x); -set(1/(x^a*(x+1)^a), - ('integrate(2*x^a*(x+1)^(a-1)/(x^2+x+1)^a - +x^(a-1)*(x+1)^(a-1)/(x^2+x+1)^a,x)) - /(x^a*(x+1)^a))$ - +set(1/(x^a*(x+1)^a), ('integrate(x^(a-1)*(x+1)^(a-1)*(2*x+1)/(x^2+x+1)^a,x))/(x^a*(x+1)^a))$ odelin(('diff(y,x,2) = (-((2*x^2-1)*y+8*x*'diff(y,x,1)))/(2*x^2-2)),y,x); set(spherodialwave_a(1,1/2,1/4,-x),spherodialwave_b(1,1/2,1/4,-x))$ odelin(('diff(y,x,2) = (-((6*x^2-28)*y+(6*x^3+2*x^5)*'diff(y,x,1)))/(x^6-x^4)),y,x); -set(spherodialwave_a(-3,12,7,-1/x)*x^6/(x^6-3*x^4+3*x^2-1), - spherodialwave_b(-3,12,7,-1/x)*x^6/(x^6-3*x^4+3*x^2-1))$ - +set(spherodialwave_a(-3,12,7,-(1/x))*x^5*abs(x)/((x-1)^3*(x+1)^3), + spherodialwave_b(-3,12,7,-(1/x))*x^5*abs(x)/((x-1)^3*(x+1)^3))$ odelin(('diff(y,x,2) = (-((-22-12*x+6*x^2)*y +(-8+28*x-38*x^2+26*x^3-10*x^4+2*x^5)*'diff(y,x,1))) /(-2*x+9*x^2-16*x^3+14*x^4-6*x^5+x^6)),y,x); -set(spherodialwave_a(-3,12,7,-1/(x-1))*(x-1)^6/(x^6-6*x^5+12*x^4-8*x^3), - spherodialwave_b(-3,12,7,-1/(x-1))*(x-1)^6/(x^6-6*x^5+12*x^4-8*x^3))$ +set(spherodialwave_a(-3,12,7,-1/(x-1))*(x-1)^6/((x-2)^3*x^3), + spherodialwave_b(-3,12,7,-1/(x-1))*(x-1)^6/((x-2)^3*x^3))$ odelin(('diff(y,x,2) = (-((784-4703*x+9401*x^2-6254*x^3-20*x^4+8*x^5)*y +(-4*x+12*x^2-16*x^3+8*x^4)*'diff(y,x,1))) /(-4*x^2+16*x^3-20*x^4+8*x^5)),y,x); -set(bessel_j(28,sqrt(x-1)*sqrt(x)), bessel_y(28,sqrt(x-1)*sqrt(x)))$ - +set(bessel_j(28,sqrt(x-1)*sqrt(x)),bessel_y(28,sqrt(x-1)*sqrt(x)))$ + odelin(('diff(y,x,2) = (-(2-933156*x)*y-x^2*'diff(y,x,1))/x^3),y,x); -set(bessel_j(1932,2*sqrt(2)/sqrt(x)), bessel_y(1932,2*sqrt(2)/sqrt(x)))$ +set(bessel_j(1932,2^(3/2)/sqrt(x))*abs(x)/x, bessel_y(1932,2^(3/2)/sqrt(x))*abs(x)/x)$ odelin(('diff(y,x,2) = (-1+x-x^2-4*x^3+x^4-x^5+x^6)*'diff(y,x,1)/(x^6-x^2)),y,x); -set(1,'integrate(x^2*%e^(x-1/x)/(x^3-x)+%e^(x-1/x)/(x^3-x),x))$ - +set(1,'integrate((x^2+1)*%e^(x-1/x)/(x*(x^2-1)),x))$ odelin(('diff(y,x,2) = ((1+3*x^2+3*x^4+x^6)*y +(-x-x^3-6*x^4+x^5-2*x^6+x^7)*'diff(y,x,1)) /(x^7-x^3)),y,x); -set(x/(x^2-1),x*%e^(x-1/x)/(x^2-1))$ +set(x/((x-1)*(x+1)),x*%e^(x-1/x)/((x-1)*(x+1)))$ odelin(('diff(y,x,2) = ((2+6*x^2+6*x^4+2*x^6)*y +(-2*x+3*x^2-2*x^3-6*x^4+2*x^5-x^6+2*x^7)*'diff(y,x,1)) /(2*x^7-2*x^3)),y,x); -set(sqrt(x-1)*sqrt(x+1)*%e^(x-1/x)/sqrt(x), - sqrt(x-1)*sqrt(x+1)*%e^(x-1/x) - *('integrate(x^2*%e^(1/x-x) - /(sqrt(x-1)*x^(5/2)*sqrt(x+1) - -sqrt(x-1)*sqrt(x)*sqrt(x+1)) - +%e^(1/x-x) - /(sqrt(x-1)*x^(5/2)*sqrt(x+1) - -sqrt(x-1)*sqrt(x)*sqrt(x+1)),x)) - /sqrt(x))$ - +set(sqrt(x-1)*sqrt(x+1)*%e^(x-1/x)/sqrt(x), sqrt(x-1)*sqrt(x+1)*%e^(x-1/x) *('integrate((x^2+1)*%e^(1/x-x) /(sqrt(x-1)*sqrt(x)*sqrt(x+1)*(x^2-1)),x)) /sqrt(x))$ odelin(('diff(y,x,2) = (-(a^2*y-2*a^2*x*y+6*a*x^2*y-4*x^3*y+a^2*'diff(y,x,1) +4*a^2*x^2*'diff(y,x,1)-8*a*x^3*'diff(y,x,1) +4*x^4*'diff(y,x,1))) /(2*x*(x-a)*(-a+2*x-2*a*x+2*x^2))),y,x); -set(%e^-x, - %e^-x*'integrate(2*x^(3/2)*%e^x/sqrt(x-a)-2*a*sqrt(x)*%e^x/sqrt(x-a) - +2*sqrt(x)*%e^x/sqrt(x-a) - -a*%e^x/(sqrt(x)*sqrt(x-a)), - x))$ + +set(%e^-x,%e^-x*'integrate((2*x^2+(2-2*a)*x-a)*%e^x/(sqrt(x)*sqrt(x-a)),x))$ odelin(('diff(y,x,2) = ((-a^2+(-1+a+a*(1+2*a))*x+(-1-a+(-1-a)*a)*x^2)*y +((2*a-1)*x-4*a*x^2+(1+2*a)*x^3)*'diff(y,x,1)) /(x^2-2*x^3+x^4)),y,x); -set(x^(a+1)-x^a,x^(a+1)*log(x)-x^a*log(x))$ - +set((x-1)*x^a,(x-1)*x^a*log(x))$ odelin(2*y-2*x*'diff(y,x,1)+(x^2-1)*'diff(y,x,2),y,x); set((x-1)^2,x)$ @@ -485,11 +365,14 @@ set(%e^x,%e^x*log(x))$ odelin(n*y-2*x*'diff(y,x)+'diff(y,x,2),y,x); -set(kummer_m(n/4+1/2,1/2,-x^2)*%e^x^2,kummer_u(n/4+1/2,1/2,-x^2)*%e^x^2)$ +set(kummer_m((n+2)/4,1/2,-x^2)*%e^x^2*sqrt(abs(x))/sqrt(-x), + kummer_u((n+2)/4,1/2,-x^2)*%e^x^2*sqrt(abs(x))/sqrt(-x))$ odelin(n*(1+n)*y-2*x*'diff(y,x)+(1-x^2)*'diff(y,x,2),y,x); -set(gauss_a(-n,n+1,1,1/2-x/2),gauss_b(-n,n+1,1,1/2-x/2))$ +set(gauss_a(-n,n+1,1,-((x-1)/2)),gauss_b(-n,n+1,1,-((x-1)/2)))$ odelin(n*y+(1-x)*'diff(y,x)+x*'diff(y,x,2),y,x); set(kummer_m(n+1,1,-x)*%e^x,kummer_u(n+1,1,-x)*%e^x)$ +(reset(display2d),0); +0$ \ No newline at end of file |