228 COMPLEX*16 FUNCTION zlatm3( M, N, I, J, ISUB, JSUB, KL, KU,
229 $ IDIST, ISEED, D, IGRADE, DL, DR, IPVTNG, IWORK,
239 INTEGER I, IDIST, IGRADE, IPVTNG, ISUB, J, JSUB, KL,
241 DOUBLE PRECISION SPARSE
246 INTEGER ISEED( 4 ), IWORK( * )
247 COMPLEX*16 D( * ), DL( * ), DR( * )
254 DOUBLE PRECISION ZERO
255 parameter( zero = 0.0d0 )
257 parameter( czero = ( 0.0d0, 0.0d0 ) )
267 DOUBLE PRECISION DLARAN
269 EXTERNAL dlaran, zlarnd
284 IF( i.LT.1 .OR. i.GT.m .OR. j.LT.1 .OR. j.GT.n )
THEN 293 IF( ipvtng.EQ.0 )
THEN 296 ELSE IF( ipvtng.EQ.1 )
THEN 299 ELSE IF( ipvtng.EQ.2 )
THEN 302 ELSE IF( ipvtng.EQ.3 )
THEN 309 IF( jsub.GT.isub+ku .OR. jsub.LT.isub-kl )
THEN 316 IF( sparse.GT.zero )
THEN 317 IF( dlaran( iseed ).LT.sparse )
THEN 328 ctemp = zlarnd( idist, iseed )
330 IF( igrade.EQ.1 )
THEN 331 ctemp = ctemp*dl( i )
332 ELSE IF( igrade.EQ.2 )
THEN 333 ctemp = ctemp*dr( j )
334 ELSE IF( igrade.EQ.3 )
THEN 335 ctemp = ctemp*dl( i )*dr( j )
336 ELSE IF( igrade.EQ.4 .AND. i.NE.j )
THEN 337 ctemp = ctemp*dl( i ) / dl( j )
338 ELSE IF( igrade.EQ.5 )
THEN 339 ctemp = ctemp*dl( i )*dconjg( dl( j ) )
340 ELSE IF( igrade.EQ.6 )
THEN 341 ctemp = ctemp*dl( i )*dl( j )
complex *16 function zlatm3(M, N, I, J, ISUB, JSUB, KL, KU, IDIST, ISEED, D, IGRADE, DL, DR, IPVTNG, IWORK, SPARSE)
ZLATM3