2673
 2674
 2675
 2676
 2677
 2678
 2679
 2680
 2681
 2682
 2683
 2684
 2685
 2686
 2687      INTEGER            LDA, M, N
 2688      CHARACTER*1        UPLO
 2689      CHARACTER*2        TYPE
 2690
 2691      COMPLEX*16         AA( LDA, * ), AS( LDA, * )
 2692
 2693      INTEGER            I, IBEG, IEND, J
 2694      LOGICAL            UPPER
 2695
 2696      upper = uplo.EQ.'U'
 2697      IF( type.EQ.'ge' )THEN
 2698         DO 20 j = 1, n
 2699            DO 10 i = m + 1, lda
 2700               IF( aa( i, j ).NE.as( i, j ) )
 2701     $            GO TO 70
 2702   10       CONTINUE
 2703   20    CONTINUE
 2704      ELSE IF( type.EQ.'he'.OR.type.EQ.'sy' )THEN
 2705         DO 50 j = 1, n
 2706            IF( upper )THEN
 2707               ibeg = 1
 2708               iend = j
 2709            ELSE
 2710               ibeg = j
 2711               iend = n
 2712            END IF
 2713            DO 30 i = 1, ibeg - 1
 2714               IF( aa( i, j ).NE.as( i, j ) )
 2715     $            GO TO 70
 2716   30       CONTINUE
 2717            DO 40 i = iend + 1, lda
 2718               IF( aa( i, j ).NE.as( i, j ) )
 2719     $            GO TO 70
 2720   40       CONTINUE
 2721   50    CONTINUE
 2722      END IF
 2723
 2724   60 CONTINUE
 2726      GO TO 80
 2727   70 CONTINUE
 2729   80 RETURN
 2730
 2731
 2732
logical function lzeres(type, uplo, m, n, aa, as, lda)