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