Télécharger sychom.eso

Retour à la liste

Numérotation des lignes :

sychom
  1. C SYCHOM SOURCE CHAT 05/01/13 03:28:37 5004
  2. SUBROUTINE SYCHOM(ZMAT,IMAX)
  3. C
  4. C Résolution de l'équation matricielle C = L D LT
  5. C par la méthode de CHOlesky Modifiée
  6. C C : Matrice symétrique définie positive
  7. C L : Matrice triangulaire inférieure de diagonale unité
  8. C D : Matrice diagonale
  9. C LT : Matrice transposée de L
  10. C
  11. IMPLICIT INTEGER(I-N)
  12. IMPLICIT REAL*8 (A-H,O-Z)
  13. C
  14. DIMENSION ZMAT(IMAX,IMAX)
  15. C
  16. C Calcul de ZMAT
  17. C factorisation de C sous la forme Z LT
  18. C avec Z = L D
  19. C On récupère en sortie dans le tableau ZMAT modifié
  20. C la matrice M = L SQRT(D) telle que M MT = C
  21. C
  22. DIV = ZMAT(2,1) / ZMAT(1,1)
  23. ZMAT(2,2) = ZMAT(2,2) - DIV*ZMAT(2,1)
  24. ZMAT(2,1) = DIV
  25. DIV = 0.D0
  26. C
  27. DO 1 I=3,IMAX
  28. C
  29. DO 2 J=2,(I-1)
  30. DO 3 K=1,(J-1)
  31. ZMAT(I,J) = ZMAT(I,J) - ZMAT(I,K) * ZMAT(J,K)
  32. 3 CONTINUE
  33. 2 CONTINUE
  34. C
  35. DO 4 J=1,(I-1)
  36. DIV = ZMAT(I,J) / ZMAT(J,J)
  37. ZMAT(I,I) = ZMAT(I,I) - DIV*ZMAT(I,J)
  38. ZMAT(I,J) = DIV
  39. 4 CONTINUE
  40. 1 CONTINUE
  41. C
  42. DO 5 J=1,(IMAX-1)
  43. ZMAT(J,J) = SQRT(ZMAT(J,J))
  44. DO 6 I=J+1,IMAX
  45. ZMAT(I,J) = ZMAT(I,J) * ZMAT(J,J)
  46. 6 CONTINUE
  47. 5 CONTINUE
  48. ZMAT(IMAX,IMAX) = SQRT(ZMAT(IMAX,IMAX))
  49. C
  50. END
  51.  
  52.  
  53.  

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