SRC/slacn2.f(3)

πŸ’… SRC/slacn2.f πŸ’…

okay so welcome to the Library Functions Manual page for SRC/slacn2.f(3) β€” yes bestie, we're deep in LAPACK territory and this subroutine is lowkey iconic. It estimates the 1-norm of a square real matrix using reverse communication for matrix-vector products, and it's giving "you do the matvec, I'll handle the norm estimate" energy. 🫢✨


πŸ’– NAME πŸ’–

SRC/slacn2.f β€” that's the file, bestie. It's the home of slacn2, and the whole page is about that subroutine. πŸŽ€

🌈 SYNOPSIS 🌈

πŸ¦‹ Functions/Subroutines πŸ¦‹

subroutine slacn2 (n, v, x, isgn, est, kase, isave)

SLACN2 estimates the 1-norm of a square matrix, using reverse communication for evaluating matrix-vector products. No cap. πŸ’«

πŸ”₯ Function/Subroutine Documentation πŸ”₯

subroutine slacn2 (integer n, real, dimension( * ) v, real, dimension( * )
    x, integer, dimension( * ) isgn, real est, integer kase, integer,
    dimension( 3 ) isave)

SLACN2 estimates the 1-norm of a square matrix, using reverse communication for evaluating matrix-vector products. That's the whole vibe, and honestly it ate. πŸ‘‘

🎯 Purpose 🎯

SLACN2 estimates the 1-norm of a square, real matrix A. Reverse communication is used for evaluating matrix-vector products. Periodt. πŸ’…

🌸 Parameters 🌸

  • N β€” INTEGER. The order of the matrix. N >= 1. So yes, there's at least one row and one column, bestie. πŸ“
  • V β€” REAL array, dimension (N). On the final return, V = A*W, where EST = norm(V)/norm(W) (W is not returned). It's giving "I saw W but I'm not handing it over." πŸ™ˆ
  • X β€” REAL array, dimension (N). On an intermediate return, X should be overwritten by:
    • A * X, if KASE=1,
    • A**T * X, if KASE=2,

and SLACN2 must be re-called with all the other parameters unchanged. Do not freestyle with the other params, okay? 😭

  • ISGN β€” INTEGER array, dimension (N). That's it, that's the whole note. πŸ’€
  • EST β€” REAL. On entry with KASE = 1 or 2 and ISAVE(1) = 3, EST should be unchanged from the previous call to SLACN2. On exit, EST is an estimate (a lower bound) for norm(A). It's a lower bound, so don't @ me. ✨
  • KASE β€” INTEGER. On the initial call to SLACN2, KASE should be 0. On an intermediate return, KASE will be 1 or 2, indicating whether X should be overwritten by A * X or A**T * X. On the final return from SLACN2, KASE will again be 0. The full circle moment. πŸ”„
  • ISAVE β€” INTEGER array, dimension (3). ISAVE is used to save variables between calls to SLACN2. It's the little memory keeper. 🧚

πŸ‘‘ Author πŸ‘‘

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

πŸ”₯ Further Details πŸ”₯

Originally named SONEST, dated March 16, 1988. So yes, this icon has been serving since the 80s. πŸ’œ

This is a thread safe version of SLACON, which uses the array ISAVE in place of a SAVE statement, as follows:

SLACON     SLACN2
 JUMP     ISAVE(1)
 J        ISAVE(2)
 ITER     ISAVE(3)

πŸ“ Contributors πŸ“

Nick Higham, University of Manchester. We stan. 🫢

🌈 References 🌈

N.J. Higham, "FORTRAN codes for estimating the one-norm of a real or complex matrix, with applications to condition estimation", ACM Trans. Math. Soft., vol. 14, no. 4, pp. 381-396, December 1988.

Definition at line 135 of file slacn2.f.

πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for LAPACK from the source code. It's the meta author, bestie. πŸ€–πŸ’…


okay bye bestie β€” this page is from LAPACK Version 3.12.0, and the file is SRC/slacn2.f(3). mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from