POEQUB: computes row and column scalings intended to equilibrate a Hermitian positive definite matrix A and reduce its condition number (with respect to the two-norm). S contains the scale factors, S(i) = 1/sqrt(A(i,i)), chosen so that the scaled matrix B with elements B(i,j) = S(i)*A(i,j)*S(j) has ones on the diagonal. This choice of S puts the condition number of B within a factor N of the smallest possible condition number over all possible diagonal scalings. This routine differs from CPOEQU by restricting the scaling factors to a power of the radix. Barring over- and underflow, scaling by these factors introduces no additional rounding errors. However, the scaled diagonal entries are no longer approximately 1 but lie between sqrt(radix) and 1/sqrt(radix).
More...
|
pure subroutine | cpoequb (n, a, lda, s, scond, amax, info) |
|
| la_cpoequb |
|
pure subroutine | dpoequb (n, a, lda, s, scond, amax, info) |
|
| la_dpoequb |
|
| la_qpoequb |
|
pure subroutine | spoequb (n, a, lda, s, scond, amax, info) |
|
| la_spoequb |
|
| la_wpoequb |
|
pure subroutine | zpoequb (n, a, lda, s, scond, amax, info) |
|
| la_zpoequb |
|
POEQUB: computes row and column scalings intended to equilibrate a Hermitian positive definite matrix A and reduce its condition number (with respect to the two-norm). S contains the scale factors, S(i) = 1/sqrt(A(i,i)), chosen so that the scaled matrix B with elements B(i,j) = S(i)*A(i,j)*S(j) has ones on the diagonal. This choice of S puts the condition number of B within a factor N of the smallest possible condition number over all possible diagonal scalings. This routine differs from CPOEQU by restricting the scaling factors to a power of the radix. Barring over- and underflow, scaling by these factors introduces no additional rounding errors. However, the scaled diagonal entries are no longer approximately 1 but lie between sqrt(radix) and 1/sqrt(radix).
◆ cpoequb()
pure subroutine la_lapack::poequb::cpoequb |
( |
integer(ilp), intent(in) |
n, |
|
|
complex(sp), dimension(lda,*), intent(in) |
a, |
|
|
integer(ilp), intent(in) |
lda, |
|
|
real(sp), dimension(*), intent(out) |
s, |
|
|
real(sp), intent(out) |
scond, |
|
|
real(sp), intent(out) |
amax, |
|
|
integer(ilp), intent(out) |
info |
|
) |
| |
◆ dpoequb()
pure subroutine la_lapack::poequb::dpoequb |
( |
integer(ilp), intent(in) |
n, |
|
|
real(dp), dimension(lda,*), intent(in) |
a, |
|
|
integer(ilp), intent(in) |
lda, |
|
|
real(dp), dimension(*), intent(out) |
s, |
|
|
real(dp), intent(out) |
scond, |
|
|
real(dp), intent(out) |
amax, |
|
|
integer(ilp), intent(out) |
info |
|
) |
| |
◆ la_cpoequb()
la_lapack::poequb::la_cpoequb |
◆ la_dpoequb()
la_lapack::poequb::la_dpoequb |
◆ la_qpoequb()
la_lapack::poequb::la_qpoequb |
◆ la_spoequb()
la_lapack::poequb::la_spoequb |
◆ la_wpoequb()
la_lapack::poequb::la_wpoequb |
◆ la_zpoequb()
la_lapack::poequb::la_zpoequb |
◆ spoequb()
pure subroutine la_lapack::poequb::spoequb |
( |
integer(ilp), intent(in) |
n, |
|
|
real(sp), dimension(lda,*), intent(in) |
a, |
|
|
integer(ilp), intent(in) |
lda, |
|
|
real(sp), dimension(*), intent(out) |
s, |
|
|
real(sp), intent(out) |
scond, |
|
|
real(sp), intent(out) |
amax, |
|
|
integer(ilp), intent(out) |
info |
|
) |
| |
◆ zpoequb()
pure subroutine la_lapack::poequb::zpoequb |
( |
integer(ilp), intent(in) |
n, |
|
|
complex(dp), dimension(lda,*), intent(in) |
a, |
|
|
integer(ilp), intent(in) |
lda, |
|
|
real(dp), dimension(*), intent(out) |
s, |
|
|
real(dp), intent(out) |
scond, |
|
|
real(dp), intent(out) |
amax, |
|
|
integer(ilp), intent(out) |
info |
|
) |
| |
The documentation for this interface was generated from the following file: