Télécharger jacod3.eso

Retour à la liste

Numérotation des lignes :

  1. C JACOD3 SOURCE CHAT 05/01/13 00:48:32 5004
  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. dimension a(3,3),d(3),x(3,3)
  22. if (idim.ne.3) then
  23. call jacob2(a,d,x)
  24. return
  25. endif
  26. c3=-1
  27. c2=a(1,1)+a(2,2)+a(3,3)
  28. c1=-(a(1,1)*a(2,2)+a(2,2)*a(3,3)+a(3,3)*a(1,1))+
  29. > a(1,3)**2+a(1,2)**2+a(2,3)**2
  30. c0=2*a(1,2)*a(1,3)*a(2,3)-a(1,1)*a(2,3)**2-
  31. > a(2,2)*a(1,3)**2-a(3,3)*a(1,2)**2+
  32. > a(1,1)*a(2,2)*a(3,3)
  33. c0=c0/c3
  34. c1=c1/c3
  35. c2=c2/c3
  36. call degre3(c0,c1,c2,d1,XI1,d2,XI2,d3,XI3)
  37. d(1)=max(d1,d2,d3)
  38. d(3)=min(d1,d2,d3)
  39. d(2)=d1+d2+d3-d(1)-d(3)
  40. end
  41. *
  42.  
  43.  
  44.  

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