ggbal Interface

public interface ggbal

GGBAL balances a pair of general complex matrices (A,B). This involves, first, permuting A and B by similarity transformations to isolate eigenvalues in the first 1 to ILO$-$1 and last IHI+1 to N elements on the diagonal; and second, applying a diagonal similarity transformation to rows and columns ILO to IHI to make the rows and columns as close in norm as possible. Both steps are optional. Balancing may reduce the 1-norm of the matrices, and improve the accuracy of the computed eigenvalues and/or eigenvectors in the generalized eigenvalue problem Ax = lambdaB*x.


Subroutines

public pure subroutine cggbal(job, n, a, lda, b, ldb, ilo, ihi, lscale, rscale, work, info)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: job
integer(kind=ilp), intent(in) :: n
complex(kind=sp), intent(inout) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
complex(kind=sp), intent(inout) :: b(ldb,*)
integer(kind=ilp), intent(in) :: ldb
integer(kind=ilp), intent(out) :: ilo
integer(kind=ilp), intent(out) :: ihi
real(kind=sp), intent(out) :: lscale(*)
real(kind=sp), intent(out) :: rscale(*)
real(kind=sp), intent(out) :: work(*)
integer(kind=ilp), intent(out) :: info

public pure subroutine dggbal(job, n, a, lda, b, ldb, ilo, ihi, lscale, rscale, work, info)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: job
integer(kind=ilp), intent(in) :: n
real(kind=dp), intent(inout) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
real(kind=dp), intent(inout) :: b(ldb,*)
integer(kind=ilp), intent(in) :: ldb
integer(kind=ilp), intent(out) :: ilo
integer(kind=ilp), intent(out) :: ihi
real(kind=dp), intent(out) :: lscale(*)
real(kind=dp), intent(out) :: rscale(*)
real(kind=dp), intent(out) :: work(*)
integer(kind=ilp), intent(out) :: info

public pure subroutine sggbal(job, n, a, lda, b, ldb, ilo, ihi, lscale, rscale, work, info)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: job
integer(kind=ilp), intent(in) :: n
real(kind=sp), intent(inout) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
real(kind=sp), intent(inout) :: b(ldb,*)
integer(kind=ilp), intent(in) :: ldb
integer(kind=ilp), intent(out) :: ilo
integer(kind=ilp), intent(out) :: ihi
real(kind=sp), intent(out) :: lscale(*)
real(kind=sp), intent(out) :: rscale(*)
real(kind=sp), intent(out) :: work(*)
integer(kind=ilp), intent(out) :: info

public pure subroutine zggbal(job, n, a, lda, b, ldb, ilo, ihi, lscale, rscale, work, info)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: job
integer(kind=ilp), intent(in) :: n
complex(kind=dp), intent(inout) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
complex(kind=dp), intent(inout) :: b(ldb,*)
integer(kind=ilp), intent(in) :: ldb
integer(kind=ilp), intent(out) :: ilo
integer(kind=ilp), intent(out) :: ihi
real(kind=dp), intent(out) :: lscale(*)
real(kind=dp), intent(out) :: rscale(*)
real(kind=dp), intent(out) :: work(*)
integer(kind=ilp), intent(out) :: info

Module Procedures

public interface stdlib_cggbal()

Arguments

None

public interface stdlib_dggbal()

Arguments

None

public interface stdlib_sggbal()

Arguments

None

public interface stdlib_zggbal()

Arguments

None