LAPACK  3.4.2
LAPACK: Linear Algebra PACKage
 All Files Functions Groups
zgennd.f
Go to the documentation of this file.
1 *> \brief \b ZGENND
2 *
3 * =========== DOCUMENTATION ===========
4 *
5 * Online html documentation available at
6 * http://www.netlib.org/lapack/explore-html/
7 *
8 * Definition:
9 * ===========
10 *
11 * LOGICAL FUNCTION ZGENND (M, N, A, LDA)
12 *
13 * .. Scalar Arguments ..
14 * INTEGER M, N, LDA
15 * ..
16 * .. Array Arguments ..
17 * COMPLEX*16 A( LDA, * )
18 * ..
19 *
20 *
21 *> \par Purpose:
22 * =============
23 *>
24 *> \verbatim
25 *>
26 *> ZGENND tests that its argument has a real, non-negative diagonal.
27 *> \endverbatim
28 *
29 * Arguments:
30 * ==========
31 *
32 *> \param[in] M
33 *> \verbatim
34 *> M is INTEGER
35 *> The number of rows in A.
36 *> \endverbatim
37 *>
38 *> \param[in] N
39 *> \verbatim
40 *> N is INTEGER
41 *> The number of columns in A.
42 *> \endverbatim
43 *>
44 *> \param[in] A
45 *> \verbatim
46 *> A is COMPLEX*16 array, dimension (LDA, N)
47 *> The matrix.
48 *> \endverbatim
49 *>
50 *> \param[in] LDA
51 *> \verbatim
52 *> LDA is INTEGER
53 *> Leading dimension of A.
54 *> \endverbatim
55 *
56 * Authors:
57 * ========
58 *
59 *> \author Univ. of Tennessee
60 *> \author Univ. of California Berkeley
61 *> \author Univ. of Colorado Denver
62 *> \author NAG Ltd.
63 *
64 *> \date November 2011
65 *
66 *> \ingroup complex16_lin
67 *
68 * =====================================================================
69  LOGICAL FUNCTION zgennd (M, N, A, LDA)
70 *
71 * -- LAPACK test routine (version 3.4.0) --
72 * -- LAPACK is a software package provided by Univ. of Tennessee, --
73 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
74 * November 2011
75 *
76 * .. Scalar Arguments ..
77  INTEGER m, n, lda
78 * ..
79 * .. Array Arguments ..
80  COMPLEX*16 a( lda, * )
81 * ..
82 *
83 * =====================================================================
84 *
85 * .. Parameters ..
86  REAL zero
87  parameter( zero = 0.0e0 )
88 * ..
89 * .. Local Scalars ..
90  INTEGER i, k
91  COMPLEX*16 aii
92 * ..
93 * .. Intrinsics ..
94  INTRINSIC min, dble, dimag
95 * ..
96 * .. Executable Statements ..
97  k = min( m, n )
98  DO i = 1, k
99  aii = a( i, i )
100  IF( dble( aii ).LT.zero.OR.dimag( aii ).NE.zero ) THEN
101  zgennd = .false.
102  return
103  END IF
104  END DO
105  zgennd = .true.
106  return
107  END