![]() |
LAPACK
3.4.1
LAPACK: Linear Algebra PACKage
|
00001 *> \brief \b ZGENND 00002 * 00003 * =========== DOCUMENTATION =========== 00004 * 00005 * Online html documentation available at 00006 * http://www.netlib.org/lapack/explore-html/ 00007 * 00008 * Definition: 00009 * =========== 00010 * 00011 * LOGICAL FUNCTION ZGENND (M, N, A, LDA) 00012 * 00013 * .. Scalar Arguments .. 00014 * INTEGER M, N, LDA 00015 * .. 00016 * .. Array Arguments .. 00017 * COMPLEX*16 A( LDA, * ) 00018 * .. 00019 * 00020 * 00021 *> \par Purpose: 00022 * ============= 00023 *> 00024 *> \verbatim 00025 *> 00026 *> ZGENND tests that its argument has a real, non-negative diagonal. 00027 *> \endverbatim 00028 * 00029 * Arguments: 00030 * ========== 00031 * 00032 *> \param[in] M 00033 *> \verbatim 00034 *> M is INTEGER 00035 *> The number of rows in A. 00036 *> \endverbatim 00037 *> 00038 *> \param[in] N 00039 *> \verbatim 00040 *> N is INTEGER 00041 *> The number of columns in A. 00042 *> \endverbatim 00043 *> 00044 *> \param[in] A 00045 *> \verbatim 00046 *> A is COMPLEX*16 array, dimension (LDA, N) 00047 *> The matrix. 00048 *> \endverbatim 00049 *> 00050 *> \param[in] LDA 00051 *> \verbatim 00052 *> LDA is INTEGER 00053 *> Leading dimension of A. 00054 *> \endverbatim 00055 * 00056 * Authors: 00057 * ======== 00058 * 00059 *> \author Univ. of Tennessee 00060 *> \author Univ. of California Berkeley 00061 *> \author Univ. of Colorado Denver 00062 *> \author NAG Ltd. 00063 * 00064 *> \date November 2011 00065 * 00066 *> \ingroup complex16_lin 00067 * 00068 * ===================================================================== 00069 LOGICAL FUNCTION ZGENND (M, N, A, LDA) 00070 * 00071 * -- LAPACK test routine (version 3.4.0) -- 00072 * -- LAPACK is a software package provided by Univ. of Tennessee, -- 00073 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- 00074 * November 2011 00075 * 00076 * .. Scalar Arguments .. 00077 INTEGER M, N, LDA 00078 * .. 00079 * .. Array Arguments .. 00080 COMPLEX*16 A( LDA, * ) 00081 * .. 00082 * 00083 * ===================================================================== 00084 * 00085 * .. Parameters .. 00086 REAL ZERO 00087 PARAMETER ( ZERO = 0.0E0 ) 00088 * .. 00089 * .. Local Scalars .. 00090 INTEGER I, K 00091 COMPLEX*16 AII 00092 * .. 00093 * .. Intrinsics .. 00094 INTRINSIC MIN, DBLE, DIMAG 00095 * .. 00096 * .. Executable Statements .. 00097 K = MIN( M, N ) 00098 DO I = 1, K 00099 AII = A( I, I ) 00100 IF( DBLE( AII ).LT.ZERO.OR.DIMAG( AII ).NE.ZERO ) THEN 00101 ZGENND = .FALSE. 00102 RETURN 00103 END IF 00104 END DO 00105 ZGENND = .TRUE. 00106 RETURN 00107 END