LAPACK 3.12.0
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches
zla_gerpvgrw.f
Go to the documentation of this file.
1*> \brief \b ZLA_GERPVGRW multiplies a square real matrix by a complex matrix.
2*
3* =========== DOCUMENTATION ===========
4*
5* Online html documentation available at
6* http://www.netlib.org/lapack/explore-html/
7*
8*> \htmlonly
9*> Download ZLA_GERPVGRW + dependencies
10*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/zla_gerpvgrw.f">
11*> [TGZ]</a>
12*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/zla_gerpvgrw.f">
13*> [ZIP]</a>
14*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zla_gerpvgrw.f">
15*> [TXT]</a>
16*> \endhtmlonly
17*
18* Definition:
19* ===========
20*
21* DOUBLE PRECISION FUNCTION ZLA_GERPVGRW( N, NCOLS, A, LDA, AF,
22* LDAF )
23*
24* .. Scalar Arguments ..
25* INTEGER N, NCOLS, LDA, LDAF
26* ..
27* .. Array Arguments ..
28* COMPLEX*16 A( LDA, * ), AF( LDAF, * )
29* ..
30*
31*
32*> \par Purpose:
33* =============
34*>
35*> \verbatim
36*>
37*>
38*> ZLA_GERPVGRW computes the reciprocal pivot growth factor
39*> norm(A)/norm(U). The "max absolute element" norm is used. If this is
40*> much less than 1, the stability of the LU factorization of the
41*> (equilibrated) matrix A could be poor. This also means that the
42*> solution X, estimated condition numbers, and error bounds could be
43*> unreliable.
44*> \endverbatim
45*
46* Arguments:
47* ==========
48*
49*> \param[in] N
50*> \verbatim
51*> N is INTEGER
52*> The number of linear equations, i.e., the order of the
53*> matrix A. N >= 0.
54*> \endverbatim
55*>
56*> \param[in] NCOLS
57*> \verbatim
58*> NCOLS is INTEGER
59*> The number of columns of the matrix A. NCOLS >= 0.
60*> \endverbatim
61*>
62*> \param[in] A
63*> \verbatim
64*> A is COMPLEX*16 array, dimension (LDA,N)
65*> On entry, the N-by-N matrix A.
66*> \endverbatim
67*>
68*> \param[in] LDA
69*> \verbatim
70*> LDA is INTEGER
71*> The leading dimension of the array A. LDA >= max(1,N).
72*> \endverbatim
73*>
74*> \param[in] AF
75*> \verbatim
76*> AF is COMPLEX*16 array, dimension (LDAF,N)
77*> The factors L and U from the factorization
78*> A = P*L*U as computed by ZGETRF.
79*> \endverbatim
80*>
81*> \param[in] LDAF
82*> \verbatim
83*> LDAF is INTEGER
84*> The leading dimension of the array AF. LDAF >= max(1,N).
85*> \endverbatim
86*
87* Authors:
88* ========
89*
90*> \author Univ. of Tennessee
91*> \author Univ. of California Berkeley
92*> \author Univ. of Colorado Denver
93*> \author NAG Ltd.
94*
95*> \ingroup la_gerpvgrw
96*
97* =====================================================================
98 DOUBLE PRECISION FUNCTION zla_gerpvgrw( N, NCOLS, A, LDA, AF,
99 $ LDAF )
100*
101* -- LAPACK computational routine --
102* -- LAPACK is a software package provided by Univ. of Tennessee, --
103* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
104*
105* .. Scalar Arguments ..
106 INTEGER n, ncols, lda, ldaf
107* ..
108* .. Array Arguments ..
109 COMPLEX*16 a( lda, * ), af( ldaf, * )
110* ..
111*
112* =====================================================================
113*
114* .. Local Scalars ..
115 INTEGER i, j
116 DOUBLE PRECISION amax, umax, rpvgrw
117 COMPLEX*16 zdum
118* ..
119* .. Intrinsic Functions ..
120 INTRINSIC max, min, abs, real, dimag
121* ..
122* .. Statement Functions ..
123 DOUBLE PRECISION cabs1
124* ..
125* .. Statement Function Definitions ..
126 cabs1( zdum ) = abs( dble( zdum ) ) + abs( dimag( zdum ) )
127* ..
128* .. Executable Statements ..
129*
130 rpvgrw = 1.0d+0
131
132 DO j = 1, ncols
133 amax = 0.0d+0
134 umax = 0.0d+0
135 DO i = 1, n
136 amax = max( cabs1( a( i, j ) ), amax )
137 END DO
138 DO i = 1, j
139 umax = max( cabs1( af( i, j ) ), umax )
140 END DO
141 IF ( umax /= 0.0d+0 ) THEN
142 rpvgrw = min( amax / umax, rpvgrw )
143 END IF
144 END DO
145 zla_gerpvgrw = rpvgrw
146*
147* End of ZLA_GERPVGRW
148*
149 END
double precision function zla_gerpvgrw(n, ncols, a, lda, af, ldaf)
ZLA_GERPVGRW multiplies a square real matrix by a complex matrix.