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 :
© Cast3M 2003 - All rights reserved.
Disclaimer