Télécharger jacob2.eso

Retour à la liste

Numérotation des lignes :

  1. C JACOB2 SOURCE FANDEUR 12/03/15 21:26:29 7312
  2. SUBROUTINE JACOB2(A,D,S)
  3. C=====================================================================
  4. C
  5. C DIAGONALISATION DE A SYMETRIQUE
  6. C ENTREEES
  7. C A(3,3) = MATRICE A DIAGONALISER A(1,3)=A(2,3)=0.
  8. C A(3,1)=A(3,2)=0.
  9. C SORTIES
  10. C D(3) = LES 3 VALEURS PROPRES D(1) > D(2) ET D(3)=A(3,3)
  11. C S(3,3) = VECTEURS PROPRES S(I,3)=0. 0. 1.
  12. C
  13. C RECUPERATION INCA FEVRIER 85 EBERSOLT
  14. C====================================================================
  15. IMPLICIT INTEGER(I-N)
  16. IMPLICIT REAL*8(A-H,O-Z)
  17. C
  18. DIMENSION A(3,*),D(*),S(3,*)
  19. C
  20. C Valeur particuliere : SQRT(2.)*0.5 = 1/SQRT(2.)
  21. PARAMETER ( X1sr2 = 0.70710678118654752440084436210484904D0 )
  22. C
  23. X1 =2.*A(1,2)
  24. X2 =A(1,1)-A(2,2)
  25. X3 =SQRT(X2*X2+X1*X1)
  26. D(1)=0.5*(A(1,1)+A(2,2)+X3)
  27. D(2)=D(1)-X3
  28. D(3)=A(3,3)
  29. S(3,1)=0.
  30. S(3,2)=0.
  31. S(1,3)=0.
  32. S(2,3)=0.
  33. S(3,3)=1.
  34. C
  35. IF(X2.EQ.0.) GOTO 70
  36. X4=X1/X2
  37. IF(ABS(X4).LT.1.E+10) GOTO 50
  38. C
  39. 70 CONTINUE
  40. X5 = X1sr2
  41. S(1,1)=X5
  42. S(2,1)=SIGN(X5,X1)
  43. S(1,2)=-S(2,1)
  44. S(2,2)=X5
  45. GOTO 100
  46. C
  47. 50 CONTINUE
  48. X5=1. + X4*X4
  49. X5=SIGN(1.D0,X2)/SQRT(X5)
  50. X6=(1.+X5)*.5
  51. X6=SQRT(X6)
  52. X7=(1.-X5)*.5
  53. X7=SIGN(1.D0,X1)*SQRT(X7)
  54. S(1,1)= X6
  55. S(2,1)= X7
  56. S(1,2)=-X7
  57. S(2,2)= X6
  58. 100 RETURN
  59. END
  60.  
  61.  
  62.  

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