jacob2
C JACOB2 SOURCE FANDEUR 12/03/15 21:26:29 7312 C===================================================================== C C DIAGONALISATION DE A SYMETRIQUE C ENTREEES C A(3,3) = MATRICE A DIAGONALISER A(1,3)=A(2,3)=0. C A(3,1)=A(3,2)=0. C SORTIES C D(3) = LES 3 VALEURS PROPRES D(1) > D(2) ET D(3)=A(3,3) C S(3,3) = VECTEURS PROPRES S(I,3)=0. 0. 1. C C RECUPERATION INCA FEVRIER 85 EBERSOLT C==================================================================== IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) C DIMENSION A(3,*),D(*),S(3,*) C C Valeur particuliere : SQRT(2.)*0.5 = 1/SQRT(2.) PARAMETER ( X1sr2 = 0.70710678118654752440084436210484904D0 ) C X1 =2.*A(1,2) X2 =A(1,1)-A(2,2) X3 =SQRT(X2*X2+X1*X1) D(1)=0.5*(A(1,1)+A(2,2)+X3) D(2)=D(1)-X3 D(3)=A(3,3) S(3,1)=0. S(3,2)=0. S(1,3)=0. S(2,3)=0. S(3,3)=1. C IF(X2.EQ.0.) GOTO 70 X4=X1/X2 IF(ABS(X4).LT.1.E+10) GOTO 50 C 70 CONTINUE X5 = X1sr2 S(1,1)=X5 S(2,1)=SIGN(X5,X1) S(1,2)=-S(2,1) S(2,2)=X5 GOTO 100 C 50 CONTINUE X5=1. + X4*X4 X5=SIGN(1.D0,X2)/SQRT(X5) X6=(1.+X5)*.5 X6=SQRT(X6) X7=(1.-X5)*.5 X7=SIGN(1.D0,X1)*SQRT(X7) S(1,1)= X6 S(2,1)= X7 S(1,2)=-X7 S(2,2)= X6 100 RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales