DGGBAL(3)
π NAME
okay so bestie, this is dggbal.f(3) from the Library Functions Manual β the header path situation is /home/abui...RC/dggbal.f(3) (yes, it appears twice, sheβs extra π
), and the actual source file path is:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dggbal.f
thatβs the file behind this manual page, periodt.
β¨ SYNOPSIS
hereβs the call preview, exactly as written:
Functions/Subroutines
subroutine DGGBAL (job, n, a, lda, b, ldb, ilo, ihi, lscale, rscale,
work, info)
DGGBAL
π«Ά Function/Subroutine Documentation
the full signature, character-for-character:
subroutine DGGBAL (character job, integer n, double precision, dimension(
lda, * ) a, integer lda, double precision, dimension( ldb, * ) b,
integer ldb, integer ilo, integer ihi, double precision, dimension( * )
lscale, double precision, dimension( * ) rscale, double precision,
dimension( * ) work, integer info)
DGGBAL
π Purpose
DGGBAL is the bestie that balances a pair of general real matrices (A,B). first, it permutes 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. second, it applies 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 β choose your adventure with JOB, no cap.
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 A*x = lambda*B*x. iconic behavior honestly.
πΈ Parameters
okay parameter roll call β every single one, no skips:
JOB
JOB is CHARACTER*1 β specifies the operations to be performed on A and B:
= 'N'β none: simply setILO = 1,IHI = N,LSCALE(I) = 1.0andRSCALE(I) = 1.0fori = 1,...,N.= 'P'β permute only;= 'S'β scale only;= 'B'β both permute and scale.
N
N is INTEGER β the order of the matrices A and B. N >= 0.
A
A is DOUBLE PRECISION array, dimension (LDA,N) β on entry, the input matrix A; on exit, A is overwritten by the balanced matrix. if JOB = 'N', A is not referenced.
LDA
LDA is INTEGER β the leading dimension of the array A. LDA >= max(1,N).
B
B is DOUBLE PRECISION array, dimension (LDB,N) β on entry, the input matrix B; on exit, B is overwritten by the balanced matrix. if JOB = 'N', B is not referenced.
LDB
LDB is INTEGER β the leading dimension of the array B. LDB >= max(1,N).
ILO
ILO is INTEGER β see IHI right below, theyβre a package deal π«Ά
IHI
IHI is INTEGER β ILO and IHI are set to integers such that on exit A(i,j) = 0 and B(i,j) = 0 if i > j and j = 1,...,ILO-1 or i = IHI+1,...,N. if JOB = 'N' or 'S', ILO = 1 and IHI = N.
LSCALE
LSCALE is DOUBLE PRECISION array, dimension (N) β the tea on permutations and scaling factors applied to the left side of A and B. if P(j) is the index of the row interchanged with row j, and D(j) is the scaling factor applied to row j, then:
LSCALE(j) = P(j) for J = 1,...,ILO-1
= D(j) for J = ILO,...,IHI
= P(j) for J = IHI+1,...,N.
the order in which the interchanges are made is N to IHI+1, then 1 to ILO-1.
RSCALE
RSCALE is DOUBLE PRECISION array, dimension (N) β same energy, but for the right side of A and B. if P(j) is the index of the column interchanged with column j, and D(j) is the scaling factor applied to column j, then:
LSCALE(j) = P(j) for J = 1,...,ILO-1
= D(j) for J = ILO,...,IHI
= P(j) for J = IHI+1,...,N.
yes, the source literally writes LSCALE(j) in the RSCALE block too β Iβm preserving that exactly, no autocorrect energy π. the order in which the interchanges are made is N to IHI+1, then 1 to ILO-1.
WORK
WORK is DOUBLE PRECISION array, dimension (lwork) β lwork must be at least max(1,6*N) when JOB = 'S' or 'B', and at least 1 when JOB = 'N' or 'P'.
INFO
INFO is INTEGER β
= 0β successful exit< 0β ifINFO = -i, thei-th argument had an illegal value.
π Author
the credited institutions are:
Univ. of TennesseeUniv. of California BerkeleyUniv. of Colorado DenverNAG Ltd.
π₯ Further Details
see R.C. WARD, Balancing the generalized eigenvalue problem, SIAM J. Sci. Stat. Comp. 2 (1981), 141-152.
Definition at line 175 of file dggbal.f.
π¦ Author (generated)
Generated automatically by Doxygen for LAPACK from the source code.
okay thatβs the whole page, bestie. the footer source/version line is LAPACK Version 3.12.0 /home/abui...RC/dggbal.f(3) β the footer has no date, so Iβm not inventing one π. go balance those generalized eigenvalue problems and slay π
β¨
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms