Download jacob2.eso

Back to the list

   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