LAPACK 3.12.0 LAPACK: Linear Algebra PACKage
Searching...
No Matches
dla_gerpvgrw.f
Go to the documentation of this file.
1*> \brief \b DLA_GERPVGRW
2*
3* =========== DOCUMENTATION ===========
4*
5* Online html documentation available at
6* http://www.netlib.org/lapack/explore-html/
7*
8*> \htmlonly
10*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/dla_gerpvgrw.f">
11*> [TGZ]</a>
12*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/dla_gerpvgrw.f">
13*> [ZIP]</a>
14*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dla_gerpvgrw.f">
15*> [TXT]</a>
16*> \endhtmlonly
17*
18* Definition:
19* ===========
20*
21* DOUBLE PRECISION FUNCTION DLA_GERPVGRW( N, NCOLS, A, LDA, AF,
22* LDAF )
23*
24* .. Scalar Arguments ..
25* INTEGER N, NCOLS, LDA, LDAF
26* ..
27* .. Array Arguments ..
28* DOUBLE PRECISION A( LDA, * ), AF( LDAF, * )
29* ..
30*
31*
32*> \par Purpose:
33* =============
34*>
35*> \verbatim
36*>
37*>
38*> DLA_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 DOUBLE PRECISION 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 DOUBLE PRECISION array, dimension (LDAF,N)
77*> The factors L and U from the factorization
78*> A = P*L*U as computed by DGETRF.
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 dla_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 DOUBLE PRECISION a( lda, * ), af( ldaf, * )
110* ..
111*
112* =====================================================================
113*
114* .. Local Scalars ..
115 INTEGER i, j
116 DOUBLE PRECISION amax, umax, rpvgrw
117* ..
118* .. Intrinsic Functions ..
119 INTRINSIC abs, max, min
120* ..
121* .. Executable Statements ..
122*
123 rpvgrw = 1.0d+0
124
125 DO j = 1, ncols
126 amax = 0.0d+0
127 umax = 0.0d+0
128 DO i = 1, n
129 amax = max( abs( a( i, j ) ), amax )
130 END DO
131 DO i = 1, j
132 umax = max( abs( af( i, j ) ), umax )
133 END DO
134 IF ( umax /= 0.0d+0 ) THEN
135 rpvgrw = min( amax / umax, rpvgrw )
136 END IF
137 END DO
138 dla_gerpvgrw = rpvgrw
139*
140* End of DLA_GERPVGRW
141*
142 END
double precision function dla_gerpvgrw(n, ncols, a, lda, af, ldaf)
DLA_GERPVGRW