LAPACK 3.12.0
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches

◆ zlarscl2()

subroutine zlarscl2 ( integer  m,
integer  n,
double precision, dimension( * )  d,
complex*16, dimension( ldx, * )  x,
integer  ldx 
)

ZLARSCL2 performs reciprocal diagonal scaling on a matrix.

Download ZLARSCL2 + dependencies [TGZ] [ZIP] [TXT]

Purpose:
 ZLARSCL2 performs a reciprocal diagonal scaling on a matrix:
   x <-- inv(D) * x
 where the DOUBLE PRECISION diagonal matrix D is stored as a vector.

 Eventually to be replaced by BLAS_zge_diag_scale in the new BLAS
 standard.
Parameters
[in]M
          M is INTEGER
     The number of rows of D and X. M >= 0.
[in]N
          N is INTEGER
     The number of columns of X. N >= 0.
[in]D
          D is DOUBLE PRECISION array, length M
     Diagonal matrix D, stored as a vector of length M.
[in,out]X
          X is COMPLEX*16 array, dimension (LDX,N)
     On entry, the matrix X to be scaled by D.
     On exit, the scaled matrix.
[in]LDX
          LDX is INTEGER
     The leading dimension of the matrix X. LDX >= M.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.

Definition at line 90 of file zlarscl2.f.

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