SRC/dlarrf.f(3)

πŸ’… SRC/dlarrf.f β€” from the Library Functions Manual

okay bestie, buckle up πŸ’– this is a page straight outta the LAPACK Library Functions Manual, and honestly? it's giving linear algebra main character energy. it's a Fortran source page for SRC/dlarrf.f, and it's literally about finding a new, relatively robust representation so that at least one eigenvalue ends up relatively isolated. no cap, that's the whole vibe. ✨


🌸 NAME 🌸

SRC/dlarrf.f β€” that's the file, that's the name, we move.


✨ SYNOPSIS ✨

Functions/Subroutines

subroutine dlarrf (n, d, l, ld, clstrt, clend, w, wgap, werr, spdiam,
    clgapl, clgapr, pivmin, sigma, dplus, lplus, work, info)

DLARRF finds a new relatively robust representation such that at least one of the eigenvalues is relatively isolated. periodt. πŸ‘‘


πŸ¦‹ Function/Subroutine Documentation πŸ¦‹

subroutine dlarrf

here's the full signature, copied exactly, don't @ me:

subroutine dlarrf (integer n, double precision, dimension( * ) d, double
    precision, dimension( * ) l, double precision, dimension( * ) ld,
    integer clstrt, integer clend, double precision, dimension( * ) w,
    double precision, dimension( * ) wgap, double precision, dimension( * )
    werr, double precision spdiam, double precision clgapl, double precision
    clgapr, double precision pivmin, double precision sigma, double
    precision, dimension( * ) dplus, double precision, dimension( * ) lplus,
    double precision, dimension( * ) work, integer info)

DLARRF finds a new relatively robust representation such that at least one of the eigenvalues is relatively isolated. πŸŽ€ that's the whole job description, and she ate.

πŸ’œ Purpose

Given the initial representation L D L^T and its cluster of close eigenvalues (in a relative measure), W( CLSTRT ), W( CLSTRT+1 ), ... W( CLEND ), DLARRF finds a new relatively robust representation:

L D L^T - SIGMA I = L(+) D(+) L(+)^T

such that at least one of the eigenvalues of L(+) D(+) L(+)^T is relatively isolated. it's giving glow-up for matrices, honestly. 🌈


πŸŽ€ Parameters πŸŽ€

okay so here's literally every single one of them, no skipping, we don't do that here:

  • N β€” N is INTEGER. The order of the matrix (subblock, if the matrix split). she's the boss of how big everything is. πŸ‘‘
  • D β€” D is DOUBLE PRECISION array, dimension (N). The N diagonal elements of the diagonal matrix D. the main characters of the diagonal, fr. ⭐
  • L β€” L is DOUBLE PRECISION array, dimension (N-1). The (N-1) subdiagonal elements of the unit bidiagonal matrix L. lowkey the supporting cast. πŸ¦‹
  • LD β€” LD is DOUBLE PRECISION array, dimension (N-1). The (N-1) elements L(i)*D(i). collab of L and D, iconic. πŸ’«
  • CLSTRT β€” CLSTRT is INTEGER. The index of the first eigenvalue in the cluster. where the clique starts. 🫢
  • CLEND β€” CLEND is INTEGER. The index of the last eigenvalue in the cluster. where the clique ends. bye bestie πŸ‘‹
  • W β€” W is DOUBLE PRECISION array, dimension β€” the dimension is >= (CLEND-CLSTRT+1). The eigenvalue APPROXIMATIONS of L D L^T in ascending order. W( CLSTRT ) through W( CLEND ) form the cluster of relatively close eigenalues. (yes, "eigenalues" β€” that's the original spelling, I'm not gonna fix it, I'm not her editor 😭)
  • WGAP β€” WGAP is DOUBLE PRECISION array, dimension β€” the dimension is >= (CLEND-CLSTRT+1). The separation from the right neighbor eigenvalue in W. personal space: respected. πŸ™ˆ
  • WERR β€” WERR is DOUBLE PRECISION array, dimension β€” the dimension is >= (CLEND-CLSTRT+1). WERR contain the semiwidth of the uncertainty interval of the corresponding eigenvalue APPROXIMATION in W. it's giving "how sure are we, on a scale of vibes". πŸ’€
  • SPDIAM β€” SPDIAM is DOUBLE PRECISION. estimate of the spectral diameter obtained from the Gerschgorin intervals. πŸ“
  • CLGAPL β€” CLGAPL is DOUBLE PRECISION. (that's it. that's the whole description. she's mysterious. we respect it.) 🧚
  • CLGAPR β€” CLGAPR is DOUBLE PRECISION. absolute gap on each end of the cluster. Set by the calling routine to protect against shifts too close to eigenvalues outside the cluster. protective friend energy, honestly. πŸ›‘οΈ
  • PIVMIN β€” PIVMIN is DOUBLE PRECISION. The minimum pivot allowed in the Sturm sequence. the floor, the limit, the "no further" line. πŸ”₯
  • SIGMA β€” SIGMA is DOUBLE PRECISION. The shift used to form L(+) D(+) L(+)^T. she's the reason there's a plus version of everything. ✨
  • DPLUS β€” DPLUS is DOUBLE PRECISION array, dimension (N). The N diagonal elements of the diagonal matrix D(+). the upgraded diagonal, glow-up complete. πŸ’…
  • LPLUS β€” LPLUS is DOUBLE PRECISION array, dimension (N-1). The first (N-1) elements of LPLUS contain the subdiagonal elements of the unit bidiagonal matrix L(+). also glow-upped. πŸ¦‹
  • WORK β€” WORK is DOUBLE PRECISION array, dimension (2*N). Workspace. (short, sweet, does the job πŸ’–)
  • INFO β€” INFO is INTEGER. Signals processing OK (=0) or failure (=1). zero means slay, one means something went sideways, keep an eye on her. 🚨

πŸ’– Author πŸ’–

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

πŸ‘‘ Contributors πŸ‘‘

  • Beresford Parlett, University of California, Berkeley, USA
  • Jim Demmel, University of California, Berkeley, USA
  • Inderjit Dhillon, University of Texas, Austin, USA
  • Osni Marques, LBNL/NERSC, USA
  • Christof Voemel, University of California, Berkeley, USA

legends, all of them. 🫢


⭐ a lil note ⭐

Definition at line 189 of file dlarrf.f.


🌸 Author 🌸

Generated automatically by Doxygen for LAPACK from the source code. (the robots wrote this one, we're just vibing with it πŸ€–βœ¨)


k bye bestie, that's the whole page, mwah πŸ’‹

this cutie was brought to you by LAPACK, Version 3.12.0, and the page SRC/dlarrf.f(3) β€” go forth and isolate those eigenvalues, iykyk πŸ’œπŸŽ€

πŸ“¦ where this page comes from