C DIAFE1    SOURCE    PV        22/04/15    13:20:07     11344          
      SUBROUTINE DIAFE1(X,VAL,VEC)
C
C====&===1=========2=========3=========4=========5=========6=========7==
C Commentaires : Diagonalisation matrice 2x2
C
C
C Argumets     : Matrices X(II,JJ) et Y(KK,LL),retourne la matrice Z
C
C AUTEUR       : E. KISHTA  - CEA/DEN/DANS/DM2S/SEMT/EMSI
C                
C====&===1=========2=========3=========4=========5=========6=========7==
C
C----DECLARATION GENERALES----------------------------------------------
C
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8(A-H,O-Z)

      REAl*8 X(2,2), VAL(2), VEC(2,2)

      PARAMETER ( XR= 0.70710678118654752440084436210484904D0 )
     
        write(6,*) ' priere de corriger l''appel a sigek'
        call erreur(5)
      X1  = 2.0d0*X(1,2)                                                            
      X2  = X(1,1)-X(2,2)                                                        
      X3  = SQRT((X2*X2)+(X1*X1))
                                                    
      VAL(1) = 0.5*(X(1,1)+X(2,2)+X3)                                               
      VAL(2) = 0.5*(X(1,1)+X(2,2)-X3) 

      IF (X2.EQ.0.0D0) THEN

        V1 = XR
        VEC(1,1) = V1
*       VEC(2,1) = SIGEK(V1,X1)
        VEC(1,2) = -VEC(2,1)
        VEC(2,2) = V1

      ELSE

        V2 = X1/X2
        V3 = 1.0D0 + (V2**2)
*       V3 = SIGEK(1.0D0,X2)/SQRT(V3)
        V4 = SQRT(((1.0D0+V3)*0.5D0))
        V5 = (1.0D0-V3)*0.5D0
*       V5 = SIGEK(1.0D0,X1)*SQRT(V5)

        VEC(1,1) = V4
        VEC(2,1) = V5
        VEC(1,2) = V5
        VEC(2,2) = V4 

      ENDIF       
              

      RETURN
      END

 
 
 
