 LAPACK  3.10.0 LAPACK: Linear Algebra PACKage

## ◆ 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 vector.

Purpose:
``` ZLARSCL2 performs a reciprocal diagonal scaling on an vector:
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 vector X to be scaled by D. On exit, the scaled vector.``` [in] LDX ``` LDX is INTEGER The leading dimension of the vector X. LDX >= M.```

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