90      SUBROUTINE dqrt13( SCALE, M, N, A, LDA, NORMA, ISEED )
 
   97      INTEGER            LDA, M, N, SCALE
 
   98      DOUBLE PRECISION   NORMA
 
  102      DOUBLE PRECISION   A( LDA, * )
 
  109      parameter( one = 1.0d0 )
 
  113      DOUBLE PRECISION   BIGNUM, SMLNUM
 
  116      DOUBLE PRECISION   DASUM, DLAMCH, DLANGE
 
  117      EXTERNAL           dasum, dlamch, dlange
 
  126      DOUBLE PRECISION   DUMMY( 1 )
 
  130      IF( m.LE.0 .OR. n.LE.0 )
 
  136         CALL dlarnv( 2, iseed, m, a( 1, j ) )
 
  138            a( j, j ) = a( j, j ) + sign( dasum( m, a( 1, j ), 1 ),
 
  145      IF( scale.NE.1 ) 
THEN 
  146         norma = dlange( 
'Max', m, n, a, lda, dummy )
 
  147         smlnum = dlamch( 
'Safe minimum' )
 
  148         bignum = one / smlnum
 
  149         smlnum = smlnum / dlamch( 
'Epsilon' )
 
  150         bignum = one / smlnum
 
  152         IF( scale.EQ.2 ) 
THEN 
  156            CALL dlascl( 
'General', 0, 0, norma, bignum, m, n, a, lda,
 
  158         ELSE IF( scale.EQ.3 ) 
THEN 
  162            CALL dlascl( 
'General', 0, 0, norma, smlnum, m, n, a, lda,
 
  167      norma = dlange( 
'One-norm', m, n, a, lda, dummy )
 
 
subroutine dqrt13(scale, m, n, a, lda, norma, iseed)
DQRT13
subroutine dlarnv(idist, iseed, n, x)
DLARNV returns a vector of random numbers from a uniform or normal distribution.
subroutine dlascl(type, kl, ku, cfrom, cto, m, n, a, lda, info)
DLASCL multiplies a general rectangular matrix by a real scalar defined as cto/cfrom.