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

◆ dlarscl2()

subroutine dlarscl2 ( integer m,
integer n,
double precision, dimension( * ) d,
double precision, dimension( ldx, * ) x,
integer ldx )

DLARSCL2 performs reciprocal diagonal scaling on a matrix.

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

Purpose:
!>
!> DLARSCL2 performs a reciprocal diagonal scaling on a matrix:
!>   x <-- inv(D) * x
!> where the diagonal matrix D is stored as a vector.
!>
!> Eventually to be replaced by BLAS_dge_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, dimension (M)
!>     Diagonal matrix D, stored as a vector of length M.
!> 
[in,out]X
!>          X is DOUBLE PRECISION 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 87 of file dlarscl2.f.

88*
89* -- LAPACK computational routine --
90* -- LAPACK is a software package provided by Univ. of Tennessee, --
91* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
92*
93* .. Scalar Arguments ..
94 INTEGER M, N, LDX
95* ..
96* .. Array Arguments ..
97 DOUBLE PRECISION D( * ), X( LDX, * )
98* ..
99*
100* =====================================================================
101*
102* .. Local Scalars ..
103 INTEGER I, J
104* ..
105* .. Executable Statements ..
106*
107 DO j = 1, n
108 DO i = 1, m
109 x( i, j ) = x( i, j ) / d( i )
110 END DO
111 END DO
112
113 RETURN