LAPACK  3.8.0
LAPACK: Linear Algebra PACKage

◆ clarscl2()

subroutine clarscl2 ( integer  M,
integer  N,
real, dimension( * )  D,
complex, dimension( ldx, * )  X,
integer  LDX 
)

CLARSCL2 performs reciprocal diagonal scaling on a vector.

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

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

 Eventually to be replaced by BLAS_cge_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 REAL array, length M
     Diagonal matrix D, stored as a vector of length M.
[in,out]X
          X is COMPLEX 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.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
June 2016

Definition at line 93 of file clarscl2.f.

93 *
94 * -- LAPACK computational routine (version 3.7.0) --
95 * -- LAPACK is a software package provided by Univ. of Tennessee, --
96 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
97 * June 2016
98 *
99 * .. Scalar Arguments ..
100  INTEGER m, n, ldx
101 * ..
102 * .. Array Arguments ..
103  COMPLEX x( ldx, * )
104  REAL d( * )
105 * ..
106 *
107 * =====================================================================
108 *
109 * .. Local Scalars ..
110  INTEGER i, j
111 * ..
112 * .. Executable Statements ..
113 *
114  DO j = 1, n
115  DO i = 1, m
116  x( i, j ) = x( i, j ) / d( i )
117  END DO
118  END DO
119 
120  RETURN