Artifact 4e2f00a7d2b18342a0513589a79c2bd87f00cff46854b0c2de912bd8b65fea44:
- File
r34.1/lib/desir.log
— part of check-in
[f2fda60abd]
at
2011-09-02 18:13:33
on branch master
— Some historical releases purely for archival purposes
git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk/historical@1375 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: arthurcnorman@users.sourceforge.net, size: 22441) [annotate] [blame] [check-ins using] [more...]
REDUCE 3.4.1, 15-Jul-92 ... 1: DESIR : solutions formelles d'equations differentielles lineaires homogenes au voisinage de zero, point singulier regulier ou irregulier, ou point regulier Version 3.1 - Septembre 1989 Appel par desir(); (DESIR) 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 ---*LOG(X)*X - ---*LOG(X)*X + LOG(X)*X - LOG(X)*X - ----*X 6 2 36 1 3 + ---*X - X + 1 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 4 3 - 36*LOG(XT)*XT - 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 1 5 significatif du reste 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: 1819 ms sol:=delire(x,4,1,lcoeff,param); 0 -1 0 2 2 -1 4 1 f(0) = LAMBD*(LAMBD - 1) 2 -1 4 1 0 -5 0 1 f(0) = 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 4 3 - 36*LOG(XT)*XT - 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: 969 ms plus GC time: 119 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 ---*LOG(X)*X - ---*LOG(X)*X + LOG(X)*X - LOG(X)*X - ----*X 6 2 36 1 3 + ---*X - X + 1 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)$ 4 1/(4*X ) 10 La solution numero 3 est E *X 361 4 1 3 1 2 *(-----*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 4 2137 1/(4*X ) 10 significatif du reste est : - ------*E *X 24 solvalide({lcoeff,sol},3,4)$ 4 1/(4*X ) 10 La solution numero 3 est E *X 361 4 1 3 1 2 *(-----*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 4 2137 1/(4*X ) 10 significatif du reste 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) = X - NU 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 *(---*X + NU - 1) 4 -------------------------- NU - 1 Si : - 2*NU non entier - NU 2 2 2*X *NU *(X + 4*NU - 4) ------------------------------ NU - 1 Si : - 2*NU entier positif NU 2 2 2*X *NU *( - X + 4*NU + 4) ------------------------------ NU + 1 Si : - 2*NU entier negatif NU 1 2 X *( - ---*X + NU + 1) 4 -------------------------- NU + 1 Si : - 2*NU nul ============== SOLUTION No 2 ============== NU 1 2 X *( - ---*X + NU + 1) 4 -------------------------- NU + 1 Si : - 2*NU non entier NU 1 2 1 2 2 (X *( - ---*LOG(X)*X *NU - ---*LOG(X)*X + LOG(X)*NU + 2*LOG(X)*NU 4 4 1 2 1 2 2 + LOG(X) + ---*X *NU + ---*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 ? 2 2 a(0) = - V *NU + 1 3 a(1) = V 4 a(2) = V transformation ? (oui;/non;) nombre de termes desires pour la solution ? LES 2 SOLUTIONS CALCULEES SONT LES SUIVANTES ============== SOLUTION No 1 ============== - I/X 1 -1 2 1 -1 1 2 4 5 2 2 SQRT(X)*E *(---*I *X*NU - ---*I *X - ---*X *NU + ----*X *NU 2 8 8 16 9 2 - -----*X + 1) 128 ============== SOLUTION No 2 ============== I/X 1 -1 2 1 -1 1 2 4 5 2 2 SQRT(X)*E *( - ---*I *X*NU + ---*I *X - ---*X *NU + ----*X *NU 2 8 8 16 9 2 - -----*X + 1) 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 (SQRT(X) 2 4 2 2 2 2 *( - 16*I*X *NU + 40*I*X *NU - 9*I*X + 128*I + 64*X*NU - 16*X) I/X )/(128*E *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 est : 1 4 6 35 4 259 2 225 ---*SQRT(X)*X *(NU - ----*NU + -----*NU - -----) 8 4 16 64 ----------------------------------------------------- I/X E 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 {{X - NU ,X,X }, {}, 2 XT + 4*NU - 4 {{{{0,1,----------------, - NU}, 4*(NU - 1) { - 2*NU,NONENT,, sauf :,1}}, 2 2 2*NU *(XT + 4*NU - 4) {{0,1,------------------------, - NU}, NU - 1 { - 2*NU,ENTPOS}}, 2 2 2*NU *( - XT + 4*NU + 4) {{0,1,---------------------------,NU}, NU + 1 { - 2*NU,ENTNEG}}, 2 - XT + 4*NU + 4 {{0,1,-------------------,NU}, 4*(NU + 1) { - 2*NU,ENTNUL}}}, 2 - XT + 4*NU + 4 {{{0,1,-------------------,NU}, 4*(NU + 1) { - 2*NU,NONENT,, sauf :,1}}, {{0, 1, 2 4 2 3 ( - LOG(XT)*XT *LAMBD + 4*LOG(XT)*XT *LAMBD *NU 2 3 2 2 2 - 4*LOG(XT)*XT *LAMBD - 2*LOG(XT)*XT *LAMBD *NU 2 2 2 2 + 16*LOG(XT)*XT *LAMBD *NU - 4*LOG(XT)*XT *LAMBD 2 3 2 2 - 4*LOG(XT)*XT *LAMBD*NU - 12*LOG(XT)*XT *LAMBD*NU 2 2 4 + 16*LOG(XT)*XT *LAMBD*NU + 3*LOG(XT)*XT *NU 2 2 6 5 - 12*LOG(XT)*XT *NU + LOG(XT)*LAMBD - 4*LOG(XT)*LAMBD *NU 5 4 2 4 + 8*LOG(XT)*LAMBD + LOG(XT)*LAMBD *NU - 32*LOG(XT)*LAMBD *NU 4 3 3 + 24*LOG(XT)*LAMBD + 8*LOG(XT)*LAMBD *NU 3 2 3 + 16*LOG(XT)*LAMBD *NU - 96*LOG(XT)*LAMBD *NU 3 2 4 + 32*LOG(XT)*LAMBD - 5*LOG(XT)*LAMBD *NU 2 3 2 2 + 32*LOG(XT)*LAMBD *NU + 64*LOG(XT)*LAMBD *NU 2 2 - 128*LOG(XT)*LAMBD *NU + 16*LOG(XT)*LAMBD 5 4 - 4*LOG(XT)*LAMBD*NU - 24*LOG(XT)*LAMBD*NU 3 2 + 32*LOG(XT)*LAMBD*NU + 96*LOG(XT)*LAMBD*NU 6 4 - 64*LOG(XT)*LAMBD*NU + 3*LOG(XT)*NU - 24*LOG(XT)*NU 2 2 2 2 2 + 48*LOG(XT)*NU - 4*XT *LAMBD *NU - 4*XT *LAMBD 2 2 2 2 3 2 2 + 8*XT *LAMBD*NU - 8*XT *LAMBD - 4*XT *NU + 12*XT *NU 2 5 4 4 + 16*XT *NU + 2*LAMBD - 4*LAMBD *NU + 16*LAMBD 3 2 3 3 2 3 - 4*LAMBD *NU - 32*LAMBD *NU + 48*LAMBD + 8*LAMBD *NU 2 2 2 2 4 - 16*LAMBD *NU - 96*LAMBD *NU + 64*LAMBD + 2*LAMBD*NU 3 2 + 32*LAMBD*NU - 16*LAMBD*NU - 128*LAMBD*NU + 32*LAMBD 5 3 4 3 2 2 - 4*NU + 32*NU - 64*NU)/(LAMBD + 8*LAMBD - 2*LAMBD *NU 2 2 4 2 + 24*LAMBD - 8*LAMBD*NU + 32*LAMBD + NU - 8*NU + 16), NU}, { - 2*NU,ENTPOS}}, {{0, 1, 2 4 2 3 ( - LOG(XT)*XT *LAMBD - 4*LOG(XT)*XT *LAMBD *NU 2 3 2 2 2 - 4*LOG(XT)*XT *LAMBD - 2*LOG(XT)*XT *LAMBD *NU 2 2 2 2 - 16*LOG(XT)*XT *LAMBD *NU - 4*LOG(XT)*XT *LAMBD 2 3 2 2 + 4*LOG(XT)*XT *LAMBD*NU - 12*LOG(XT)*XT *LAMBD*NU 2 2 4 - 16*LOG(XT)*XT *LAMBD*NU + 3*LOG(XT)*XT *NU 2 2 6 5 - 12*LOG(XT)*XT *NU + LOG(XT)*LAMBD + 4*LOG(XT)*LAMBD *NU 5 4 2 4 + 8*LOG(XT)*LAMBD + LOG(XT)*LAMBD *NU + 32*LOG(XT)*LAMBD *NU 4 3 3 + 24*LOG(XT)*LAMBD - 8*LOG(XT)*LAMBD *NU 3 2 3 + 16*LOG(XT)*LAMBD *NU + 96*LOG(XT)*LAMBD *NU 3 2 4 + 32*LOG(XT)*LAMBD - 5*LOG(XT)*LAMBD *NU 2 3 2 2 - 32*LOG(XT)*LAMBD *NU + 64*LOG(XT)*LAMBD *NU 2 2 + 128*LOG(XT)*LAMBD *NU + 16*LOG(XT)*LAMBD 5 4 + 4*LOG(XT)*LAMBD*NU - 24*LOG(XT)*LAMBD*NU 3 2 - 32*LOG(XT)*LAMBD*NU + 96*LOG(XT)*LAMBD*NU 6 4 + 64*LOG(XT)*LAMBD*NU + 3*LOG(XT)*NU - 24*LOG(XT)*NU 2 2 2 2 2 + 48*LOG(XT)*NU + 4*XT *LAMBD *NU - 4*XT *LAMBD 2 2 2 2 3 2 2 + 8*XT *LAMBD*NU - 8*XT *LAMBD + 4*XT *NU + 12*XT *NU 2 5 4 4 - 16*XT *NU + 2*LAMBD + 4*LAMBD *NU + 16*LAMBD 3 2 3 3 2 3 - 4*LAMBD *NU + 32*LAMBD *NU + 48*LAMBD - 8*LAMBD *NU 2 2 2 2 4 - 16*LAMBD *NU + 96*LAMBD *NU + 64*LAMBD + 2*LAMBD*NU 3 2 - 32*LAMBD*NU - 16*LAMBD*NU + 128*LAMBD*NU + 32*LAMBD 5 3 4 3 2 2 + 4*NU - 32*NU + 64*NU)/(LAMBD + 8*LAMBD - 2*LAMBD *NU 2 2 4 2 + 24*LAMBD - 8*LAMBD*NU + 32*LAMBD + NU - 8*NU + 16), - NU}, { - 2*NU,ENTNEG}}, {{0, 1, 2 2 2 ( - 2*LOG(XT)*XT *NU - 2*LOG(XT)*XT + 8*LOG(XT)*NU 2 2 + 16*LOG(XT)*NU + 8*LOG(XT) + XT *NU + 2*XT )/(8 2 *(NU + 2*NU + 1)), NU}, { - 2*NU,ENTNUL}}}}} standsol(sol2); %solutions retournees sous forme standard. 2 2 3 4 {{ - X *NU + 1,X ,X }, {(SQRT(X) 2 4 2 2 2 2 *( - 16*I*X *NU + 40*I*X *NU - 9*I*X + 128*I + 64*X*NU - 16*X) I/X )/(128*E *I), I/X (SQRT(X)*E 2 4 2 2 2 2 *( - 16*I*X *NU + 40*I*X *NU - 9*I*X + 128*I - 64*X*NU + 16*X) )/(128*I)}, {}} Pour revoir les solutions au voisinage de 0 : for each elt in second sol1 do <<j:=j+1;write j,'ieme solution';sorsol(elt);>>; 1ieme solution 2 X + 4*NU - 4 ---------------- NU 4*X *(NU - 1) Si : - 2*NU non entier 2 2 2*NU *(X + 4*NU - 4) ----------------------- NU X *(NU - 1) Si : - 2*NU entier positif NU 2 2 2*X *NU *( - X + 4*NU + 4) ------------------------------ NU + 1 Si : - 2*NU entier negatif NU 2 X *( - X + 4*NU + 4) ------------------------ 4*(NU + 1) Si : - 2*NU nul 2ieme solution NU 2 X *( - X + 4*NU + 4) ------------------------ 4*(NU + 1) Si : - 2*NU non entier NU 2 2 2 (X *( - 2*LOG(X)*X *NU - 2*LOG(X)*X + 8*LOG(X)*NU + 16*LOG(X)*NU 2 2 2 + 8*LOG(X) + X *NU + 2*X ))/(8*(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 5 significatif du reste 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: 10149 ms plus GC time: 561 ms sol:=delire(x,4,1,lcoeff,param); Time: 7786 ms plus GC time: 595 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 90412648939865456 4 X *E *X *(-------------------*X 10460353203 10833178373456 3 353835104 2 25336 + ----------------*X + -----------*X + -------*X + 1) 43046721 59049 243 0 4ieme solution : 2 1/54 (2*X + 3)/(3*X ) 10 863316799848061 4 48578095525 3 X *E *X *(-----------------*X - -------------*X 1338925209984 344373768 7318955 2 1333 + ---------*X - ------*X + 1) 236196 243 0 (SQRT(X)*SQRT(6) + 1)/X -4 La solution numero 1 est E *X *( 1330595 - 1/2 173 - 1/2 - ---------*SQRT(X)*6 *X - -----*SQRT(X)*6 96 2 174069763 2 9173 + -----------*X + ------*X + 1) 4608 16 3 La partie reguliere du reste est de l'ordre de x** - --- 2 Si on reporte cette solution dans l'equation, le terme 6740979385 (SQRT(X)*SQRT(6) + 1)/X significatif du reste 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 -------------------*X + ----------------*X + -----------*X 10460353203 43046721 59049 25336 + -------*X + 1) 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 est : 2 409426546365146093644 13/27 ( - 32/3*X + 1)/(4*X ) 19 - -----------------------*X *E *X 847288609443 Time: 10948 ms plus GC time: 833 ms Quitting