## MA01AD

### Complex square root of a complex number in real arithmetic

[Specification] [Arguments] [Method] [References] [Comments] [Example]

Purpose

      To compute the complex square root YR + i*YI of a complex number
      XR + i*XI  in real arithmetic.  The returned result is so that
      YR >= 0.0  and  SIGN(YI) = SIGN(XI).

Specification

          SUBROUTINE MA01AD( XR, XI, YR, YI )
    C     .. Scalar Arguments ..
          DOUBLE PRECISION  XR, XI, YR, YI

Arguments

Input/Output Parameters

      XR      (input) DOUBLE PRECISION
      XI      (input) DOUBLE PRECISION
              These scalars define the real and imaginary part of the
              complex number of which the square root is sought.

      YR      (output) DOUBLE PRECISION
      YI      (output) DOUBLE PRECISION
              These scalars define the real and imaginary part of the
              complex square root.

Method

      The complex square root YR + i*YI of the complex number XR + i*XI
      is computed in real arithmetic, taking care to avoid overflow.

References

      Adapted from EISPACK subroutine CSROOT.

Further Comments

      None

Example

Program Text

      None

Program Data

      None

Program Results

      None

Return to Supporting Routines index