134 SUBROUTINE slatm1( MODE, COND, IRSIGN, IDIST, ISEED, D, N, INFO )
141 INTEGER IDIST, INFO, IRSIGN, MODE, N
153 parameter( one = 1.0e0 )
155 parameter( half = 0.5e0 )
169 INTRINSIC abs, exp, log, real
184 IF( mode.LT.-6 .OR. mode.GT.6 )
THEN
186 ELSE IF( ( mode.NE.-6 .AND. mode.NE.0 .AND. mode.NE.6 ) .AND.
187 $ ( irsign.NE.0 .AND. irsign.NE.1 ) )
THEN
189 ELSE IF( ( mode.NE.-6 .AND. mode.NE.0 .AND. mode.NE.6 ) .AND.
192 ELSE IF( ( mode.EQ.6 .OR. mode.EQ.-6 ) .AND.
193 $ ( idist.LT.1 .OR. idist.GT.3 ) )
THEN
195 ELSE IF( n.LT.0 )
THEN
200 CALL xerbla(
'SLATM1', -info )
207 GO TO ( 10, 30, 50, 70, 90, 110 )abs( mode )
232 alpha = cond**( -one / real( n-1 ) )
234 d( i ) = alpha**( i-1 )
245 alpha = ( one-temp ) / real( n-1 )
247 d( i ) = real( n-i )*alpha + temp
255 alpha = log( one / cond )
257 d( i ) = exp( alpha*slaran( iseed ) )
264 CALL slarnv( idist, iseed, n, d )
271 IF( ( mode.NE.-6 .AND. mode.NE.0 .AND. mode.NE.6 ) .AND.
274 temp = slaran( iseed )
subroutine xerbla(srname, info)
subroutine slarnv(idist, iseed, n, x)
SLARNV returns a vector of random numbers from a uniform or normal distribution.
subroutine slatm1(mode, cond, irsign, idist, iseed, d, n, info)
SLATM1