 LAPACK  3.10.1 LAPACK: Linear Algebra PACKage

## ◆ zqrt13()

 subroutine zqrt13 ( integer SCALE, integer M, integer N, complex*16, dimension( lda, * ) A, integer LDA, double precision NORMA, integer, dimension( 4 ) ISEED )

ZQRT13

Purpose:
``` ZQRT13 generates a full-rank matrix that may be scaled to have large
or small norm.```
Parameters
 [in] SCALE ``` SCALE is INTEGER SCALE = 1: normally scaled matrix SCALE = 2: matrix scaled up SCALE = 3: matrix scaled down``` [in] M ``` M is INTEGER The number of rows of the matrix A.``` [in] N ``` N is INTEGER The number of columns of A.``` [out] A ``` A is COMPLEX*16 array, dimension (LDA,N) The M-by-N matrix A.``` [in] LDA ``` LDA is INTEGER The leading dimension of the array A.``` [out] NORMA ``` NORMA is DOUBLE PRECISION The one-norm of A.``` [in,out] ISEED ``` ISEED is integer array, dimension (4) Seed for random number generator```

Definition at line 90 of file zqrt13.f.

91 *
92 * -- LAPACK test 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 LDA, M, N, SCALE
98  DOUBLE PRECISION NORMA
99 * ..
100 * .. Array Arguments ..
101  INTEGER ISEED( 4 )
102  COMPLEX*16 A( LDA, * )
103 * ..
104 *
105 * =====================================================================
106 *
107 * .. Parameters ..
108  DOUBLE PRECISION ONE
109  parameter( one = 1.0d0 )
110 * ..
111 * .. Local Scalars ..
112  INTEGER INFO, J
113  DOUBLE PRECISION BIGNUM, SMLNUM
114 * ..
115 * .. External Functions ..
116  DOUBLE PRECISION DLAMCH, DZASUM, ZLANGE
117  EXTERNAL dlamch, dzasum, zlange
118 * ..
119 * .. External Subroutines ..
120  EXTERNAL dlabad, zlarnv, zlascl
121 * ..
122 * .. Intrinsic Functions ..
123  INTRINSIC dble, dcmplx, sign
124 * ..
125 * .. Local Arrays ..
126  DOUBLE PRECISION DUMMY( 1 )
127 * ..
128 * .. Executable Statements ..
129 *
130  IF( m.LE.0 .OR. n.LE.0 )
131  \$ RETURN
132 *
133 * benign matrix
134 *
135  DO 10 j = 1, n
136  CALL zlarnv( 2, iseed, m, a( 1, j ) )
137  IF( j.LE.m ) THEN
138  a( j, j ) = a( j, j ) + dcmplx( sign( dzasum( m, a( 1, j ),
139  \$ 1 ), dble( a( j, j ) ) ) )
140  END IF
141  10 CONTINUE
142 *
143 * scaled versions
144 *
145  IF( scale.NE.1 ) THEN
146  norma = zlange( 'Max', m, n, a, lda, dummy )
147  smlnum = dlamch( 'Safe minimum' )
148  bignum = one / smlnum
149  CALL dlabad( smlnum, bignum )
150  smlnum = smlnum / dlamch( 'Epsilon' )
151  bignum = one / smlnum
152 *
153  IF( scale.EQ.2 ) THEN
154 *
155 * matrix scaled up
156 *
157  CALL zlascl( 'General', 0, 0, norma, bignum, m, n, a, lda,
158  \$ info )
159  ELSE IF( scale.EQ.3 ) THEN
160 *
161 * matrix scaled down
162 *
163  CALL zlascl( 'General', 0, 0, norma, smlnum, m, n, a, lda,
164  \$ info )
165  END IF
166  END IF
167 *
168  norma = zlange( 'One-norm', m, n, a, lda, dummy )
169  RETURN
170 *
171 * End of ZQRT13
172 *
double precision function dlamch(CMACH)
DLAMCH
Definition: dlamch.f:69
double precision function zlange(NORM, M, N, A, LDA, WORK)
ZLANGE returns the value of the 1-norm, Frobenius norm, infinity-norm, or the largest absolute value ...
Definition: zlange.f:115
subroutine zlascl(TYPE, KL, KU, CFROM, CTO, M, N, A, LDA, INFO)
ZLASCL multiplies a general rectangular matrix by a real scalar defined as cto/cfrom.
Definition: zlascl.f:143
subroutine zlarnv(IDIST, ISEED, N, X)
ZLARNV returns a vector of random numbers from a uniform or normal distribution.
Definition: zlarnv.f:99
double precision function dzasum(N, ZX, INCX)
DZASUM
Definition: dzasum.f:72
Here is the call graph for this function:
Here is the caller graph for this function: