LAPACK 3.12.1
LAPACK: Linear Algebra PACKage
|
subroutine slaqge | ( | integer | m, |
integer | n, | ||
real, dimension( lda, * ) | a, | ||
integer | lda, | ||
real, dimension( * ) | r, | ||
real, dimension( * ) | c, | ||
real | rowcnd, | ||
real | colcnd, | ||
real | amax, | ||
character | equed ) |
SLAQGE scales a general rectangular matrix, using row and column scaling factors computed by sgeequ.
Download SLAQGE + dependencies [TGZ] [ZIP] [TXT]
!> !> SLAQGE equilibrates a general M by N matrix A using the row and !> column scaling factors in the vectors R and C. !>
[in] | M | !> M is INTEGER !> The number of rows of the matrix A. M >= 0. !> |
[in] | N | !> N is INTEGER !> The number of columns of the matrix A. N >= 0. !> |
[in,out] | A | !> A is REAL array, dimension (LDA,N) !> On entry, the M by N matrix A. !> On exit, the equilibrated matrix. See EQUED for the form of !> the equilibrated matrix. !> |
[in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(M,1). !> |
[in] | R | !> R is REAL array, dimension (M) !> The row scale factors for A. !> |
[in] | C | !> C is REAL array, dimension (N) !> The column scale factors for A. !> |
[in] | ROWCND | !> ROWCND is REAL !> Ratio of the smallest R(i) to the largest R(i). !> |
[in] | COLCND | !> COLCND is REAL !> Ratio of the smallest C(i) to the largest C(i). !> |
[in] | AMAX | !> AMAX is REAL !> Absolute value of largest matrix entry. !> |
[out] | EQUED | !> EQUED is CHARACTER*1 !> Specifies the form of equilibration that was done. !> = 'N': No equilibration !> = 'R': Row equilibration, i.e., A has been premultiplied by !> diag(R). !> = 'C': Column equilibration, i.e., A has been postmultiplied !> by diag(C). !> = 'B': Both row and column equilibration, i.e., A has been !> replaced by diag(R) * A * diag(C). !> |
!> THRESH is a threshold value used to decide if row or column scaling !> should be done based on the ratio of the row or column scaling !> factors. If ROWCND < THRESH, row scaling is done, and if !> COLCND < THRESH, column scaling is done. !> !> LARGE and SMALL are threshold values used to decide if row scaling !> should be done based on the absolute size of the largest matrix !> element. If AMAX > LARGE or AMAX < SMALL, row scaling is done. !>
Definition at line 138 of file slaqge.f.