SRC/slaeda.f(3)

SRC/slaeda.f(3) πŸ’…

okay so this page lives in the Library Functions Manual, and it's all about one very specific LAPACK subroutine. no cap, it's giving "small but crucial" energy. πŸ¦‹

πŸŽ€ NAME πŸŽ€

SRC/slaeda.f


✨ SYNOPSIS ✨

🌸 Functions/Subroutines 🌸

subroutine slaeda (n, tlvls, curlvl, curpbm, prmptr, perm, givptr,
    givcol, givnum, q, qptr, z, ztemp, info)

SLAEDA is used by SSTEDC. It computes the Z vector determining the rank-one modification of the diagonal matrix. Used when the original matrix is dense. πŸ’–


πŸ’« Function/Subroutine Documentation πŸ’«

okay bestie, here's the full signature, character-for-character:

subroutine slaeda (integer n, integer tlvls, integer curlvl, integer curpbm,
    integer, dimension( * ) prmptr, integer, dimension( * ) perm, integer,
    dimension( * ) givptr, integer, dimension( 2, * ) givcol, real,
    dimension( 2, * ) givnum, real, dimension( * ) q, integer, dimension( *
    ) qptr, real, dimension( * ) z, real, dimension( * ) ztemp, integer
    info)

SLAEDA is used by SSTEDC. It computes the Z vector determining the rank-one modification of the diagonal matrix. Used when the original matrix is dense. 🌟

🫢 Purpose

SLAEDA computes the Z vector corresponding to the merge step in the CURLVLth step of the merge process with TLVLS steps for the CURPBMth problem. ✨

🌸 Parameters

  • N β€” N is INTEGER. The dimension of the symmetric tridiagonal matrix. N >= 0.
  • TLVLS β€” TLVLS is INTEGER. The total number of merging levels in the overall divide and conquer tree.
  • CURLVL β€” CURLVL is INTEGER. The current level in the overall merge routine, 0 <= curlvl <= tlvls.
  • CURPBM β€” CURPBM is INTEGER. The current problem in the current level in the overall merge routine (counting from upper left to lower right).
  • PRMPTR β€” PRMPTR is INTEGER array, dimension (N lg N). Contains a list of pointers which indicate where in PERM a level's permutation is stored. PRMPTR(i+1) - PRMPTR(i) indicates the size of the permutation and incidentally the size of the full, non-deflated problem.
  • PERM β€” PERM is INTEGER array, dimension (N lg N). Contains the permutations (from deflation and sorting) to be applied to each eigenblock.
  • GIVPTR β€” GIVPTR is INTEGER array, dimension (N lg N). Contains a list of pointers which indicate where in GIVCOL a level's Givens rotations are stored. GIVPTR(i+1) - GIVPTR(i) indicates the number of Givens rotations.
  • GIVCOL β€” GIVCOL is INTEGER array, dimension (2, N lg N). Each pair of numbers indicates a pair of columns to take place in a Givens rotation.
  • GIVNUM β€” GIVNUM is REAL array, dimension (2, N lg N). Each number indicates the S value to be used in the corresponding Givens rotation.
  • Q β€” Q is REAL array, dimension (N**2). Contains the square eigenblocks from previous levels, the starting positions for blocks are given by QPTR.
  • QPTR β€” QPTR is INTEGER array, dimension (N+2). Contains a list of pointers which indicate where in Q an eigenblock is stored. SQRT( QPTR(i+1) - QPTR(i) ) indicates the size of the block.
  • Z β€” Z is REAL array, dimension (N). On output this vector contains the updating vector (the last row of the first sub-eigenvector matrix and the first row of the second sub-eigenvector matrix).
  • ZTEMP β€” ZTEMP is REAL array, dimension (N).
  • INFO β€” INFO is INTEGER. = 0: successful exit. < 0: if INFO = -i, the i-th argument had an illegal value.

πŸ’œ Author

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

πŸŽ€ Contributors:

Jeff Rutter, Computer Science Division, University of California at Berkeley, USA

Definition at line 164 of file slaeda.f. ⭐

πŸ“ Author

Generated automatically by Doxygen for LAPACK from the source code.


okay bestie, that's the whole page. Footer info: LAPACK, Version 3.12.0, SRC/slaeda.f(3) β€” periodt πŸ’–βœ¨

πŸ“¦ where this page comes from