83 SUBROUTINE zlatsp( UPLO, N, X, ISEED )
102 parameter( eye = ( 0.0d0, 1.0d0 ) )
106 DOUBLE PRECISION ALPHA, ALPHA3, BETA
107 COMPLEX*16 A, B, C, R
120 alpha = ( 1.d0+sqrt( 17.d0 ) ) / 8.d0
121 beta = alpha - 1.d0 / 1000.d0
122 alpha3 = alpha*alpha*alpha
126 DO 10 j = 1, n*( n+1 ) / 2
132 IF( uplo.EQ.
'U' )
THEN
138 a = alpha3*zlarnd( 5, iseed )
139 b = zlarnd( 5, iseed ) / alpha
145 x( jj ) = zlarnd( 2, iseed )
150 x( jj ) = zlarnd( 2, iseed )
152 x( jj ) = zlarnd( 2, iseed )
153 IF( abs( x( jj+( j-3 ) ) ).GT.abs( x( jj ) ) )
THEN
154 x( jj+( j-4 ) ) = 2.0d0*x( jj+( j-3 ) )
156 x( jj+( j-4 ) ) = 2.0d0*x( jj )
165 a = alpha3*zlarnd( 5, iseed )
166 b = zlarnd( 5, iseed ) / alpha
172 x( jj ) = zlarnd( 2, iseed )
180 x( jj ) = zlarnd( 2, iseed )
181 x( jj-j ) = zlarnd( 2, iseed )
182 IF( abs( x( jj ) ).GT.abs( x( jj-j ) ) )
THEN
183 x( jj-1 ) = 2.0d0*x( jj )
185 x( jj-1 ) = 2.0d0*x( jj-j )
187 jj = jj - j - ( j-1 )
189 ELSE IF( j.EQ.1 )
THEN
190 x( jj ) = zlarnd( 2, iseed )
202 a = alpha3*zlarnd( 5, iseed )
203 b = zlarnd( 5, iseed ) / alpha
209 x( jj ) = zlarnd( 2, iseed )
214 x( jj ) = zlarnd( 2, iseed )
216 x( jj ) = zlarnd( 2, iseed )
217 IF( abs( x( jj-( n-j-2 ) ) ).GT.abs( x( jj ) ) )
THEN
218 x( jj-( n-j-2 )+1 ) = 2.0d0*x( jj-( n-j-2 ) )
220 x( jj-( n-j-2 )+1 ) = 2.0d0*x( jj )
229 a = alpha3*zlarnd( 5, iseed )
230 b = zlarnd( 5, iseed ) / alpha
236 x( jj ) = zlarnd( 2, iseed )
244 x( jj ) = zlarnd( 2, iseed )
245 x( jj+( n-j+1 ) ) = zlarnd( 2, iseed )
246 IF( abs( x( jj ) ).GT.abs( x( jj+( n-j+1 ) ) ) )
THEN
247 x( jj+1 ) = 2.0d0*x( jj )
249 x( jj+1 ) = 2.0d0*x( jj+( n-j+1 ) )
251 jj = jj + ( n-j+1 ) + ( n-j )
253 ELSE IF( j.EQ.n )
THEN
254 x( jj ) = zlarnd( 2, iseed )
subroutine zlatsp(uplo, n, x, iseed)
ZLATSP