1      SUBROUTINE dtzscal( UPLO, M, N, IOFFD, ALPHA, A, LDA )
 
   10      INTEGER            IOFFD, LDA, M, N
 
   11      DOUBLE PRECISION   ALPHA
 
   14      DOUBLE PRECISION   A( LDA, * )
 
  106      DOUBLE PRECISION   ONE, ZERO
 
  107      parameter( one = 1.0d+0, zero = 0.0d+0 )
 
  126      IF( ( m.LE.0 ).OR.( n.LE.0 ).OR.( alpha.EQ.one ) )
 
  131      IF( alpha.EQ.zero ) 
THEN 
  132         CALL dtzpad( uplo, 
'N', m, n, ioffd, zero, zero, a, lda )
 
  136      IF( lsame( uplo, 
'L' ) ) 
THEN 
  140         mn = 
max( 0, -ioffd )
 
  141         DO 10 j = 1, 
min( mn, n )
 
  142            CALL dscal( m, alpha, a( 1, j ), 1 )
 
  144         DO 20 j = mn + 1, 
min( m - ioffd, n )
 
  147     $         
CALL dscal( m-jtmp+1, alpha, a( jtmp, j ), 1 )
 
  150      ELSE IF( lsame( uplo, 
'U' ) ) 
THEN 
  154         mn = 
min( m - ioffd, n )
 
  155         DO 30 j = 
max( 0, -ioffd ) + 1, mn
 
  156            CALL dscal( j + ioffd, alpha, a( 1, j ), 1 )
 
  158         DO 40 j = 
max( 0, mn ) + 1, n
 
  159            CALL dscal( m, alpha, a( 1, j ), 1 )
 
  162      ELSE IF( lsame( uplo, 
'D' ) ) 
THEN 
  166         DO 50 j = 
max( 0, -ioffd ) + 1, 
min( m - ioffd, n )
 
  168            a( jtmp, j ) = alpha * a( jtmp, j )
 
  176            CALL dscal( m, alpha, a( 1, j ), 1 )
 
 
subroutine dtzpad(uplo, herm, m, n, ioffd, alpha, beta, a, lda)
 
subroutine dtzscal(uplo, m, n, ioffd, alpha, a, lda)