90 SUBROUTINE sqrt13( SCALE, M, N, A, LDA, NORMA, ISEED )
97 INTEGER LDA, M, N, SCALE
109 parameter( one = 1.0e0 )
117 EXTERNAL sasum, slamch,
slange
130 IF( m.LE.0 .OR. n.LE.0 )
136 CALL slarnv( 2, iseed, m, a( 1, j ) )
138 a( j, j ) = a( j, j ) + sign( sasum( m, a( 1, j ), 1 ),
145 IF( scale.NE.1 )
THEN
146 norma =
slange(
'Max', m, n, a, lda, dummy )
147 smlnum = slamch(
'Safe minimum' )
148 bignum = one / smlnum
149 CALL slabad( smlnum, bignum )
150 smlnum = smlnum / slamch(
'Epsilon' )
151 bignum = one / smlnum
153 IF( scale.EQ.2 )
THEN
157 CALL slascl( 'general
', 0, 0, NORMA, BIGNUM, M, N, A, LDA,
159.EQ.
ELSE IF( SCALE3 ) THEN
163 CALL SLASCL( 'general
', 0, 0, NORMA, SMLNUM, M, N, A, LDA,
168 NORMA = SLANGE( 'one-
norm', M, N, A, LDA, DUMMY )
norm(diag(diag(diag(inv(mat))) -id.SOL), 2) % destroy mumps instance id.JOB
subroutine slarnv(idist, iseed, n, x)
SLARNV returns a vector of random numbers from a uniform or normal distribution.
subroutine slabad(small, large)
SLABAD
subroutine slascl(type, kl, ku, cfrom, cto, m, n, a, lda, info)
SLASCL multiplies a general rectangular matrix by a real scalar defined as cto/cfrom.
real function slange(norm, m, n, a, lda, work)
SLANGE returns the value of the 1-norm, Frobenius norm, infinity-norm, or the largest absolute value ...
subroutine sqrt13(scale, m, n, a, lda, norma, iseed)
SQRT13