fortran-lapack
Loading...
Searching...
No Matches
la_lapack::poequb Interface Reference

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...

Public Member Functions

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
 

Detailed Description

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).

Member Function/Subroutine Documentation

◆ 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: