poequb Interface

public interface poequb

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


Subroutines

public pure subroutine cpoequb(n, a, lda, s, scond, amax, info)

Arguments

Type IntentOptional Attributes Name
integer(kind=ilp), intent(in) :: n
complex(kind=sp), intent(in) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
real(kind=sp), intent(out) :: s(*)
real(kind=sp), intent(out) :: scond
real(kind=sp), intent(out) :: amax
integer(kind=ilp), intent(out) :: info

public pure subroutine dpoequb(n, a, lda, s, scond, amax, info)

Arguments

Type IntentOptional Attributes Name
integer(kind=ilp), intent(in) :: n
real(kind=dp), intent(in) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
real(kind=dp), intent(out) :: s(*)
real(kind=dp), intent(out) :: scond
real(kind=dp), intent(out) :: amax
integer(kind=ilp), intent(out) :: info

public pure subroutine spoequb(n, a, lda, s, scond, amax, info)

Arguments

Type IntentOptional Attributes Name
integer(kind=ilp), intent(in) :: n
real(kind=sp), intent(in) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
real(kind=sp), intent(out) :: s(*)
real(kind=sp), intent(out) :: scond
real(kind=sp), intent(out) :: amax
integer(kind=ilp), intent(out) :: info

public pure subroutine zpoequb(n, a, lda, s, scond, amax, info)

Arguments

Type IntentOptional Attributes Name
integer(kind=ilp), intent(in) :: n
complex(kind=dp), intent(in) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
real(kind=dp), intent(out) :: s(*)
real(kind=dp), intent(out) :: scond
real(kind=dp), intent(out) :: amax
integer(kind=ilp), intent(out) :: info

Module Procedures

public interface stdlib_cpoequb()

Arguments

None

public interface stdlib_dpoequb()

Arguments

None

public interface stdlib_spoequb()

Arguments

None

public interface stdlib_zpoequb()

Arguments

None