STGSY2(3)
π¦ STGSY2(3) β LAPACK Library Functions Manual π¦
okay bestie, welcome to the STGSY2(3) page from the LAPACK Library Functions Manual β this is the whole vibe, no cap π
π NAME π
the name is literally this path, bestie:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/stgsy2.f
β¨ SYNOPSIS β¨
Functions/Subroutines
Functions/Subroutines
subroutine STGSY2 (trans, ijob, m, n, a, lda, b, ldb, c, ldc, d, ldd, e,
lde, f, ldf, scale, rdsum, rdscal, iwork, pq, info)
STGSY2 solves the generalized Sylvester equation (unblocked
algorithm).
π Function/Subroutine Documentation π
subroutine STGSY2 (character trans, integer ijob, integer m, integer n,
real, dimension( lda, * ) a, integer lda, real, dimension( ldb, * ) b,
integer ldb, real, dimension( ldc, * ) c, integer ldc, real, dimension(
ldd, * ) d, integer ldd, real, dimension( lde, * ) e, integer lde, real,
dimension( ldf, * ) f, integer ldf, real scale, real rdsum, real rdscal,
integer, dimension( * ) iwork, integer pq, integer info)
STGSY2 solves the generalized Sylvester equation using the unblocked algorithm β periodt π
π― Purpose π―
okay so STGSY2 solves the generalized Sylvester equation:
A * R - L * B = scale * C (1)
D * R - L * E = scale * F,
and it does this using Level 1 and 2 BLAS. where R and L are unknown M-by-N matrices, (A, D), (B, E) and (C, F) are given matrix pairs of size M-by-M, N-by-N and M-by-N, respectively, with real entries. (A, D) and (B, E) must be in generalized Schur canonical form, i.e. A, B are upper quasi triangular and D, E are upper triangular. The solution (R, L) overwrites (C, F). 0 <= SCALE <= 1 is an output scaling factor chosen to avoid overflow. π«Ά
In matrix notation solving equation (1) corresponds to solve Z*x = scale*b, where Z is defined as:
Z = [ kron(In, A) -kron(B**T, Im) ] (2)
[ kron(In, D) -kron(E**T, Im) ],
Ik is the identity matrix of size k and X**T is the transpose of X. kron(X, Y) is the Kronecker product between the matrices X and Y. In the process of solving (1), we solve a number of such systems where Dim(In), Dim(In) = 1 or 2.
If TRANS = 'T', solve the transposed system Z**T*y = scale*b for y, which is equivalent to solve for R and L in:
A**T * R + D**T * L = scale * C (3)
R * B**T + L * E**T = scale * -F
This case is used to compute an estimate of Dif[(A, D), (B, E)] = sigma_min(Z) using reverse communication with SLACON.
STGSY2 also β when IJOB >= 1 β contributes to the computation in STGSYL of an upper bound on the separation between to matrix pairs. Then the input (A, D), (B, E) are sub-pencils of the matrix pair in STGSYL. See STGSYL for details. π₯
π§Ύ Parameters π§Ύ
TRANSβTRANS is CHARACTER*1= 'N': solve the generalized Sylvester equation (1).= 'T': solve the 'transposed' system (3).
IJOBβIJOB is INTEGER- Specifies what kind of functionality to be performed.
= 0: solve (1) only.= 1: A contribution from this subsystem to a Frobenius norm-based estimate of the separation between two matrix pairs is computed. (look ahead strategy is used).= 2: A contribution from this subsystem to a Frobenius norm-based estimate of the separation between two matrix pairs is computed. (SGECONon sub-systems is used.)- Not referenced if
TRANS = 'T'.
MβM is INTEGER- On entry,
Mspecifies the order ofAandD, and the row dimension ofC,F,RandL.
- On entry,
NβN is INTEGER- On entry,
Nspecifies the order ofBandE, and the column dimension ofC,F,RandL.
- On entry,
AβA is REAL array, dimension (LDA, M)- On entry,
Acontains an upper quasi triangular matrix.
- On entry,
LDAβLDA is INTEGER- The leading dimension of the matrix
A.LDA >= max(1, M).
- The leading dimension of the matrix
BβB is REAL array, dimension (LDB, N)- On entry,
Bcontains an upper quasi triangular matrix.
- On entry,
LDBβLDB is INTEGER- The leading dimension of the matrix
B.LDB >= max(1, N).
- The leading dimension of the matrix
CβC is REAL array, dimension (LDC, N)- On entry,
Ccontains the right-hand-side of the first matrix equation in (1). - On exit, if
IJOB = 0,Chas been overwritten by the solutionR.
- On entry,
LDCβLDC is INTEGER- The leading dimension of the matrix
C.LDC >= max(1, M).
- The leading dimension of the matrix
DβD is REAL array, dimension (LDD, M)- On entry,
Dcontains an upper triangular matrix.
- On entry,
LDDβLDD is INTEGER- The leading dimension of the matrix
D.LDD >= max(1, M).
- The leading dimension of the matrix
EβE is REAL array, dimension (LDE, N)- On entry,
Econtains an upper triangular matrix.
- On entry,
LDEβLDE is INTEGER- The leading dimension of the matrix
E.LDE >= max(1, N).
- The leading dimension of the matrix
FβF is REAL array, dimension (LDF, N)- On entry,
Fcontains the right-hand-side of the second matrix equation in (1). - On exit, if
IJOB = 0,Fhas been overwritten by the solutionL.
- On entry,
LDFβLDF is INTEGER- The leading dimension of the matrix
F.LDF >= max(1, M).
- The leading dimension of the matrix
SCALEβSCALE is REAL- On exit,
0 <= SCALE <= 1. If0 < SCALE < 1, the solutionsRandL(CandFon entry) will hold the solutions to a slightly perturbed system but the input matricesA,B,DandEhave not been changed. IfSCALE = 0,RandLwill hold the solutions to the homogeneous system withC = F = 0. Normally,SCALE = 1.
- On exit,
RDSUMβRDSUM is REAL- On entry, the sum of squares of computed contributions to the Dif-estimate under computation by
STGSYL, where the scaling factorRDSCAL(see below) has been factored out. - On exit, the corresponding sum of squares updated with the contributions from the current sub-system.
- If
TRANS = 'T'RDSUMis not touched.
- On entry, the sum of squares of computed contributions to the Dif-estimate under computation by
NOTE:RDSUMonly makes sense whenSTGSY2is called bySTGSYL.
RDSCALβRDSCAL is REAL- On entry, scaling factor used to prevent overflow in
RDSUM. - On exit,
RDSCALis updated w.r.t. the current contributions inRDSUM. - If
TRANS = 'T',RDSCALis not touched.
- On entry, scaling factor used to prevent overflow in
NOTE:RDSCALonly makes sense whenSTGSY2is called bySTGSYL.
IWORKβIWORK is INTEGER array, dimension (M+N+2)PQβPQ is INTEGER- On exit, the number of subsystems (of size 2-by-2, 4-by-4 and 8-by-8) solved by this routine.
INFOβINFO is INTEGER- On exit, if
INFOis set to: =0: Successful exit<0: IfINFO = -i, the i-th argument had an illegal value.>0: The matrix pairs(A, D)and(B, E)have common or very close eigenvalues.
- On exit, if
ποΈ Author ποΈ
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Contributors π
Bo Kagstrom and Peter Poromaa, Department of Computing Science, Umea University, S-901 87 Umea, Sweden.
π Definition π
Definition at line 271 of file stgsy2.f.
π€ Author (generated) π€
Generated automatically by Doxygen for LAPACK from the source code.
okay bestie, thatβs the whole STGSY2(3) page !!! π
this footer is LAPACK Version 3.12.0, path /home/abui...RC/stgsy2.f(3) π«Άβ¨
π¦ 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