SRC/dlasy2.f(3)
π SRC/dlasy2.f β like, the whole entire manual page, bestie
okay so this is the dlasy2.f page from the LAPACK Library Functions Manual and honestly? it's giving "tiny routine, big brain energy" β¨ stay with me, we're gonna get through it together π«Ά
πΈ SYNOPSIS β Functions/Subroutines
subroutine dlasy2 (ltranl, ltranr, isgn, n1, n2, tl, ldtl, tr, ldtr, b,
ldb, scale, x, ldx, xnorm, info)
DLASY2 solves the Sylvester matrix equation where the matrices are of order 1 or 2. no cap, that's literally what it does π₯
π¦ Function/Subroutine Documentation
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. (yes I said it twice, it's iconic, let it have its moment π
)
π 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. tiny matrices only (1 or 2, periodt), and you're solving for X. that's the vibe π
β¨ Parameters β¨
LTRANLβLTRANLisLOGICAL. on entry,LTRANLspecifies theop(TL):
= .FALSE., op(TL) = TL,
= .TRUE., op(TL) = TL**T.
LTRANRβLTRANRisLOGICAL. on entry,LTRANRspecifies theop(TR):
= .FALSE., op(TR) = TR,
= .TRUE., op(TR) = TR**T.
ISGNβISGNisINTEGER. on entry,ISGNspecifies the sign of the equation as described before.ISGNmay only be1or-1. π¨ like, only those two, don't try anything cute π¨N1βN1isINTEGER. on entry,N1specifies the order of matrixTL.N1may only be0,1or2. (yes,0is allowed, we don't judge π)N2βN2isINTEGER. on entry,N2specifies the order of matrixTR.N2may only be0,1or2. (same rules, same energy β)TLβTLisDOUBLE PRECISIONarray, dimension(LDTL,2). on entry,TLcontains anN1byN1matrix. πLDTLβLDTLisINTEGER. the leading dimension of the matrixTL.LDTL >= max(1,N1).TRβTRisDOUBLE PRECISIONarray, dimension(LDTR,2). on entry,TRcontains anN2byN2matrix. π¦LDTRβLDTRisINTEGER. the leading dimension of the matrixTR.LDTR >= max(1,N2).BβBisDOUBLE PRECISIONarray, dimension(LDB,2). on entry, theN1byN2matrixBcontains the right-hand side of the equation. πLDBβLDBisINTEGER. the leading dimension of the matrixB.LDB >= max(1,N1).SCALEβSCALEisDOUBLE PRECISION. on exit,SCALEcontains the scale factor.SCALEis chosen less than or equal to1to prevent the solution overflowing. π (it's literally out here protectingXfrom itself, we stan)XβXisDOUBLE PRECISIONarray, dimension(LDX,2). on exit,Xcontains theN1byN2solution. the main character, fr fr πLDXβLDXisINTEGER. the leading dimension of the matrixX.LDX >= max(1,N1).XNORMβXNORMisDOUBLE PRECISION. on exit,XNORMis the infinity-norm of the solution. πINFOβINFOisINTEGER. on exit,INFOis set to:
0: successful exit.
1: TL and TR have too close eigenvalues, so TL or
TR is perturbed to get a nonsingular equation.
NOTE: In the interests of speed, this routine does not check the inputs for errors. π so likeβ¦ please check your own inputs bestie, it is NOT gonna do it for you π
π§ Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 172 of file dlasy2.f. π
π Author (again, yes)
Generated automatically by Doxygen for LAPACK from the source code. π€β¨
and that's the whole entire page, no skips, no cuts, we ate and left absolutely no crumbs π
LAPACK Version 3.12.0 πΈ SRC/dlasy2.f(3) β mwah, go solve something tiny and iconic ππ«Ά
π¦ 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