Télécharger jacod3.eso

Retour à la liste

Numérotation des lignes :

  1. C JACOD3 SOURCE CB215821 18/09/21 21:16:03 9930
  2. subroutine jacod3(a,idim,d)
  3. C======================================================================
  4. C OBJET
  5. C -----
  6. C DIAGONALISATION D UNE MATRICE 3*3 SYMETRIQUE
  7. C sans sortir les vecteurs propres
  8. C
  9. C ENTREES
  10. C -------
  11. C A(3,3) = MATRICE SYMETRIQUE
  12. C IDIM = 2 OU 3 SI 2 ON NE S OCCUPE QUE DE A(2,2)
  13. C SI 3 DE A(3,3)
  14. C SORTIES
  15. C -------
  16. C D(3) = VALEURS PROPRES ORDONNEES D(1)>D(2)>D(3)
  17. C
  18. C===============================================================
  19. IMPLICIT INTEGER(I-N)
  20. IMPLICIT REAL*8 (A-H,O-Z)
  21.  
  22. dimension a(3,3),d(3),x(3,3)
  23.  
  24. if (idim.ne.3) then
  25. call jacob2(a,d,x)
  26. return
  27. endif
  28.  
  29. c3=-1
  30. c2=-a(1,1)-a(2,2)-a(3,3)
  31.  
  32. c1=(a(1,1)*a(2,2)+a(2,2)*a(3,3)+a(3,3)*a(1,1)) -
  33. > (a(1,3)**2 + a(1,2)**2 + a(2,3)**2)
  34.  
  35. c0=-2.D0*a(1,2)*a(1,3)*a(2,3) +
  36. > (a(1,1)*a(2,3)**2 + a(2,2)*a(1,3)**2 + a(3,3)*a(1,2)**2) -
  37. > a(1,1)*a(2,2)*a(3,3)
  38.  
  39. call degre3(c0,c1,c2,d1,XI1,d2,XI2,d3,XI3)
  40. d(1)=max(d1,d2,d3)
  41. d(3)=min(d1,d2,d3)
  42. d(2)=d1+d2+d3-d(1)-d(3)
  43.  
  44. end
  45.  
  46.  
  47.  

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