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
dlarscl2
subroutine dlarscl2(m, n, d, x, ldx)
DLARSCL2 performs reciprocal diagonal scaling on a matrix.
Definition
dlarscl2.f:90
SRC
dlarscl2.f
Generated on Tue Nov 28 2023 11:55:06 for LAPACK by
1.9.7