LAPACK  3.4.2 LAPACK: Linear Algebra PACKage
sgennd.f
Go to the documentation of this file.
1 *> \brief \b SGENND
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 SGENND (M, N, A, LDA)
12 *
13 * .. Scalar Arguments ..
14 * INTEGER M, N, LDA
15 * ..
16 * .. Array Arguments ..
17 * REAL A( LDA, * )
18 * ..
19 *
20 *
21 *> \par Purpose:
22 * =============
23 *>
24 *> \verbatim
25 *>
26 *> SGENND tests that its argument has a 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 REAL 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 single_lin
67 *
68 * =====================================================================
69  LOGICAL FUNCTION sgennd (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  REAL 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 * ..
92 * .. Intrinsics ..
93  INTRINSIC min
94 * ..
95 * .. Executable Statements ..
96  k = min( m, n )
97  DO i = 1, k
98  IF( a( i, i ).LT.zero ) THEN
99  sgennd = .false.
100  return
101  END IF
102  END DO
103  sgennd = .true.
104  return
105  END