ZLAVHE_ROOK(3)

πŸ“¦
version 3.12.1 Β· 2 versions
, in arch rolling

πŸŽ€ zlavhe_rook(3)

Bestie, welcome to the Library Functions Manual page for TESTING/LIN/zlavhe_rook.f β€” yes, we’re doing Fortran LAPACK lore today. πŸ’…


πŸ’– NAME

TESTING/LIN/zlavhe_rook.f

That’s it. That’s the name. Iconic minimalism. ✨


✨ SYNOPSIS

🧚 Functions/Subroutines

       subroutine zlavhe_rook (uplo, trans, diag, n, nrhs, a, lda, ipiv, b,
           ldb, info)
           ZLAVHE_ROOK

🌸 Function/Subroutine Documentation

   subroutine zlavhe_rook (character uplo, character trans, character diag,
       integer n, integer nrhs, complex*16, dimension( lda, * ) a, integer lda,
       integer, dimension( * ) ipiv, complex*16, dimension( ldb, * ) b, integer
       ldb, integer info)
       ZLAVHE_ROOK

πŸ¦‹ Purpose

Okay so ZLAVHE_ROOK performs one of the matrix-vector operations x := A*x or x := A^H*x, where x is an N element vector and A is one of the factors from the block U*D*U' or L*D*L' factorization computed by ZHETRF_ROOK. Slay. 🫢

If TRANS = 'N', it multiplies by U or U * D (or L or L * D). If TRANS = 'C', it multiplies by U' or D * U' (or L' or D * L'). No cap.

🧚 Parameters

πŸ’œ UPLO

  • UPLO is CHARACTER*1.
  • It specifies whether the factor stored in A is upper or lower triangular.
    • = 'U': Upper triangular
    • = 'L': Lower triangular

🌈 TRANS

  • TRANS is CHARACTER*1.
  • It specifies the operation to be performed:
    • = 'N': x := A*x
    • = 'C': x := A^H*x

πŸŽ€ DIAG

  • DIAG is CHARACTER*1.
  • It specifies whether or not the diagonal blocks are unit matrices. If the diagonal blocks are assumed to be unit, then A = U or A = L, otherwise A = U*D or A = L*D.
    • = 'U': Diagonal blocks are assumed to be unit matrices.
    • = 'N': Diagonal blocks are assumed to be non-unit matrices.

⭐ N

  • N is INTEGER.
  • The number of rows and columns of the matrix A. N >= 0.

πŸ“ NRHS

  • NRHS is INTEGER.
  • The number of right hand sides, i.e., the number of vectors x to be multiplied by A. NRHS >= 0.

πŸ”₯ A

  • A is COMPLEX*16 array, dimension (LDA,N).
  • The block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by ZHETRF_ROOK.
  • Stored as a 2-D triangular matrix.

πŸ’… LDA

  • LDA is INTEGER.
  • The leading dimension of the array A. LDA >= max(1,N).

πŸ¦‹ IPIV

  • IPIV is INTEGER array, dimension (N).
  • Details of the interchanges and the block structure of D, as determined by ZHETRF_ROOK.

If UPLO = 'U':

  • Only the last KB elements of IPIV are set.
  • If IPIV(k) > 0, then rows and columns k and IPIV(k) were interchanged and D(k,k) is a 1-by-1 diagonal block.
  • If IPIV(k) < 0 and IPIV(k-1) < 0, then rows and columns k and -IPIV(k) were interchanged and rows and columns k-1 and -IPIV(k-1) were interchanged, D(k-1:k,k-1:k) is a 2-by-2 diagonal block.

If UPLO = 'L':

  • Only the first KB elements of IPIV are set.
  • If IPIV(k) > 0, then rows and columns k and IPIV(k) were interchanged and D(k,k) is a 1-by-1 diagonal block.
  • If IPIV(k) < 0 and IPIV(k+1) < 0, then rows and columns k and -IPIV(k) were interchanged and rows and columns k+1 and -IPIV(k+1) were interchanged, D(k:k+1,k:k+1) is a 2-by-2 diagonal block.

πŸ’– B

  • B is COMPLEX array, dimension (LDB,NRHS).
  • On entry, B contains NRHS vectors of length N.
  • On exit, B is overwritten with the product A * B.

🌸 LDB

  • LDB is INTEGER.
  • The leading dimension of the array B. LDB >= max(1,N).

πŸ‘‘ INFO

  • INFO is INTEGER.
    • = 0: successful exit
    • < 0: if INFO = -k, the k-th argument had an illegal value

πŸ‘‘ Author

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

Definition at line 151 of file zlavhe_rook.f.


πŸ’œ Author

Generated automatically by Doxygen for LAPACK from the source code.


Source/version sign-off, bestie: LAPACK Version 3.12.0 β€” no separate date is listed on this page, so I’m not inventing one. This page was generated automatically by Doxygen for LAPACK from the source code. πŸ’–βœ¨

πŸ“¦ where this page comes from