@@ -1,978 +1,978 @@ -REDUCE 3.6, 15-Jul-95, patched to 6 Mar 96 ... - - -off echo; - - -Premier exemple: utilisation interactive sur une equation simple - -desir(); %appel de DESIR - - ATTENTION : chaque donnee doit etre suivie de ; ou de $ - - - - ***** INTRODUCTION DES DONNEES ***** - - - - L' equation est de la forme - - a(0)(x)d^0 + a(1)(x)d^1 + .... + a(n)(x)d^n = 0 - - ordre de l'equation ? - - Donner les coefficients a(j)(x), j = 0..n - -a(0) = 1 - -a(1) = x - -a(2) = x - - 6 -a(3) = x - - - -correction ? ( oui; / non; ) - -transformation ? (oui;/non;) - -nombre de termes desires pour la solution ? - - - -LES 3 SOLUTIONS CALCULEES SONT LES SUIVANTES - - - - ============== - - SOLUTION No 1 - - ============== - - 1 4 1 3 2 -x*(----*x - ---*x + x - 2*x + 2) - 12 3 - - - - ============== - - SOLUTION No 2 - - ============== - - 1 4 1 3 2 5 4 1 3 ----*log(x)*x - ---*log(x)*x + log(x)*x - log(x)*x - ----*x + ---*x - x + 1 - 6 2 36 4 - - - - ============== - - SOLUTION No 3 - - ============== - - 4 - 1/(4*x ) 10 361 4 1 3 1 2 -e *x *(-----*x + ---*x + ---*x + x + 1) - 24 6 2 - -voulez-vous continuer ? - -'non;' : la liste des solutions calculees est affichee (sous - - forme generalisee). - -'non$' : cette liste n'est pas affichee. - - 6 -{{{1,x,x,x }, - - 4 3 2 - xt - 4*xt + 12*xt - 24*xt + 24 - {{{{0,1,-----------------------------------,1},{}}}, - 12 - - 4 3 2 - {{{0,1,(6*log(xt)*xt - 18*log(xt)*xt + 36*log(xt)*xt - 36*log(xt)*xt - - 4 3 - - 5*xt + 9*xt - 36*xt + 36)/36,0},{}}}, - - 4 3 2 - 1 361*xt + 4*xt + 12*xt + 24*xt + 24 - {{{-------,1,---------------------------------------,10},{}}}}}} - 4 24 - 4*xt - -solvalide(first ws,1,4); - - 4 3 2 - x*(x - 4*x + 12*x - 24*x + 24) -La solution numero 1 est ----------------------------------- - 12 - -La partie reguliere du reste est de l'ordre de x**(5) - -Si on reporte cette solution dans l'equation, le terme significatif du reste - - 1 5 - est : ---*x - 2 - - 5 3 2 - x *(10*x - 16*x + 12*x + 1) -------------------------------- - 2 - -Le meme exemple en utilisation directe - -lcoeff:={1,x,x,x**6}; - - 6 -lcoeff := {1,x,x,x } - -param:={}; - -param := {} - -on trdesir; %obtention facultative d'une trace - -Time: 790 ms plus GC time: 150 ms -sol:=delire(x,4,1,lcoeff,param); - -0 -1 0 2 - -2 -1 4 1 - -Equation reduite : - - 6 - xt * DF(Y,XT,3) + - - xt * DF(Y,XT,2) + - - xt * DF(Y,XT,1) + - - 1 * Y - -Equation indicielle : lambd*(lambd - 1) - -Solution en l'indeterminee lambda : - - 4 6 4 2 -(xt *( - lambd + 5*lambd - 4*lambd + lambd + 4) - - 3 2 2 3 2 - + xt *( - lambd - 7*lambd - 12) + xt *(lambd + 9*lambd + 26*lambd + 24) - - 4 3 2 - + xt*( - lambd - 10*lambd - 35*lambd - 50*lambd - 24) - - 4 3 2 3 2 - + lambd*(lambd + 10*lambd + 35*lambd + 50*lambd + 24))/(lambd + 9*lambd - - + 26*lambd + 24) - - 2 -1 4 1 - -Equation caracteristique : 16*( - 4*&u + 1) - - 1 -Racine eq. carac. : --- - 4 - -0 -5 0 1 - -Equation reduite : - - 11 - xt * DF(Y,XT,3) + - - 6 - - 2*xt * DF(Y,XT,2) + - - 5 4 - xt*(xt + 15*xt + 1) * DF(Y,XT,1) + - - 5 4 - xt - 30*xt - xt - 10 * Y - -Equation indicielle : lambd - 10 - - 4 3 2 - xt - 4*xt + 12*xt - 24*xt + 24 -sol := {{{{0,1,-----------------------------------,1},{}}}, - 12 - - 4 3 2 - {{{0,1,(6*log(xt)*xt - 18*log(xt)*xt + 36*log(xt)*xt - 36*log(xt)*xt - - 4 3 - - 5*xt + 9*xt - 36*xt + 36)/36,0},{}}}, - - 4 3 2 - 1 361*xt + 4*xt + 12*xt + 24*xt + 24 - {{{-------,1,---------------------------------------,10},{}}}} - 4 24 - 4*xt - -showtime; %temps d'execution de 'delire' - -Time: 720 ms plus GC time: 120 ms -1ieme solution : - - 1 4 1 3 2 -x*(----*x - ---*x + x - 2*x + 2) - 12 3 -0 - -2ieme solution : - - 1 4 1 3 2 5 4 1 3 ----*log(x)*x - ---*log(x)*x + log(x)*x - log(x)*x - ----*x + ---*x - x + 1 - 6 2 36 4 -0 - -3ieme solution : - - 4 - 1/(4*x ) 10 361 4 1 3 1 2 -e *x *(-----*x + ---*x + ---*x + x + 1) - 24 6 2 -0 - -solvalide({lcoeff,sol},2,4)$ - - 1 4 1 3 2 -La solution numero 2 est ---*log(x)*x - ---*log(x)*x + log(x)*x - log(x)*x - 6 2 - - 5 4 1 3 - - ----*x + ---*x - x + 1 - 36 4 - -La partie reguliere du reste est de l'ordre de x**(4) - -Si on reporte cette solution dans l'equation, le terme significatif du reste - - 5 4 17 - est : ---*x *(log(x) + ----) - 6 30 - -solvalide({lcoeff,sol},3,4)$ - - 4 - 1/(4*xt ) 5 4 -a(1) = e *(xt - 30*xt - xt - 10) - - 4 - 1/(4*xt ) 5 4 -a(2) = e *xt*(xt + 15*xt + 1) - - 4 - 1/(4*xt ) 6 -a(3) = - 2*e *xt - - 4 - 1/(4*xt ) 11 -a(4) = e *xt - - 4 - 1/(4*x ) 10 361 4 1 3 1 2 -La solution numero 3 est e *x *(-----*x + ---*x + ---*x + x + 1) - 24 6 2 - -La partie reguliere du reste est de l'ordre de x**(10) - -Si on reporte cette solution dans l'equation, le terme significatif du reste - - 4 - 2137 1/(4*x ) 10 - est : - ------*e *x - 24 - -off trdesir; - -Deuxieme exemple : utilisation interactive, parametres et - -transformations - -desir(); - - ATTENTION : chaque donnee doit etre suivie de ; ou de $ - - - - ***** INTRODUCTION DES DONNEES ***** - - - - L' equation est de la forme - - a(0)(x)d^0 + a(1)(x)d^1 + .... + a(n)(x)d^n = 0 - - ordre de l'equation ? - - Donner les coefficients a(j)(x), j = 0..n - - 2 2 -a(0) = - nu + x - -a(1) = x - - 2 -a(2) = x - - - -correction ? ( oui; / non; ) - -nombre de parametres ? - -donner ce parametre : - -transformation ? (oui;/non;) - -nombre de termes desires pour la solution ? - - - -LES 2 SOLUTIONS CALCULEES SONT LES SUIVANTES - - - - ============== - - SOLUTION No 1 - - ============== - - nu 1 2 - x *(nu - ---*x + 1) - 4 ------------------------ - nu + 1 - -Si : - -2*nu non entier - - nu 2 2 - 2*x *nu *(4*nu - x + 4) ---------------------------- - nu + 1 - -Si : - -2*nu entier positif - - - nu 2 2 - 2*x *nu *(4*nu + x - 4) ------------------------------- - nu - 1 - -Si : - -2*nu entier negatif - - - nu 1 2 - x *(nu + ---*x - 1) - 4 --------------------------- - nu - 1 - -Si : - -2*nu nul - - - - ============== - - SOLUTION No 2 - - ============== - - - nu 1 2 - x *(nu + ---*x - 1) - 4 --------------------------- - nu - 1 - -Si : - -2*nu non entier - - - nu 2 1 2 1 2 -(x *(log(x)*nu + ---*log(x)*nu*x - 2*log(x)*nu - ---*log(x)*x + log(x) - 4 4 - - 1 2 1 2 2 - - ---*nu*x + ---*x ))/(nu - 2*nu + 1) - 8 4 - -Si : - -2*nu nul - -voulez-vous continuer ? - -'non;' : la liste des solutions calculees est affichee (sous - - forme generalisee). - -'non$' : cette liste n'est pas affichee. - -derivation : 1; - -changement de variable : 2; - -changement de fonction inconnue : 3; - -substitution : 4; - -valeur de x en fonction de la nouvelle variable v ? - -transformation ? (oui;/non;) - -nombre de termes desires pour la solution ? - - - -LES 2 SOLUTIONS CALCULEES SONT LES SUIVANTES - - - - ============== - - SOLUTION No 1 - - ============== - - i/x -sqrt(x)*e - - 1 -1 2 1 -1 1 4 2 5 2 2 9 2 -*( - ---*i *nu *x + ---*i *x - ---*nu *x + ----*nu *x - -----*x + 1) - 2 8 8 16 128 - - - - ============== - - SOLUTION No 2 - - ============== - - - i/x -sqrt(x)*e - - 1 -1 2 1 -1 1 4 2 5 2 2 9 2 -*(---*i *nu *x - ---*i *x - ---*nu *x + ----*nu *x - -----*x + 1) - 2 8 8 16 128 - -voulez-vous continuer ? - -'non;' : la liste des solutions calculees est affichee (sous - - forme generalisee). - -'non$' : cette liste n'est pas affichee. - -sol1:=first sol$ %solutions au voisinage de 0 - -sol2:=second sol$ %solutions au voisinage de l'infini - -solvalide(sol1,1,2)$ - -presence de solutions conditionnelles : - - cette procedure ne peut pas etre appelee. - -solvalide(sol2,1,2)$ - -La solution numero 1 est - - i/x 4 2 2 2 2 2 - sqrt(x)*e *( - 16*i*nu *x + 40*i*nu *x - 9*i*x + 128*i - 64*nu *x + 16*x) --------------------------------------------------------------------------------- - 128*i - - 9 -La partie reguliere du reste est de l'ordre de x**(---) - 2 - -Si on reporte cette solution dans l'equation, le terme significatif du reste - - 1 i/x 4 6 35 4 259 2 225 - est : ---*sqrt(x)*e *x *(nu - ----*nu + -----*nu - -----) - 8 4 16 64 - -Remarque : la verification de la validite des solutions est possible - -malgre la presence d'un parametre (pas de condition). - -standsol(sol1); %=sol1...sans interet! - - 2 2 2 -{{ - nu + x ,x,x }, - - {}, - - 2 - 4*nu - xt + 4 - {{{{0,1,----------------,nu}, - 4*(nu + 1) - - {{2*nu,nonent,, sauf :,1}}}, - - 2 2 - 2*nu *(4*nu - xt + 4) - {{0,1,------------------------,nu}, - nu + 1 - - {{2*nu,entpos}}}, - - 2 2 - 2*nu *(4*nu + xt - 4) - {{0,1,------------------------, - nu}, - nu - 1 - - {{2*nu,entneg}}}, - - 2 - 4*nu + xt - 4 - {{0,1,----------------, - nu}, - 4*(nu - 1) - - {{2*nu,entnul}}}}, - - 2 - 4*nu + xt - 4 - {{{0,1,----------------, - nu}, - 4*(nu - 1) - - {{2*nu,nonent,, sauf :,1}}}, - - {{0, - - 1, - - 6 5 5 - (log(xt)*lambd + 4*log(xt)*lambd *nu + 8*log(xt)*lambd - - 4 2 4 4 2 - + log(xt)*lambd *nu + 32*log(xt)*lambd *nu - log(xt)*lambd *xt - - 4 3 3 3 2 - + 24*log(xt)*lambd - 8*log(xt)*lambd *nu + 16*log(xt)*lambd *nu - - 3 2 3 3 2 - - 4*log(xt)*lambd *nu*xt + 96*log(xt)*lambd *nu - 4*log(xt)*lambd *xt - - 3 2 4 2 3 - + 32*log(xt)*lambd - 5*log(xt)*lambd *nu - 32*log(xt)*lambd *nu - - 2 2 2 2 2 - - 2*log(xt)*lambd *nu *xt + 64*log(xt)*lambd *nu - - 2 2 2 2 2 - - 16*log(xt)*lambd *nu*xt + 128*log(xt)*lambd *nu - 4*log(xt)*lambd *xt - - 2 5 4 - + 16*log(xt)*lambd + 4*log(xt)*lambd*nu - 24*log(xt)*lambd*nu - - 3 2 3 - + 4*log(xt)*lambd*nu *xt - 32*log(xt)*lambd*nu - - 2 2 2 - - 12*log(xt)*lambd*nu *xt + 96*log(xt)*lambd*nu - - 2 6 - - 16*log(xt)*lambd*nu*xt + 64*log(xt)*lambd*nu + 3*log(xt)*nu - - 4 2 4 2 2 - + 3*log(xt)*nu *xt - 24*log(xt)*nu - 12*log(xt)*nu *xt - - 2 5 4 4 3 2 - + 48*log(xt)*nu + 2*lambd + 4*lambd *nu + 16*lambd - 4*lambd *nu - - 3 3 2 3 2 2 - + 32*lambd *nu + 48*lambd - 8*lambd *nu - 16*lambd *nu - - 2 2 2 2 2 2 4 - + 4*lambd *nu*xt + 96*lambd *nu - 4*lambd *xt + 64*lambd + 2*lambd*nu - - 3 2 2 2 - - 32*lambd*nu + 8*lambd*nu *xt - 16*lambd*nu + 128*lambd*nu - - 2 5 3 2 3 2 2 - - 8*lambd*xt + 32*lambd + 4*nu + 4*nu *xt - 32*nu + 12*nu *xt - - 2 4 3 2 2 2 - - 16*nu*xt + 64*nu)/(lambd + 8*lambd - 2*lambd *nu + 24*lambd - - 2 4 2 - - 8*lambd*nu + 32*lambd + nu - 8*nu + 16), - - - nu}, - - {{2*nu,entpos}}}, - - {{0, - - 1, - - 6 5 5 - (log(xt)*lambd - 4*log(xt)*lambd *nu + 8*log(xt)*lambd - - 4 2 4 4 2 - + log(xt)*lambd *nu - 32*log(xt)*lambd *nu - log(xt)*lambd *xt - - 4 3 3 3 2 - + 24*log(xt)*lambd + 8*log(xt)*lambd *nu + 16*log(xt)*lambd *nu - - 3 2 3 3 2 - + 4*log(xt)*lambd *nu*xt - 96*log(xt)*lambd *nu - 4*log(xt)*lambd *xt - - 3 2 4 2 3 - + 32*log(xt)*lambd - 5*log(xt)*lambd *nu + 32*log(xt)*lambd *nu - - 2 2 2 2 2 - - 2*log(xt)*lambd *nu *xt + 64*log(xt)*lambd *nu - - 2 2 2 2 2 - + 16*log(xt)*lambd *nu*xt - 128*log(xt)*lambd *nu - 4*log(xt)*lambd *xt - - 2 5 4 - + 16*log(xt)*lambd - 4*log(xt)*lambd*nu - 24*log(xt)*lambd*nu - - 3 2 3 - - 4*log(xt)*lambd*nu *xt + 32*log(xt)*lambd*nu - - 2 2 2 - - 12*log(xt)*lambd*nu *xt + 96*log(xt)*lambd*nu - - 2 6 - + 16*log(xt)*lambd*nu*xt - 64*log(xt)*lambd*nu + 3*log(xt)*nu - - 4 2 4 2 2 - + 3*log(xt)*nu *xt - 24*log(xt)*nu - 12*log(xt)*nu *xt - - 2 5 4 4 3 2 - + 48*log(xt)*nu + 2*lambd - 4*lambd *nu + 16*lambd - 4*lambd *nu - - 3 3 2 3 2 2 - - 32*lambd *nu + 48*lambd + 8*lambd *nu - 16*lambd *nu - - 2 2 2 2 2 2 4 - - 4*lambd *nu*xt - 96*lambd *nu - 4*lambd *xt + 64*lambd + 2*lambd*nu - - 3 2 2 2 - + 32*lambd*nu + 8*lambd*nu *xt - 16*lambd*nu - 128*lambd*nu - - 2 5 3 2 3 2 2 - - 8*lambd*xt + 32*lambd - 4*nu - 4*nu *xt + 32*nu + 12*nu *xt - - 2 4 3 2 2 2 - + 16*nu*xt - 64*nu)/(lambd + 8*lambd - 2*lambd *nu + 24*lambd - - 2 4 2 - - 8*lambd*nu + 32*lambd + nu - 8*nu + 16), - - nu}, - - {{2*nu,entneg}}}, - - {{0, - - 1, - - 2 2 2 - (8*log(xt)*nu + 2*log(xt)*nu*xt - 16*log(xt)*nu - 2*log(xt)*xt - - 2 2 2 - + 8*log(xt) - nu*xt + 2*xt )/(8*(nu - 2*nu + 1)), - - - nu}, - - {{2*nu,entnul}}}}}} - -standsol(sol2); %solutions retournees sous forme standard. - - 2 2 3 4 -{{ - nu *x + 1,x ,x }, - - i/x - {(sqrt(x)*e - - 4 2 2 2 2 2 - *( - 16*i*nu *x + 40*i*nu *x - 9*i*x + 128*i - 64*nu *x + 16*x))/(128*i), - - 4 2 2 2 2 2 - sqrt(x)*( - 16*i*nu *x + 40*i*nu *x - 9*i*x + 128*i + 64*nu *x - 16*x) - ---------------------------------------------------------------------------}, - i/x - 128*e *i - - {}} - -Pour revoir les solutions au voisinage de 0 : - -for each elt in second sol1 do - - <>; - -1ieme solution - - nu 2 - x *(4*nu - x + 4) ---------------------- - 4*(nu + 1) - -Si : - -2*nu non entier - - nu 2 2 - 2*x *nu *(4*nu - x + 4) ---------------------------- - nu + 1 - -Si : - -2*nu entier positif - - 2 2 - 2*nu *(4*nu + x - 4) ------------------------ - nu - x *(nu - 1) - -Si : - -2*nu entier negatif - - 2 - 4*nu + x - 4 ----------------- - nu - 4*x *(nu - 1) - -Si : - -2*nu nul - -2ieme solution - - 2 - 4*nu + x - 4 ----------------- - nu - 4*x *(nu - 1) - -Si : - -2*nu non entier - - 2 2 2 2 -(8*log(x)*nu + 2*log(x)*nu*x - 16*log(x)*nu - 2*log(x)*x + 8*log(x) - nu*x - - 2 nu 2 - + 2*x )/(8*x *(nu - 2*nu + 1)) - -Si : - -2*nu nul - -Evaluation des solns au voisinage de 0 pour une valeur particuliere - -du parametre : - -sorparam(sol1,{nu});%evaluation des solutions au voisinage de 0 - - %pour une valeur particuliere du parametre - - %nu = 1 - - %ecriture et retour des solutions sous forme - - %standard - -donner la valeur du parametre nu - - - - ============== - - SOLUTION No 1 - - ============== - - 2 -x*( - x + 8) - - - - ============== - - SOLUTION No 2 - - ============== - - 2 - - log(x)*x + 2 ------------------- - x - - 2 2 -{{x - 1,x,x }, - - 2 - 2 - log(x)*x + 2 - {x*( - x + 8),------------------}} - x - -solparam(sol1,{nu},{1}); - - 2 2 -{{x - 1,x,x }, - - 2 - {{{{0,1, - xt + 8,1},{}}}, - - 2 - {{{0,1, - log(xt)*xt + 2,-1},{}}}}} - -Meme fonction avec retour des solutions sous forme generalisee, - -ce qui permet d'enchainer : - -solvalide(ws,1,2)$ - - 2 -La solution numero 1 est x*( - x + 8) - -La partie reguliere du reste est de l'ordre de x**(4) - -Si on reporte cette solution dans l'equation, le terme significatif du reste - - 5 - est : - x - -L'exemple suivant a ete cree specialement pour tester l'algorithme - -et utiliser un grand nombre de procedures : - -lcoeff := {x + 1, - - 2 - 2*x *(x + 1), - - 4 - x , - - 7 - 5*x - ------, - 2 - - 10 - x } - -param := {} - -Time: 4830 ms plus GC time: 310 ms -sol:=delire(x,4,1,lcoeff,param); - -Time: 4580 ms plus GC time: 290 ms -1ieme solution : - - (sqrt(x)*sqrt(6) + 1)/x -4 1330595 - 1/2 -e *x *( - ---------*sqrt(x)*6 *x - 96 - - 173 - 1/2 174069763 2 9173 - - -----*sqrt(x)*6 + -----------*x + ------*x + 1) - 2 4608 16 -0 - -2ieme solution : - - ( - sqrt(x)*sqrt(6) + 1)/x -4 1330595 - 1/2 -e *x *(---------*sqrt(x)*6 *x - 96 - - 173 - 1/2 174069763 2 9173 - + -----*sqrt(x)*6 + -----------*x + ------*x + 1) - 2 4608 16 -0 - -3ieme solution : - - 2 - 13/27 ( - 32*x + 3)/(12*x ) 14 -x *e *x - - 90412648939865456 4 10833178373456 3 353835104 2 25336 -*(-------------------*x + ----------------*x + -----------*x + -------*x + 1) - 10460353203 43046721 59049 243 -0 - -4ieme solution : - - 2 - 1/54 (2*x + 3)/(3*x ) 10 -x *e *x - - 863316799848061 4 48578095525 3 7318955 2 1333 -*(-----------------*x - -------------*x + ---------*x - ------*x + 1) - 1338925209984 344373768 236196 243 -0 - - (sqrt(x)*sqrt(6) + 1)/x -4 -La solution numero 1 est e *x *( - - 1330595 - 1/2 173 - 1/2 174069763 2 - - ---------*sqrt(x)*6 *x - -----*sqrt(x)*6 + -----------*x - 96 2 4608 - - 9173 - + ------*x + 1) - 16 - - 3 -La partie reguliere du reste est de l'ordre de x**( - ---) - 2 - -Si on reporte cette solution dans l'equation, le terme significatif du reste - - 6740979385 (sqrt(x)*sqrt(6) + 1)/x - est : - ------------*e - 6144 - - 2 - 13/27 ( - 32*x + 3)/(12*x ) 14 -La solution numero 3 est x *e *x - - 90412648939865456 4 10833178373456 3 353835104 2 25336 -*(-------------------*x + ----------------*x + -----------*x + -------*x + 1) - 10460353203 43046721 59049 243 - - 526 -La partie reguliere du reste est de l'ordre de x**(-----) - 27 - -Si on reporte cette solution dans l'equation, le terme significatif du reste - - 2 - 409426546365146093644 13/27 ( - 32/3*x + 1)/(4*x ) 19 - est : - -----------------------*x *e *x - 847288609443 -(TIME: desir 20559 21919) +REDUCE 3.6, 15-Jul-95, patched to 6 Mar 96 ... + + +off echo; + + +Premier exemple: utilisation interactive sur une equation simple + +desir(); %appel de DESIR + + ATTENTION : chaque donnee doit etre suivie de ; ou de $ + + + + ***** INTRODUCTION DES DONNEES ***** + + + + L' equation est de la forme + + a(0)(x)d^0 + a(1)(x)d^1 + .... + a(n)(x)d^n = 0 + + ordre de l'equation ? + + Donner les coefficients a(j)(x), j = 0..n + +a(0) = 1 + +a(1) = x + +a(2) = x + + 6 +a(3) = x + + + +correction ? ( oui; / non; ) + +transformation ? (oui;/non;) + +nombre de termes desires pour la solution ? + + + +LES 3 SOLUTIONS CALCULEES SONT LES SUIVANTES + + + + ============== + + SOLUTION No 1 + + ============== + + 1 4 1 3 2 +x*(----*x - ---*x + x - 2*x + 2) + 12 3 + + + + ============== + + SOLUTION No 2 + + ============== + + 1 4 1 3 2 5 4 1 3 +---*log(x)*x - ---*log(x)*x + log(x)*x - log(x)*x - ----*x + ---*x - x + 1 + 6 2 36 4 + + + + ============== + + SOLUTION No 3 + + ============== + + 4 + 1/(4*x ) 10 361 4 1 3 1 2 +e *x *(-----*x + ---*x + ---*x + x + 1) + 24 6 2 + +voulez-vous continuer ? + +'non;' : la liste des solutions calculees est affichee (sous + + forme generalisee). + +'non$' : cette liste n'est pas affichee. + + 6 +{{{1,x,x,x }, + + 4 3 2 + xt - 4*xt + 12*xt - 24*xt + 24 + {{{{0,1,-----------------------------------,1},{}}}, + 12 + + 4 3 2 + {{{0,1,(6*log(xt)*xt - 18*log(xt)*xt + 36*log(xt)*xt - 36*log(xt)*xt + + 4 3 + - 5*xt + 9*xt - 36*xt + 36)/36,0},{}}}, + + 4 3 2 + 1 361*xt + 4*xt + 12*xt + 24*xt + 24 + {{{-------,1,---------------------------------------,10},{}}}}}} + 4 24 + 4*xt + +solvalide(first ws,1,4); + + 4 3 2 + x*(x - 4*x + 12*x - 24*x + 24) +La solution numero 1 est ----------------------------------- + 12 + +La partie reguliere du reste est de l'ordre de x**(5) + +Si on reporte cette solution dans l'equation, le terme significatif du reste + + 1 5 + est : ---*x + 2 + + 5 3 2 + x *(10*x - 16*x + 12*x + 1) +------------------------------- + 2 + +Le meme exemple en utilisation directe + +lcoeff:={1,x,x,x**6}; + + 6 +lcoeff := {1,x,x,x } + +param:={}; + +param := {} + +on trdesir; %obtention facultative d'une trace + +Time: 790 ms plus GC time: 150 ms +sol:=delire(x,4,1,lcoeff,param); + +0 -1 0 2 + +2 -1 4 1 + +Equation reduite : + + 6 + xt * DF(Y,XT,3) + + + xt * DF(Y,XT,2) + + + xt * DF(Y,XT,1) + + + 1 * Y + +Equation indicielle : lambd*(lambd - 1) + +Solution en l'indeterminee lambda : + + 4 6 4 2 +(xt *( - lambd + 5*lambd - 4*lambd + lambd + 4) + + 3 2 2 3 2 + + xt *( - lambd - 7*lambd - 12) + xt *(lambd + 9*lambd + 26*lambd + 24) + + 4 3 2 + + xt*( - lambd - 10*lambd - 35*lambd - 50*lambd - 24) + + 4 3 2 3 2 + + lambd*(lambd + 10*lambd + 35*lambd + 50*lambd + 24))/(lambd + 9*lambd + + + 26*lambd + 24) + + 2 -1 4 1 + +Equation caracteristique : 16*( - 4*&u + 1) + + 1 +Racine eq. carac. : --- + 4 + +0 -5 0 1 + +Equation reduite : + + 11 + xt * DF(Y,XT,3) + + + 6 + - 2*xt * DF(Y,XT,2) + + + 5 4 + xt*(xt + 15*xt + 1) * DF(Y,XT,1) + + + 5 4 + xt - 30*xt - xt - 10 * Y + +Equation indicielle : lambd - 10 + + 4 3 2 + xt - 4*xt + 12*xt - 24*xt + 24 +sol := {{{{0,1,-----------------------------------,1},{}}}, + 12 + + 4 3 2 + {{{0,1,(6*log(xt)*xt - 18*log(xt)*xt + 36*log(xt)*xt - 36*log(xt)*xt + + 4 3 + - 5*xt + 9*xt - 36*xt + 36)/36,0},{}}}, + + 4 3 2 + 1 361*xt + 4*xt + 12*xt + 24*xt + 24 + {{{-------,1,---------------------------------------,10},{}}}} + 4 24 + 4*xt + +showtime; %temps d'execution de 'delire' + +Time: 720 ms plus GC time: 120 ms +1ieme solution : + + 1 4 1 3 2 +x*(----*x - ---*x + x - 2*x + 2) + 12 3 +0 + +2ieme solution : + + 1 4 1 3 2 5 4 1 3 +---*log(x)*x - ---*log(x)*x + log(x)*x - log(x)*x - ----*x + ---*x - x + 1 + 6 2 36 4 +0 + +3ieme solution : + + 4 + 1/(4*x ) 10 361 4 1 3 1 2 +e *x *(-----*x + ---*x + ---*x + x + 1) + 24 6 2 +0 + +solvalide({lcoeff,sol},2,4)$ + + 1 4 1 3 2 +La solution numero 2 est ---*log(x)*x - ---*log(x)*x + log(x)*x - log(x)*x + 6 2 + + 5 4 1 3 + - ----*x + ---*x - x + 1 + 36 4 + +La partie reguliere du reste est de l'ordre de x**(4) + +Si on reporte cette solution dans l'equation, le terme significatif du reste + + 5 4 17 + est : ---*x *(log(x) + ----) + 6 30 + +solvalide({lcoeff,sol},3,4)$ + + 4 + 1/(4*xt ) 5 4 +a(1) = e *(xt - 30*xt - xt - 10) + + 4 + 1/(4*xt ) 5 4 +a(2) = e *xt*(xt + 15*xt + 1) + + 4 + 1/(4*xt ) 6 +a(3) = - 2*e *xt + + 4 + 1/(4*xt ) 11 +a(4) = e *xt + + 4 + 1/(4*x ) 10 361 4 1 3 1 2 +La solution numero 3 est e *x *(-----*x + ---*x + ---*x + x + 1) + 24 6 2 + +La partie reguliere du reste est de l'ordre de x**(10) + +Si on reporte cette solution dans l'equation, le terme significatif du reste + + 4 + 2137 1/(4*x ) 10 + est : - ------*e *x + 24 + +off trdesir; + +Deuxieme exemple : utilisation interactive, parametres et + +transformations + +desir(); + + ATTENTION : chaque donnee doit etre suivie de ; ou de $ + + + + ***** INTRODUCTION DES DONNEES ***** + + + + L' equation est de la forme + + a(0)(x)d^0 + a(1)(x)d^1 + .... + a(n)(x)d^n = 0 + + ordre de l'equation ? + + Donner les coefficients a(j)(x), j = 0..n + + 2 2 +a(0) = - nu + x + +a(1) = x + + 2 +a(2) = x + + + +correction ? ( oui; / non; ) + +nombre de parametres ? + +donner ce parametre : + +transformation ? (oui;/non;) + +nombre de termes desires pour la solution ? + + + +LES 2 SOLUTIONS CALCULEES SONT LES SUIVANTES + + + + ============== + + SOLUTION No 1 + + ============== + + nu 1 2 + x *(nu - ---*x + 1) + 4 +----------------------- + nu + 1 + +Si : + +2*nu non entier + + nu 2 2 + 2*x *nu *(4*nu - x + 4) +--------------------------- + nu + 1 + +Si : + +2*nu entier positif + + - nu 2 2 + 2*x *nu *(4*nu + x - 4) +------------------------------ + nu - 1 + +Si : + +2*nu entier negatif + + - nu 1 2 + x *(nu + ---*x - 1) + 4 +-------------------------- + nu - 1 + +Si : + +2*nu nul + + + + ============== + + SOLUTION No 2 + + ============== + + - nu 1 2 + x *(nu + ---*x - 1) + 4 +-------------------------- + nu - 1 + +Si : + +2*nu non entier + + - nu 2 1 2 1 2 +(x *(log(x)*nu + ---*log(x)*nu*x - 2*log(x)*nu - ---*log(x)*x + log(x) + 4 4 + + 1 2 1 2 2 + - ---*nu*x + ---*x ))/(nu - 2*nu + 1) + 8 4 + +Si : + +2*nu nul + +voulez-vous continuer ? + +'non;' : la liste des solutions calculees est affichee (sous + + forme generalisee). + +'non$' : cette liste n'est pas affichee. + +derivation : 1; + +changement de variable : 2; + +changement de fonction inconnue : 3; + +substitution : 4; + +valeur de x en fonction de la nouvelle variable v ? + +transformation ? (oui;/non;) + +nombre de termes desires pour la solution ? + + + +LES 2 SOLUTIONS CALCULEES SONT LES SUIVANTES + + + + ============== + + SOLUTION No 1 + + ============== + + i/x +sqrt(x)*e + + 1 -1 2 1 -1 1 4 2 5 2 2 9 2 +*( - ---*i *nu *x + ---*i *x - ---*nu *x + ----*nu *x - -----*x + 1) + 2 8 8 16 128 + + + + ============== + + SOLUTION No 2 + + ============== + + - i/x +sqrt(x)*e + + 1 -1 2 1 -1 1 4 2 5 2 2 9 2 +*(---*i *nu *x - ---*i *x - ---*nu *x + ----*nu *x - -----*x + 1) + 2 8 8 16 128 + +voulez-vous continuer ? + +'non;' : la liste des solutions calculees est affichee (sous + + forme generalisee). + +'non$' : cette liste n'est pas affichee. + +sol1:=first sol$ %solutions au voisinage de 0 + +sol2:=second sol$ %solutions au voisinage de l'infini + +solvalide(sol1,1,2)$ + +presence de solutions conditionnelles : + + cette procedure ne peut pas etre appelee. + +solvalide(sol2,1,2)$ + +La solution numero 1 est + + i/x 4 2 2 2 2 2 + sqrt(x)*e *( - 16*i*nu *x + 40*i*nu *x - 9*i*x + 128*i - 64*nu *x + 16*x) +-------------------------------------------------------------------------------- + 128*i + + 9 +La partie reguliere du reste est de l'ordre de x**(---) + 2 + +Si on reporte cette solution dans l'equation, le terme significatif du reste + + 1 i/x 4 6 35 4 259 2 225 + est : ---*sqrt(x)*e *x *(nu - ----*nu + -----*nu - -----) + 8 4 16 64 + +Remarque : la verification de la validite des solutions est possible + +malgre la presence d'un parametre (pas de condition). + +standsol(sol1); %=sol1...sans interet! + + 2 2 2 +{{ - nu + x ,x,x }, + + {}, + + 2 + 4*nu - xt + 4 + {{{{0,1,----------------,nu}, + 4*(nu + 1) + + {{2*nu,nonent,, sauf :,1}}}, + + 2 2 + 2*nu *(4*nu - xt + 4) + {{0,1,------------------------,nu}, + nu + 1 + + {{2*nu,entpos}}}, + + 2 2 + 2*nu *(4*nu + xt - 4) + {{0,1,------------------------, - nu}, + nu - 1 + + {{2*nu,entneg}}}, + + 2 + 4*nu + xt - 4 + {{0,1,----------------, - nu}, + 4*(nu - 1) + + {{2*nu,entnul}}}}, + + 2 + 4*nu + xt - 4 + {{{0,1,----------------, - nu}, + 4*(nu - 1) + + {{2*nu,nonent,, sauf :,1}}}, + + {{0, + + 1, + + 6 5 5 + (log(xt)*lambd + 4*log(xt)*lambd *nu + 8*log(xt)*lambd + + 4 2 4 4 2 + + log(xt)*lambd *nu + 32*log(xt)*lambd *nu - log(xt)*lambd *xt + + 4 3 3 3 2 + + 24*log(xt)*lambd - 8*log(xt)*lambd *nu + 16*log(xt)*lambd *nu + + 3 2 3 3 2 + - 4*log(xt)*lambd *nu*xt + 96*log(xt)*lambd *nu - 4*log(xt)*lambd *xt + + 3 2 4 2 3 + + 32*log(xt)*lambd - 5*log(xt)*lambd *nu - 32*log(xt)*lambd *nu + + 2 2 2 2 2 + - 2*log(xt)*lambd *nu *xt + 64*log(xt)*lambd *nu + + 2 2 2 2 2 + - 16*log(xt)*lambd *nu*xt + 128*log(xt)*lambd *nu - 4*log(xt)*lambd *xt + + 2 5 4 + + 16*log(xt)*lambd + 4*log(xt)*lambd*nu - 24*log(xt)*lambd*nu + + 3 2 3 + + 4*log(xt)*lambd*nu *xt - 32*log(xt)*lambd*nu + + 2 2 2 + - 12*log(xt)*lambd*nu *xt + 96*log(xt)*lambd*nu + + 2 6 + - 16*log(xt)*lambd*nu*xt + 64*log(xt)*lambd*nu + 3*log(xt)*nu + + 4 2 4 2 2 + + 3*log(xt)*nu *xt - 24*log(xt)*nu - 12*log(xt)*nu *xt + + 2 5 4 4 3 2 + + 48*log(xt)*nu + 2*lambd + 4*lambd *nu + 16*lambd - 4*lambd *nu + + 3 3 2 3 2 2 + + 32*lambd *nu + 48*lambd - 8*lambd *nu - 16*lambd *nu + + 2 2 2 2 2 2 4 + + 4*lambd *nu*xt + 96*lambd *nu - 4*lambd *xt + 64*lambd + 2*lambd*nu + + 3 2 2 2 + - 32*lambd*nu + 8*lambd*nu *xt - 16*lambd*nu + 128*lambd*nu + + 2 5 3 2 3 2 2 + - 8*lambd*xt + 32*lambd + 4*nu + 4*nu *xt - 32*nu + 12*nu *xt + + 2 4 3 2 2 2 + - 16*nu*xt + 64*nu)/(lambd + 8*lambd - 2*lambd *nu + 24*lambd + + 2 4 2 + - 8*lambd*nu + 32*lambd + nu - 8*nu + 16), + + - nu}, + + {{2*nu,entpos}}}, + + {{0, + + 1, + + 6 5 5 + (log(xt)*lambd - 4*log(xt)*lambd *nu + 8*log(xt)*lambd + + 4 2 4 4 2 + + log(xt)*lambd *nu - 32*log(xt)*lambd *nu - log(xt)*lambd *xt + + 4 3 3 3 2 + + 24*log(xt)*lambd + 8*log(xt)*lambd *nu + 16*log(xt)*lambd *nu + + 3 2 3 3 2 + + 4*log(xt)*lambd *nu*xt - 96*log(xt)*lambd *nu - 4*log(xt)*lambd *xt + + 3 2 4 2 3 + + 32*log(xt)*lambd - 5*log(xt)*lambd *nu + 32*log(xt)*lambd *nu + + 2 2 2 2 2 + - 2*log(xt)*lambd *nu *xt + 64*log(xt)*lambd *nu + + 2 2 2 2 2 + + 16*log(xt)*lambd *nu*xt - 128*log(xt)*lambd *nu - 4*log(xt)*lambd *xt + + 2 5 4 + + 16*log(xt)*lambd - 4*log(xt)*lambd*nu - 24*log(xt)*lambd*nu + + 3 2 3 + - 4*log(xt)*lambd*nu *xt + 32*log(xt)*lambd*nu + + 2 2 2 + - 12*log(xt)*lambd*nu *xt + 96*log(xt)*lambd*nu + + 2 6 + + 16*log(xt)*lambd*nu*xt - 64*log(xt)*lambd*nu + 3*log(xt)*nu + + 4 2 4 2 2 + + 3*log(xt)*nu *xt - 24*log(xt)*nu - 12*log(xt)*nu *xt + + 2 5 4 4 3 2 + + 48*log(xt)*nu + 2*lambd - 4*lambd *nu + 16*lambd - 4*lambd *nu + + 3 3 2 3 2 2 + - 32*lambd *nu + 48*lambd + 8*lambd *nu - 16*lambd *nu + + 2 2 2 2 2 2 4 + - 4*lambd *nu*xt - 96*lambd *nu - 4*lambd *xt + 64*lambd + 2*lambd*nu + + 3 2 2 2 + + 32*lambd*nu + 8*lambd*nu *xt - 16*lambd*nu - 128*lambd*nu + + 2 5 3 2 3 2 2 + - 8*lambd*xt + 32*lambd - 4*nu - 4*nu *xt + 32*nu + 12*nu *xt + + 2 4 3 2 2 2 + + 16*nu*xt - 64*nu)/(lambd + 8*lambd - 2*lambd *nu + 24*lambd + + 2 4 2 + - 8*lambd*nu + 32*lambd + nu - 8*nu + 16), + + nu}, + + {{2*nu,entneg}}}, + + {{0, + + 1, + + 2 2 2 + (8*log(xt)*nu + 2*log(xt)*nu*xt - 16*log(xt)*nu - 2*log(xt)*xt + + 2 2 2 + + 8*log(xt) - nu*xt + 2*xt )/(8*(nu - 2*nu + 1)), + + - nu}, + + {{2*nu,entnul}}}}}} + +standsol(sol2); %solutions retournees sous forme standard. + + 2 2 3 4 +{{ - nu *x + 1,x ,x }, + + i/x + {(sqrt(x)*e + + 4 2 2 2 2 2 + *( - 16*i*nu *x + 40*i*nu *x - 9*i*x + 128*i - 64*nu *x + 16*x))/(128*i), + + 4 2 2 2 2 2 + sqrt(x)*( - 16*i*nu *x + 40*i*nu *x - 9*i*x + 128*i + 64*nu *x - 16*x) + ---------------------------------------------------------------------------}, + i/x + 128*e *i + + {}} + +Pour revoir les solutions au voisinage de 0 : + +for each elt in second sol1 do + + <>; + +1ieme solution + + nu 2 + x *(4*nu - x + 4) +--------------------- + 4*(nu + 1) + +Si : + +2*nu non entier + + nu 2 2 + 2*x *nu *(4*nu - x + 4) +--------------------------- + nu + 1 + +Si : + +2*nu entier positif + + 2 2 + 2*nu *(4*nu + x - 4) +----------------------- + nu + x *(nu - 1) + +Si : + +2*nu entier negatif + + 2 + 4*nu + x - 4 +---------------- + nu + 4*x *(nu - 1) + +Si : + +2*nu nul + +2ieme solution + + 2 + 4*nu + x - 4 +---------------- + nu + 4*x *(nu - 1) + +Si : + +2*nu non entier + + 2 2 2 2 +(8*log(x)*nu + 2*log(x)*nu*x - 16*log(x)*nu - 2*log(x)*x + 8*log(x) - nu*x + + 2 nu 2 + + 2*x )/(8*x *(nu - 2*nu + 1)) + +Si : + +2*nu nul + +Evaluation des solns au voisinage de 0 pour une valeur particuliere + +du parametre : + +sorparam(sol1,{nu});%evaluation des solutions au voisinage de 0 + + %pour une valeur particuliere du parametre + + %nu = 1 + + %ecriture et retour des solutions sous forme + + %standard + +donner la valeur du parametre nu + + + + ============== + + SOLUTION No 1 + + ============== + + 2 +x*( - x + 8) + + + + ============== + + SOLUTION No 2 + + ============== + + 2 + - log(x)*x + 2 +------------------ + x + + 2 2 +{{x - 1,x,x }, + + 2 + 2 - log(x)*x + 2 + {x*( - x + 8),------------------}} + x + +solparam(sol1,{nu},{1}); + + 2 2 +{{x - 1,x,x }, + + 2 + {{{{0,1, - xt + 8,1},{}}}, + + 2 + {{{0,1, - log(xt)*xt + 2,-1},{}}}}} + +Meme fonction avec retour des solutions sous forme generalisee, + +ce qui permet d'enchainer : + +solvalide(ws,1,2)$ + + 2 +La solution numero 1 est x*( - x + 8) + +La partie reguliere du reste est de l'ordre de x**(4) + +Si on reporte cette solution dans l'equation, le terme significatif du reste + + 5 + est : - x + +L'exemple suivant a ete cree specialement pour tester l'algorithme + +et utiliser un grand nombre de procedures : + +lcoeff := {x + 1, + + 2 + 2*x *(x + 1), + + 4 + x , + + 7 + 5*x + ------, + 2 + + 10 + x } + +param := {} + +Time: 4830 ms plus GC time: 310 ms +sol:=delire(x,4,1,lcoeff,param); + +Time: 4580 ms plus GC time: 290 ms +1ieme solution : + + (sqrt(x)*sqrt(6) + 1)/x -4 1330595 - 1/2 +e *x *( - ---------*sqrt(x)*6 *x + 96 + + 173 - 1/2 174069763 2 9173 + - -----*sqrt(x)*6 + -----------*x + ------*x + 1) + 2 4608 16 +0 + +2ieme solution : + + ( - sqrt(x)*sqrt(6) + 1)/x -4 1330595 - 1/2 +e *x *(---------*sqrt(x)*6 *x + 96 + + 173 - 1/2 174069763 2 9173 + + -----*sqrt(x)*6 + -----------*x + ------*x + 1) + 2 4608 16 +0 + +3ieme solution : + + 2 + 13/27 ( - 32*x + 3)/(12*x ) 14 +x *e *x + + 90412648939865456 4 10833178373456 3 353835104 2 25336 +*(-------------------*x + ----------------*x + -----------*x + -------*x + 1) + 10460353203 43046721 59049 243 +0 + +4ieme solution : + + 2 + 1/54 (2*x + 3)/(3*x ) 10 +x *e *x + + 863316799848061 4 48578095525 3 7318955 2 1333 +*(-----------------*x - -------------*x + ---------*x - ------*x + 1) + 1338925209984 344373768 236196 243 +0 + + (sqrt(x)*sqrt(6) + 1)/x -4 +La solution numero 1 est e *x *( + + 1330595 - 1/2 173 - 1/2 174069763 2 + - ---------*sqrt(x)*6 *x - -----*sqrt(x)*6 + -----------*x + 96 2 4608 + + 9173 + + ------*x + 1) + 16 + + 3 +La partie reguliere du reste est de l'ordre de x**( - ---) + 2 + +Si on reporte cette solution dans l'equation, le terme significatif du reste + + 6740979385 (sqrt(x)*sqrt(6) + 1)/x + est : - ------------*e + 6144 + + 2 + 13/27 ( - 32*x + 3)/(12*x ) 14 +La solution numero 3 est x *e *x + + 90412648939865456 4 10833178373456 3 353835104 2 25336 +*(-------------------*x + ----------------*x + -----------*x + -------*x + 1) + 10460353203 43046721 59049 243 + + 526 +La partie reguliere du reste est de l'ordre de x**(-----) + 27 + +Si on reporte cette solution dans l'equation, le terme significatif du reste + + 2 + 409426546365146093644 13/27 ( - 32/3*x + 1)/(4*x ) 19 + est : - -----------------------*x *e *x + 847288609443 +(TIME: desir 20559 21919)