/home/abui...hetrf_aa.f(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

πŸ’… NAME πŸ’…

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zhetrf_aa.f

okay so this is literally the Fortran source file for ZHETRF_AA, and yes bestie, the whole path is part of the name, we don't make the rules we just vibe with them πŸŽ€


✨ SYNOPSIS ✨

🌸 Functions/Subroutines

  • subroutine ZHETRF_AA (uplo, n, a, lda, ipiv, work, lwork, info) β€” ZHETRF_AA

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

⭐ subroutine ZHETRF_AA

subroutine ZHETRF_AA (character uplo, integer n, complex*16, dimension( lda,
     * ) a, integer lda, integer, dimension( * ) ipiv, complex*16, dimension(
     * ) work, integer lwork, integer info)

ZHETRF_AA

πŸ’– Purpose:

!>
!> ZHETRF_AA computes the factorization of a complex hermitian matrix A
!> using the Aasen's algorithm.  The form of the factorization is
!>
!>    A = U**H*T*U  or  A = L*T*L**H
!>
!> where U (or L) is a product of permutation and unit upper (lower)
!> triangular matrices, and T is a hermitian tridiagonal matrix.
!>
!> This is the blocked version of the algorithm, calling Level 3 BLAS.
!>

🌈 Parameters 🌈

UPLO

!>          UPLO is CHARACTER*1
!>          = 'U':  Upper triangle of A is stored;
!>          = 'L':  Lower triangle of A is stored.
!>

N

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

A

!>          A is COMPLEX*16 array, dimension (LDA,N)
!>          On entry, the hermitian matrix A.  If UPLO = 'U', the leading
!>          N-by-N upper triangular part of A contains the upper
!>          triangular part of the matrix A, and the strictly lower
!>          triangular part of A is not referenced.  If UPLO = 'L', the
!>          leading N-by-N lower triangular part of A contains the lower
!>          triangular part of the matrix A, and the strictly upper
!>          triangular part of A is not referenced.
!>
!>          On exit, the tridiagonal matrix is stored in the diagonals
!>          and the subdiagonals of A just below (or above) the diagonals,
!>          and L is stored below (or above) the subdiagonals, when UPLO
!>          is 'L' (or 'U').
!>

LDA

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

IPIV

!>          IPIV is INTEGER array, dimension (N)
!>          On exit, it contains the details of the interchanges, i.e.,
!>          the row and column k of A were interchanged with the
!>          row and column IPIV(k).
!>

WORK

!>          WORK is COMPLEX*16 array, dimension (MAX(1,LWORK))
!>          On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
!>

LWORK

!>          LWORK is INTEGER
!>          The length of WORK. LWORK >= MAX(1,2*N). For optimum performance
!>          LWORK >= N*(1+NB), where NB is the optimal blocksize.
!>
!>          If LWORK = -1, then a workspace query is assumed; the routine
!>          only calculates the optimal size of the WORK array, returns
!>          this value as the first entry of the WORK array, and no error
!>          message related to LWORK is issued by XERBLA.
!>
πŸ’€ heads up bestie: LWORK = -1 is not "give me negative workspace", it's a workspace query β€” the routine just tells you the optimal size and XERBLA stays quiet about it, no cap.

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.

Definition at line 131 of file zhetrf_aa.f.


πŸŽ€ Author (again, yes, it's a whole thing) πŸŽ€

Generated automatically by Doxygen for LAPACK from the source code.


and that's the whole page, bestie β€” stay hydrated, link your BLAS, and remember: hermitian tridiagonal is a lifestyle 🫢✨

LAPACK Β· Version 3.12.0 Β· /home/abui...hetrf_aa.f(3) β€” mwah, go slay some factorizations πŸ’…πŸ’–

πŸ“¦ where this page comes from