LAPACK 3.12.0
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches
zlarscl2.f
Go to the documentation of this file.
1*> \brief \b ZLARSCL2 performs reciprocal diagonal scaling on a matrix.
2*
3* =========== DOCUMENTATION ===========
4*
5* Online html documentation available at
6* http://www.netlib.org/lapack/explore-html/
7*
8*> \htmlonly
9*> Download ZLARSCL2 + dependencies
10*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/zlarscl2.f">
11*> [TGZ]</a>
12*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/zlarscl2.f">
13*> [ZIP]</a>
14*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlarscl2.f">
15*> [TXT]</a>
16*> \endhtmlonly
17*
18* Definition:
19* ===========
20*
21* SUBROUTINE ZLARSCL2 ( M, N, D, X, LDX )
22*
23* .. Scalar Arguments ..
24* INTEGER M, N, LDX
25* ..
26* .. Array Arguments ..
27* COMPLEX*16 X( LDX, * )
28* DOUBLE PRECISION D( * )
29* ..
30*
31*
32*> \par Purpose:
33* =============
34*>
35*> \verbatim
36*>
37*> ZLARSCL2 performs a reciprocal diagonal scaling on a matrix:
38*> x <-- inv(D) * x
39*> where the DOUBLE PRECISION diagonal matrix D is stored as a vector.
40*>
41*> Eventually to be replaced by BLAS_zge_diag_scale in the new BLAS
42*> standard.
43*> \endverbatim
44*
45* Arguments:
46* ==========
47*
48*> \param[in] M
49*> \verbatim
50*> M is INTEGER
51*> The number of rows of D and X. M >= 0.
52*> \endverbatim
53*>
54*> \param[in] N
55*> \verbatim
56*> N is INTEGER
57*> The number of columns of X. N >= 0.
58*> \endverbatim
59*>
60*> \param[in] D
61*> \verbatim
62*> D is DOUBLE PRECISION array, length M
63*> Diagonal matrix D, stored as a vector of length M.
64*> \endverbatim
65*>
66*> \param[in,out] X
67*> \verbatim
68*> X is COMPLEX*16 array, dimension (LDX,N)
69*> On entry, the matrix X to be scaled by D.
70*> On exit, the scaled matrix.
71*> \endverbatim
72*>
73*> \param[in] LDX
74*> \verbatim
75*> LDX is INTEGER
76*> The leading dimension of the matrix X. LDX >= M.
77*> \endverbatim
78*
79* Authors:
80* ========
81*
82*> \author Univ. of Tennessee
83*> \author Univ. of California Berkeley
84*> \author Univ. of Colorado Denver
85*> \author NAG Ltd.
86*
87*> \ingroup larscl2
88*
89* =====================================================================
90 SUBROUTINE zlarscl2 ( M, N, D, X, LDX )
91*
92* -- LAPACK computational routine --
93* -- LAPACK is a software package provided by Univ. of Tennessee, --
94* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
95*
96* .. Scalar Arguments ..
97 INTEGER M, N, LDX
98* ..
99* .. Array Arguments ..
100 COMPLEX*16 X( LDX, * )
101 DOUBLE PRECISION D( * )
102* ..
103*
104* =====================================================================
105*
106* .. Local Scalars ..
107 INTEGER I, J
108* ..
109* .. Executable Statements ..
110*
111 DO j = 1, n
112 DO i = 1, m
113 x( i, j ) = x( i, j ) / d( i )
114 END DO
115 END DO
116
117 RETURN
118 END
119
subroutine zlarscl2(m, n, d, x, ldx)
ZLARSCL2 performs reciprocal diagonal scaling on a matrix.
Definition zlarscl2.f:91