SLASCL(3)
multiplies the M by N real matrix A by the real scalar CTO/CFROM
SYNOPSIS
- SUBROUTINE SLASCL(
-
TYPE, KL, KU, CFROM, CTO, M, N, A, LDA, INFO )
-
CHARACTER
TYPE
-
INTEGER
INFO, KL, KU, LDA, M, N
-
REAL
CFROM, CTO
-
REAL
A( LDA, * )
PURPOSE
SLASCL multiplies the M by N real matrix A by the real scalar
CTO/CFROM. This is done without over/underflow as long as the final
result CTO*A(I,J)/CFROM does not over/underflow. TYPE specifies that
A may be full, upper triangular, lower triangular, upper Hessenberg,
or banded.
ARGUMENTS
- TYPE (input) CHARACTER*1
-
TYPE indices the storage type of the input matrix.
= 'G': A is a full matrix.
= 'L': A is a lower triangular matrix.
= 'U': A is an upper triangular matrix.
= 'H': A is an upper Hessenberg matrix.
= 'B': A is a symmetric band matrix with lower bandwidth KL
and upper bandwidth KU and with the only the lower
half stored.
= 'Q': A is a symmetric band matrix with lower bandwidth KL
and upper bandwidth KU and with the only the upper
half stored.
= 'Z': A is a band matrix with lower bandwidth KL and upper
bandwidth KU.
- KL (input) INTEGER
-
The lower bandwidth of A. Referenced only if TYPE = 'B',
'Q' or 'Z'.
- KU (input) INTEGER
-
The upper bandwidth of A. Referenced only if TYPE = 'B',
'Q' or 'Z'.
- CFROM (input) REAL
-
CTO (input) REAL
The matrix A is multiplied by CTO/CFROM. A(I,J) is computed
without over/underflow if the final result CTO*A(I,J)/CFROM
can be represented without over/underflow. CFROM must be
nonzero.
- M (input) INTEGER
-
The number of rows of the matrix A. M >= 0.
- N (input) INTEGER
-
The number of columns of the matrix A. N >= 0.
- A (input/output) REAL array, dimension (LDA,N)
-
The matrix to be multiplied by CTO/CFROM. See TYPE for the
storage type.
- LDA (input) INTEGER
-
The leading dimension of the array A. LDA >= max(1,M).
- INFO (output) INTEGER
-
0 - successful exit
<0 - if INFO = -i, the i-th argument had an illegal value.