LAPACK
3.12.0
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches
zlarscl2.f
Go to the documentation of this file.
1
*> \brief \b ZLARSCL2 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 ZLARSCL2 + dependencies
10
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/zlarscl2.f">
11
*> [TGZ]</a>
12
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/zlarscl2.f">
13
*> [ZIP]</a>
14
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlarscl2.f">
15
*> [TXT]</a>
16
*> \endhtmlonly
17
*
18
* Definition:
19
* ===========
20
*
21
* SUBROUTINE ZLARSCL2 ( M, N, D, X, LDX )
22
*
23
* .. Scalar Arguments ..
24
* INTEGER M, N, LDX
25
* ..
26
* .. Array Arguments ..
27
* COMPLEX*16 X( LDX, * )
28
* DOUBLE PRECISION D( * )
29
* ..
30
*
31
*
32
*> \par Purpose:
33
* =============
34
*>
35
*> \verbatim
36
*>
37
*> ZLARSCL2 performs a reciprocal diagonal scaling on a matrix:
38
*> x <-- inv(D) * x
39
*> where the DOUBLE PRECISION diagonal matrix D is stored as a vector.
40
*>
41
*> Eventually to be replaced by BLAS_zge_diag_scale in the new BLAS
42
*> standard.
43
*> \endverbatim
44
*
45
* Arguments:
46
* ==========
47
*
48
*> \param[in] M
49
*> \verbatim
50
*> M is INTEGER
51
*> The number of rows of D and X. M >= 0.
52
*> \endverbatim
53
*>
54
*> \param[in] N
55
*> \verbatim
56
*> N is INTEGER
57
*> The number of columns of X. N >= 0.
58
*> \endverbatim
59
*>
60
*> \param[in] D
61
*> \verbatim
62
*> D is DOUBLE PRECISION array, length M
63
*> Diagonal matrix D, stored as a vector of length M.
64
*> \endverbatim
65
*>
66
*> \param[in,out] X
67
*> \verbatim
68
*> X is COMPLEX*16 array, dimension (LDX,N)
69
*> On entry, the matrix X to be scaled by D.
70
*> On exit, the scaled matrix.
71
*> \endverbatim
72
*>
73
*> \param[in] LDX
74
*> \verbatim
75
*> LDX is INTEGER
76
*> The leading dimension of the matrix X. LDX >= M.
77
*> \endverbatim
78
*
79
* Authors:
80
* ========
81
*
82
*> \author Univ. of Tennessee
83
*> \author Univ. of California Berkeley
84
*> \author Univ. of Colorado Denver
85
*> \author NAG Ltd.
86
*
87
*> \ingroup larscl2
88
*
89
* =====================================================================
90
SUBROUTINE
zlarscl2
( M, N, D, X, LDX )
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
118
END
119
zlarscl2
subroutine zlarscl2(m, n, d, x, ldx)
ZLARSCL2 performs reciprocal diagonal scaling on a matrix.
Definition
zlarscl2.f:91
SRC
zlarscl2.f
Generated on Tue Nov 28 2023 11:55:07 for LAPACK by
1.9.7