Télécharger derqp2.eso

Retour à la liste

Numérotation des lignes :

derqp2
  1. C DERQP2 SOURCE CHAT 05/01/12 22:43:10 5004
  2. SUBROUTINE DERQP2(P, IVAR, DP)
  3. C
  4. C Procedure de multiplication de 2 polynomes de 2 variables
  5. C Entree : P(30) : premier polynome : les coefficients sont
  6. C ranges comme suit :
  7. C indice : 1 2 3 4 5 6 7 8 9
  8. C terme : 1 T1 T2 T1*T2 T1^2 T2^2 T1*T2^2 T1^2*T2 T1^3
  9. C indice : 10 11 12 13 14 15
  10. C terme : T2^3 T1*T2^3 T1^2*T2^2 T1^3*T2^3 T1^4 T2^4
  11. C indice : 16 17 18 19 20 21
  12. C terme : T1*T2^4 T1^2*T2^3 T1^3*T2^2 T1^4*T2 T1^5 T2^5
  13. C indice : 22 23 24 25 26
  14. C terme : T1*T2^5 T1^2*T2^4 T1^3*T2^3 T1^4*T2^2 T1^5*T2
  15. C indice : 27 28 29 30
  16. C terme : T1^2*T2^5 T1^3*T2^4 T1^4*T2^3 T1^5*T2^2
  17. C IVAR : numero de la variable par rapport a laquelle il
  18. C faut deriver
  19. C Sortie : DP(30) : polynome resultat de la derivation
  20. C
  21. IMPLICIT INTEGER(I-N)
  22. IMPLICIT REAL*8(A-H,O-Z)
  23. DIMENSION P(30), DP(30), INXD1(30), INXD2(30), C1(30), C2(30)
  24. DATA INXD1/ 1, 1, 1, 3, 2, 1, 6, 4, 5, 1, 10, 7, 8, 9, 1, 1,
  25. 1 11, 12, 13, 14, 1, 21, 16, 17, 18, 19, 22, 23, 24, 25/
  26. DATA C1/0.D0, 1.D0, 0.D0, 1.D0, 2.D0, 0.D0, 1.D0, 2.D0, 3.D0,
  27. 1 0.D0, 1.D0, 2.D0, 3.D0, 4.D0,
  28. 1 0.D0, 1.D0, 2.D0, 3.D0, 4.D0, 5.D0, 0.D0, 1.D0, 2.D0,
  29. 1 3.D0, 4.D0, 5.D0, 2.D0, 3.D0, 4.D0, 5.D0/
  30. DATA INXD2/ 1, 1, 1, 2, 1, 3, 4, 5, 1, 6, 7, 8, 9, 1, 10, 11,
  31. 1 12, 13, 14, 1, 15, 16, 17, 18, 19, 20, 23, 24, 25, 26/
  32. DATA C2/0.D0, 0.D0, 1.D0, 1.D0, 0.D0, 2.D0, 2.D0, 1.D0, 0.D0,
  33. 1 3.D0, 3.D0, 2.D0, 1.D0, 0.D0,
  34. 1 4.D0, 4.D0, 3.D0, 2.D0, 1.D0, 0.D0, 5.D0, 5.D0, 4.D0,
  35. 1 3.D0, 2.D0, 1.D0, 5.D0, 4.D0, 3.D0, 2.D0/
  36. C
  37. C Initialisation du polynome resultat
  38. C
  39. DO 70 I = 1, 30
  40. 70 DP(I) = 0.D0
  41. C
  42. C Derivation de P
  43. C
  44. IF (IVAR .EQ. 1) THEN
  45. DO 80 I = 2, 30
  46. 80 DP(INXD1(I)) = DP(INXD1(I)) + C1(I)*P(I)
  47. ELSE
  48. IF (IVAR .EQ. 2) THEN
  49. DO 90 I = 2, 30
  50. 90 DP(INXD2(I)) = DP(INXD2(I)) + C2(I)*P(I)
  51. ENDIF
  52. ENDIF
  53. RETURN
  54. END
  55.  
  56.  
  57.  
  58.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales