SRC/zggbal.f(3)
NAME πΈ
SRC/zggbal.f
Hey bestie π welcome to the Library Functions Manual page for SRC/zggbal.f β this is the whole vibe, and the star of the show is ZGGBAL. No cap, weβre keeping every single detail.
SYNOPSIS β¨
Functions/Subroutines π
subroutine zggbal (job, n, a, lda, b, ldb, ilo, ihi, lscale, rscale, work, info)
ZGGBAL
Function/Subroutine Documentation π«Ά
ZGGBAL π
subroutine zggbal (character job, integer n, complex*16, dimension( lda, * ) a, integer lda, complex*16, dimension( ldb, * ) b, integer ldb, integer ilo, integer ihi, double precision, dimension( * ) lscale, double precision, dimension( * ) rscale, double precision, dimension( * ) work, integer info)
Purpose π―
Okay so ZGGBAL 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 A*x = lambda*B*x.
Parameters π
JOBβJOBisCHARACTER*1. It specifies the operations to be performed onAandB:= '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βNisINTEGER. The order of the matricesAandB.N >= 0.AβAisCOMPLEX*16array, dimension(LDA,N). On entry, the input matrixA. On exit,Ais overwritten by the balanced matrix. IfJOB = 'N',Ais not referenced.LDAβLDAisINTEGER. The leading dimension of the arrayA.LDA >= max(1,N).BβBisCOMPLEX*16array, dimension(LDB,N). On entry, the input matrixB. On exit,Bis overwritten by the balanced matrix. IfJOB = 'N',Bis not referenced.LDBβLDBisINTEGER. The leading dimension of the arrayB.LDB >= max(1,N).ILOβILOisINTEGER.IHIβIHIisINTEGER.ILOandIHIare set to integers such that on exitA(i,j) = 0andB(i,j) = 0ifi > jandj = 1,...,ILO-1ori = IHI+1,...,N. IfJOB = 'N'or'S',ILO = 1andIHI = N.LSCALEβLSCALEisDOUBLE PRECISIONarray, dimension(N). Details of the permutations and scaling factors applied to the left side ofAandB. IfP(j)is the index of the row interchanged with rowj, andD(j)is the scaling factor applied to rowj, 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βRSCALEisDOUBLE PRECISIONarray, dimension(N). Details of the permutations and scaling factors applied to the right side ofAandB. IfP(j)is the index of the column interchanged with columnj, andD(j)is the scaling factor applied to columnj, then
RSCALE(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.
WORKβWORKisDOUBLE PRECISIONarray, dimension(lwork).lworkmust be at leastmax(1,6*N)whenJOB = 'S'or'B', and at least1whenJOB = 'N'or'P'.INFOβINFOisINTEGER:= 0: successful exit< 0: ifINFO = -i, thei-th argument had an illegal value.
Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG 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 zggbal.f.
Author π
Generated automatically by Doxygen for LAPACK from the source code.
Okay bye bestie π«Ά this footer moment is LAPACK, Version 3.12.0, page SRC/zggbal.f(3) β and the page doesnβt print a date, so thatβs the whole date situation. Doxygen generated it automatically for LAPACK from the source code. Periodt. πβ¨
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms