lasy2(3)
π lasy2(3) β Sylvester equation, but make it β¨main characterβ¨
okay so bestie, welcome to lasy2, the manual page for lasy2, which is the whole cute little family of routines that solves the Sylvester equation. it's giving "small matrices, big attitude" because literally everything here is order 1 or 2 β yes, ONE or TWO, that's the whole vibe. π
πΈ NAME πΈ
lasy2 β lasy2: Sylvester equation. no cap, that's the name, that's the job. π¦
β¨ SYNOPSIS β¨
π Functions π
subroutine dlasy2(ltranl,ltranr,isgn,n1,n2,tl,ldtl,tr,ldtr,b,ldb,scale,x,ldx,xnorm,info) βDLASY2solves the Sylvester matrix equation where the matrices are of order 1 or 2. πsubroutine slasy2(ltranl,ltranr,isgn,n1,n2,tl,ldtl,tr,ldtr,b,ldb,scale,x,ldx,xnorm,info) βSLASY2solves the Sylvester matrix equation where the matrices are of order 1 or 2. π
ngl, they're the same routine wearing different outfits β one's DOUBLE PRECISION coded, one's REAL coded. both iconic. π
π DESCRIPTION π
Detailed Description
Not much to say here bestie, it's a Doxygen-generated page so the "description" section is literally just vibing before the function docs start. lowkey a place holder, but we respect it. π
Function Documentation
π subroutine dlasy2 π
subroutine dlasy2 (logical ltranl, logical ltranr, integer isgn, integer n1,
integer n2, double precision, dimension( ldtl, * ) tl, integer ldtl,
double precision, dimension( ldtr, * ) tr, integer ldtr, double
precision, dimension( ldb, * ) b, integer ldb, double precision scale,
double precision, dimension( ldx, * ) x, integer ldx, double precision
xnorm, integer info)
DLASY2 solves the Sylvester matrix equation where the matrices are of order 1 or 2. that's it, that's the whole flex. πͺ
π«Ά Purpose π«Ά
!>
!> DLASY2 solves for the N1 by N2 matrix X, 1 <= N1,N2 <= 2, in
!>
!> op(TL)*X + ISGN*X*op(TR) = SCALE*B,
!>
!> where TL is N1 by N1, TR is N2 by N2, B is N1 by N2, and ISGN = 1 or
!> -1. op(T) = T or T**T, where T**T denotes the transpose of T.
!>
so like, DLASY2 solves for that N1 by N2 matrix X, with 1 <= N1,N2 <= 2, in the equation above βοΈ where TL is N1 by N1, TR is N2 by N2, B is N1 by N2, and ISGN = 1 or -1. and op(T) = T or T**T, where T**T means the transpose of T. math but make it cute. β¨
π Parameters π
LTRANLβLTRANL is LOGICAL. On entry,LTRANLspecifies theop(TL):= .FALSE.,op(TL) = TL,= .TRUE.,op(TL) = TL**T.
LTRANRβLTRANR is LOGICAL. On entry,LTRANRspecifies theop(TR):= .FALSE.,op(TR) = TR,= .TRUE.,op(TR) = TR**T.
ISGNβISGN is INTEGER. On entry,ISGNspecifies the sign of the equation as described before.ISGNmay only be1or-1. that's the whole range, bestie, don't try to be creative. πN1βN1 is INTEGER. On entry,N1specifies the order of matrixTL.N1may only be0,1or2. tiny numbers only, we stay small over here. π§N2βN2 is INTEGER. On entry,N2specifies the order of matrixTR.N2may only be0,1or2. same energy. π§TLβTL is DOUBLE PRECISION array, dimension (LDTL,2). On entry,TLcontains anN1byN1matrix.LDTLβLDTL is INTEGER. The leading dimension of the matrixTL.LDTL >= max(1,N1).TRβTR is DOUBLE PRECISION array, dimension (LDTR,2). On entry,TRcontains anN2byN2matrix.LDTRβLDTR is INTEGER. The leading dimension of the matrixTR.LDTR >= max(1,N2).BβB is DOUBLE PRECISION array, dimension (LDB,2). On entry, theN1byN2matrixBcontains the right-hand side of the equation. it's literally the RHS, she's the support system. π«ΆLDBβLDB is INTEGER. The leading dimension of the matrixB.LDB >= max(1,N1).SCALEβSCALE is DOUBLE PRECISION. On exit,SCALEcontains the scale factor.SCALEis chosen less than or equal to1to prevent the solution overflowing. she's here to keep things from spilling over, a true queen of damage control. πXβX is DOUBLE PRECISION array, dimension (LDX,2). On exit,Xcontains theN1byN2solution. the moment we've all been waiting for. πLDXβLDX is INTEGER. The leading dimension of the matrixX.LDX >= max(1,N1).XNORMβXNORM is DOUBLE PRECISION. On exit,XNORMis the infinity-norm of the solution. infinity-norm sounds dramatic and honestly? it is. βINFOβINFO is INTEGER. On exit,INFOis set to:0: successful exit. slay. π1:TLandTRhave too close eigenvalues, soTLorTRis perturbed to get a nonsingular equation. yeah she got nudged. it's fine. it's fine!! π
NOTE: In the interests of speed, this routine does not check the inputs for errors. bestie this is the loud part β it means if you feed her garbage, she will simply accept the garbage. no vibe check, no validation, just speed. handle your own error checking fr fr. π
πΈ Author πΈ
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 172 of file dlasy2.f.
π subroutine slasy2 π
subroutine slasy2 (logical ltranl, logical ltranr, integer isgn, integer n1,
integer n2, real, dimension( ldtl, * ) tl, integer ldtl, real,
dimension( ldtr, * ) tr, integer ldtr, real, dimension( ldb, * ) b,
integer ldb, real scale, real, dimension( ldx, * ) x, integer ldx, real
xnorm, integer info)
SLASY2 solves the Sylvester matrix equation where the matrices are of order 1 or 2. same routine, REAL era. π¦
π«Ά Purpose π«Ά
!>
!> SLASY2 solves for the N1 by N2 matrix X, 1 <= N1,N2 <= 2, in
!>
!> op(TL)*X + ISGN*X*op(TR) = SCALE*B,
!>
!> where TL is N1 by N1, TR is N2 by N2, B is N1 by N2, and ISGN = 1 or
!> -1. op(T) = T or T**T, where T**T denotes the transpose of T.
!>
identical equation, identical energy, just REAL instead of DOUBLE PRECISION. the way that math doesn't change when you change precision... we love consistency. π
π Parameters π
LTRANLβLTRANL is LOGICAL. On entry,LTRANLspecifies theop(TL):= .FALSE.,op(TL) = TL,= .TRUE.,op(TL) = TL**T.
LTRANRβLTRANR is LOGICAL. On entry,LTRANRspecifies theop(TR):= .FALSE.,op(TR) = TR,= .TRUE.,op(TR) = TR**T.
ISGNβISGN is INTEGER. On entry,ISGNspecifies the sign of the equation as described before.ISGNmay only be1or-1. again. only those two. stay in your lane babe. πN1βN1 is INTEGER. On entry,N1specifies the order of matrixTL.N1may only be0,1or2. π§N2βN2 is INTEGER. On entry,N2specifies the order of matrixTR.N2may only be0,1or2. π§TLβTL is REAL array, dimension (LDTL,2). On entry,TLcontains anN1byN1matrix.LDTLβLDTL is INTEGER. The leading dimension of the matrixTL.LDTL >= max(1,N1).TRβTR is REAL array, dimension (LDTR,2). On entry,TRcontains anN2byN2matrix.LDTRβLDTR is INTEGER. The leading dimension of the matrixTR.LDTR >= max(1,N2).BβB is REAL array, dimension (LDB,2). On entry, theN1byN2matrixBcontains the right-hand side of the equation. π«ΆLDBβLDB is INTEGER. The leading dimension of the matrixB.LDB >= max(1,N1).SCALEβSCALE is REAL. On exit,SCALEcontains the scale factor.SCALEis chosen less than or equal to1to prevent the solution overflowing. still the anti-overflow queen. πXβX is REAL array, dimension (LDX,2). On exit,Xcontains theN1byN2solution. β¨LDXβLDX is INTEGER. The leading dimension of the matrixX.LDX >= max(1,N1).XNORMβXNORM is REAL. On exit,XNORMis the infinity-norm of the solution. βINFOβINFO is INTEGER. On exit,INFOis set to:0: successful exit. π1:TLandTRhave too close eigenvalues, soTLorTRis perturbed to get a nonsingular equation. π
NOTE: In the interests of speed, this routine does not check the inputs for errors. same warning, same meaning β she's fast and she trusts you. do not betray that trust. π
πΈ Author πΈ
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 172 of file slasy2.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code. yes bestie, a robot wrote this page, and honestly it ate. π€π
okay that's the whole page!! before you go β this page is from LAPACK, Version 3.12.0, and the lasy2(3) page itself is dated the same as that release. go forth and solve your 1Γ1 and 2Γ2 Sylvester equations, you absolute legend. ππβ¨π¦πΈπ«Ά
π¦ 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