SRC/sggbal.f(3)
π SRC/sggbal.f(3)
okay so bestie, this page is from the Library Functions Manual, and itβs all about SRC/sggbal.f β the file, the icon, the main character. π
β¨ NAME β¨
SRC/sggbal.f β thatβs the file, no cap. π
π SYNOPSIS π
π§ Functions/Subroutines
subroutine sggbal (job, n, a, lda, b, ldb, ilo, ihi, lscale, rscale,
work, info)
SGGBAL
π¦ Function/Subroutine Documentation π¦
subroutine sggbal (character job, integer n, real, dimension( lda, * ) a,
integer lda, real, dimension( ldb, * ) b, integer ldb, integer ilo,
integer ihi, real, dimension( * ) lscale, real, dimension( * ) rscale,
real, dimension( * ) work, integer info)
SGGBAL
π«Ά Purpose
okay so SGGBAL balances a pair of general real 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. Thatβs the whole vibe check. π
π Parameters
JOBβJOB is CHARACTER*1. 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βN is INTEGER. The order of the matricesAandB.N >= 0.AβA is REAL array, dimension (LDA,N). On entry, the input matrixA. On exit,Ais overwritten by the balanced matrix. IfJOB = 'N',Ais not referenced.LDAβLDA is INTEGER. The leading dimension of the arrayA.LDA >= max(1,N).BβB is REAL array, dimension (LDB,N). On entry, the input matrixB. On exit,Bis overwritten by the balanced matrix. IfJOB = 'N',Bis not referenced.LDBβLDB is INTEGER. The leading dimension of the arrayB.LDB >= max(1,N).ILOβILO is INTEGER.IHIβIHI is INTEGER.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βLSCALE is REAL array, 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βRSCALE is REAL array, 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:
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.
yes, the source really keepsLSCALE(j)in thisRSCALEformula block β Iβm preserving it exactly, bestie ππ
WORKβWORK is REAL array, dimension (lwork).lworkmust be at leastmax(1,6*N)whenJOB = 'S'or'B', and at least1whenJOB = 'N'or'P'.INFOβINFO is INTEGER:= 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 sggbal.f.
β Author β
Generated automatically by Doxygen for LAPACK from the source code.
and thatβs the cute little footer stamp, bestie: LAPACK Version 3.12.0, from SRC/sggbal.f(3). 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