226 COMPLEX*16 FUNCTION zlatm3( M, N, I, J, ISUB, JSUB, KL, KU,
227 $ IDIST, ISEED, D, IGRADE, DL, DR, IPVTNG, IWORK,
236 INTEGER i, idist, igrade, ipvtng, isub, j, jsub, kl,
238 DOUBLE PRECISION sparse
243 INTEGER iseed( 4 ), iwork( * )
244 COMPLEX*16 d( * ), dl( * ), dr( * )
251 DOUBLE PRECISION zero
252 PARAMETER ( zero = 0.0d0 )
254 parameter( czero = ( 0.0d0, 0.0d0 ) )
281 IF( i.LT.1 .OR. i.GT.m .OR. j.LT.1 .OR. j.GT.n )
THEN
290 IF( ipvtng.EQ.0 )
THEN
293 ELSE IF( ipvtng.EQ.1 )
THEN
296 ELSE IF( ipvtng.EQ.2 )
THEN
299 ELSE IF( ipvtng.EQ.3 )
THEN
306 IF( jsub.GT.isub+ku .OR. jsub.LT.isub-kl )
THEN
313 IF( sparse.GT.zero )
THEN
314 IF(
dlaran( iseed ).LT.sparse )
THEN
325 ctemp =
zlarnd( idist, iseed )
327 IF( igrade.EQ.1 )
THEN
328 ctemp = ctemp*dl( i )
329 ELSE IF( igrade.EQ.2 )
THEN
330 ctemp = ctemp*dr( j )
331 ELSE IF( igrade.EQ.3 )
THEN
332 ctemp = ctemp*dl( i )*dr( j )
333 ELSE IF( igrade.EQ.4 .AND. i.NE.j )
THEN
334 ctemp = ctemp*dl( i ) / dl( j )
335 ELSE IF( igrade.EQ.5 )
THEN
336 ctemp = ctemp*dl( i )*dconjg( dl( j ) )
337 ELSE IF( igrade.EQ.6 )
THEN
338 ctemp = ctemp*dl( i )*dl( j )
double precision function dlaran(iseed)
DLARAN
complex *16 function zlarnd(idist, iseed)
ZLARND
complex *16 function zlatm3(m, n, i, j, isub, jsub, kl, ku, idist, iseed, d, igrade, dl, dr, ipvtng, iwork, sparse)
ZLATM3