SLASORTE(l)

πŸ“¦ version 1.5, in ubuntu jammy

πŸ’– SLASORTE πŸ’–

ok so bestie, gather round, because we're talking about SLASORTE β€” a LAPACK routine (version 1.5, yes she's vintage, yes she still slays) that does exactly one job and does it with main character energy. no cap.


✨ NAME ✨

SLASORTE β€” she sorts eigenpairs so that the real ones are all cozy together and the complex ones are all cozy together. it's giving organized friend group.


🌸 SYNOPSIS 🌸

SUBROUTINE SLASORTE ( S, LDS, J, OUT, INFO )

    INTEGER         INFO, J, LDS

    REAL            OUT( J, * ), S( LDS, * )

πŸ¦‹ PURPOSE πŸ¦‹

okay so here's the vibe. SLASORTE sorts eigenpairs so that real eigenpairs are together and complex are together. the way that this is useful?? bestie. it means you can employ 2x2 shifts easily, because every 2nd subdiagonal is guaranteed to be zero. iconic behavior honestly.

and listen β€” this routine does no parallel work and makes no calls. she's a lone wolf. a solo act. no entourage. πŸ’…


πŸŽ€ ARGUMENTS πŸŽ€

  • S β€” (local input/output) REAL array, dimension LDS

on entry: a matrix already in Schur form. on exit: the diagonal blocks of S have been rewritten to pair the eigenvalues. and here's the tea, bestie β€” the resulting matrix is no longer similar to the input. she changed. she's not the same girl. 😭

  • LDS β€” (local input) INTEGER

on entry: the leading dimension of the local array S. unchanged on exit. she stays exactly as she is. πŸ’–

  • J β€” (local input) INTEGER

on entry: the order of the matrix S. unchanged on exit. also not going anywhere.

  • OUT β€” (local input/output) REAL array, dimension Jx2

this is the work buffer required by this routine. the little helper holding her bag. 🫢

  • INFO β€” (local input) INTEGER

this gets set if the input matrix had an odd number of real eigenvalues and things couldn't be paired β€” or if the input matrix S was not originally in Schur form. a 0 indicates successful completion, i.e. she ate and left no crumbs. πŸ‘‘

ngl the odd-eigenvalue situation is real. if you show up with an unpaired real eigenvalue, bestie, there is nothing to pair it with. that's just math being math.

Implemented by: G. Henry, May 1, 1997 β€” shoutout to the og, we love her legacy. 🌈


πŸ’œ SEE ALSO πŸ’œ

no see-also section, she's mysterious like that πŸ™ˆ


<div align="center">

πŸ’–βœ¨ that's the whole page, bestie βœ¨πŸ’–

LAPACK version 1.5 β€” dated 12 May 1997. yeah she's older than you and she's still out here sorting eigenpairs. periodt. πŸŽ€πŸ¦‹πŸŒΈ

</div>

πŸ“¦ where this page comes from