SRC/zhetrs.f(3)

πŸ’– SRC/zhetrs.f πŸ’–

okay so this is a page from the Library Functions Manual (yes, the manual manual, we love a meta moment) and it's all about one little subroutine that is honestly kind of a big deal. buckle up bestie πŸŽ€


✨ NAME ✨

SRC/zhetrs.f β€” that's it, that's the name, no notes πŸ’…


🌸 SYNOPSIS 🌸

Functions/Subroutines

subroutine zhetrs (uplo, n, nrhs, a, lda, ipiv, b, ldb, info)
    ZHETRS

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

subroutine zhetrs (character uplo, integer n, integer nrhs, complex*16,
    dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv,
    complex*16, dimension( ldb, * ) b, integer ldb, integer info)
    ZHETRS

πŸ’œ Purpose:

!> !> ZHETRS solves a system of linear equations A*X = B with a complex !> Hermitian matrix A using the factorization A = U*D*UH or !> A = L*D*LH computed by ZHETRF. !>

so basically: you already did the hard work with ZHETRF (it handed you the factorization A = U*D*U**H or A = L*D*L**H), and now ZHETRS swoops in to actually solve A*X = B for that complex Hermitian matrix A. it's giving "cleanup crew, but make it linear algebra" ✨


πŸ‘‘ Parameters

UPLO

!> UPLO is CHARACTER*1 !> Specifies whether the details of the factorization are stored !> as an upper or lower triangular matrix. !> = 'U': Upper triangular, form is A = U*D*UH; !> = 'L': Lower triangular, form is A = L*D*LH. !>

CHARACTER*1 bestie β€” it tells the routine whether the factorization details are chilling in an upper or lower triangular matrix. pick your fighter:

  • 'U' β€” upper triangular, form is A = U*D*U**H
  • 'L' β€” lower triangular, form is A = L*D*L**H

N

!> N is INTEGER !> The order of the matrix A. N >= 0. !>

INTEGER, the order of the matrix A. must be N >= 0 β€” no negative vibes allowed πŸ™ˆ

NRHS

!> NRHS is INTEGER !> The number of right hand sides, i.e., the number of columns !> of the matrix B. NRHS >= 0. !>

INTEGER, the number of right hand sides β€” aka literally the number of columns in the matrix B. NRHS >= 0, keep it non-negative 🫢

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. !>

COMPLEX*16 array, dimension (LDA,N). this holds the block diagonal matrix D plus all the multipliers used to obtain the factor U or L, exactly as computed by ZHETRF. do not touch, just pass it through πŸ’…

LDA

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

INTEGER, the leading dimension of the array A. needs LDA >= max(1,N) β€” the max(1,...) is doing important work, respect it ⭐

IPIV

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

INTEGER array, dimension (N). it's carrying the details of the interchanges and the block structure of D, as determined by ZHETRF. again: ZHETRF said it, ZHETRS believes it 🀝

B

!> B is COMPLEX*16 array, dimension (LDB,NRHS) !> On entry, the right hand side matrix B. !> On exit, the solution matrix X. !>

COMPLEX*16 array, dimension (LDB,NRHS). glow-up moment fr fr:

  • on entry it's the right hand side matrix B
  • on exit it's the solution matrix X πŸŽ‰ literally main character energy

LDB

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

INTEGER, the leading dimension of the array B. needs LDB >= max(1,N) β€” same deal as LDA, no shortcuts 🌈

INFO

!> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -i, the i-th argument had an illegal value !>

INTEGER, the vibe check at the end:

  • = 0 β€” successful exit, we ate πŸ’…
  • < 0 β€” if INFO = -i, the i-th argument had an illegal value. so like, check your arguments bestie 😭

🧚 Author

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

Definition at line 119 of file zhetrs.f.


πŸ“ Author

Generated automatically by Doxygen for LAPACK from the source code.


and that's the whole page!! no cap, every parameter accounted for 🫢 stay hydrated, pass your LDA correctly, and remember: ZHETRF factors, ZHETRS solves. iykyk πŸ’–

LAPACK β€” Version 3.12.0 β€” SRC/zhetrs.f(3) ✨ mwah, that's the sign-off, see u in the next manpage bestie πŸŽ€

πŸ“¦ where this page comes from