public interface geequ
GEEQU computes row and column scalings intended to equilibrate an
M-by-N matrix A and reduce its condition number. R returns the row
scale factors and C the column scale factors, chosen to try to make
the largest element in each row and column of the matrix B with
elements B(i,j)=R(i)A(i,j)C(j) have absolute value 1.
R(i) and C(j) are restricted to be between SMLNUM = smallest safe
number and BIGNUM = largest safe number. Use of these scaling
factors is not guaranteed to reduce the condition number of A but
works well in practice.
Subroutines
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
m |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
a(lda,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
lda |
|
|
real(kind=sp),
|
intent(out) |
|
|
:: |
r(*) |
|
|
real(kind=sp),
|
intent(out) |
|
|
:: |
c(*) |
|
|
real(kind=sp),
|
intent(out) |
|
|
:: |
rowcnd |
|
|
real(kind=sp),
|
intent(out) |
|
|
:: |
colcnd |
|
|
real(kind=sp),
|
intent(out) |
|
|
:: |
amax |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
info |
|
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
m |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
a(lda,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
lda |
|
|
real(kind=dp),
|
intent(out) |
|
|
:: |
r(*) |
|
|
real(kind=dp),
|
intent(out) |
|
|
:: |
c(*) |
|
|
real(kind=dp),
|
intent(out) |
|
|
:: |
rowcnd |
|
|
real(kind=dp),
|
intent(out) |
|
|
:: |
colcnd |
|
|
real(kind=dp),
|
intent(out) |
|
|
:: |
amax |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
info |
|
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
m |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
a(lda,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
lda |
|
|
real(kind=sp),
|
intent(out) |
|
|
:: |
r(*) |
|
|
real(kind=sp),
|
intent(out) |
|
|
:: |
c(*) |
|
|
real(kind=sp),
|
intent(out) |
|
|
:: |
rowcnd |
|
|
real(kind=sp),
|
intent(out) |
|
|
:: |
colcnd |
|
|
real(kind=sp),
|
intent(out) |
|
|
:: |
amax |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
info |
|
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
m |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
a(lda,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
lda |
|
|
real(kind=dp),
|
intent(out) |
|
|
:: |
r(*) |
|
|
real(kind=dp),
|
intent(out) |
|
|
:: |
c(*) |
|
|
real(kind=dp),
|
intent(out) |
|
|
:: |
rowcnd |
|
|
real(kind=dp),
|
intent(out) |
|
|
:: |
colcnd |
|
|
real(kind=dp),
|
intent(out) |
|
|
:: |
amax |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
info |
|
Module Procedures