Previous: slaein Up: ../lapack-s.html Next: slaexc


slaev2


 NAME
      SLAEV2 - compute the eigendecomposition of a 2-by-2 sym-
      metric matrix  [ A B ]  [ B C ]

 SYNOPSIS
      SUBROUTINE SLAEV2( A, B, C, RT1, RT2, CS1, SN1 )

          REAL           A, B, C, CS1, RT1, RT2, SN1

 PURPOSE
      SLAEV2 computes the eigendecomposition of a 2-by-2 symmetric
      matrix
         [  A   B  ]
         [  B   C  ].  On return, RT1 is the eigenvalue of larger
      absolute value, RT2 is the eigenvalue of smaller absolute
      value, and (CS1,SN1) is the unit right eigenvector for RT1,
      giving the decomposition

         [ CS1  SN1 ] [  A   B  ] [ CS1 -SN1 ]  =  [ RT1  0  ]
         [-SN1  CS1 ] [  B   C  ] [ SN1  CS1 ]     [  0  RT2 ].

 ARGUMENTS
      A       (input) REAL
              The (1,1) entry of the 2-by-2 matrix.

      B       (input) REAL
              The (1,2) entry and the conjugate of the (2,1) entry
              of the 2-by-2 matrix.

      C       (input) REAL
              The (2,2) entry of the 2-by-2 matrix.

      RT1     (output) REAL
              The eigenvalue of larger absolute value.

      RT2     (output) REAL
              The eigenvalue of smaller absolute value.

      CS1     (output) REAL
              SN1     (output) REAL The vector (CS1, SN1) is a
              unit right eigenvector for RT1.

 FURTHER DETAILS
      RT1 is accurate to a few ulps barring over/underflow.

      RT2 may be inaccurate if there is massive cancellation in
      the determinant A*C-B*B; higher precision or correctly
      rounded or correctly truncated arithmetic would be needed to
      compute RT2 accurately in all cases.

      CS1 and SN1 are accurate to a few ulps barring

      over/underflow.

      Overflow is possible only if RT1 is within a factor of 5 of
      overflow.  Underflow is harmless if the input data is 0 or
      exceeds
         underflow_threshold / macheps.