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

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

πŸ¦‹ /home/abui...t01_rook.f(3) πŸ¦‹

okay bestie, this page is straight out of the Library Functions Manual and it's all about one little Fortran file. No cap, the whole glow-up is here. ✨


✨ NAME ✨

It's literally this path, bestie:

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/chet01_rook.f

That's the name. That's the whole NAME section. Periodt. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

🧚 Functions/Subroutines

   Functions/Subroutines
       subroutine CHET01_ROOK (uplo, n, a, lda, afac, ldafac, ipiv, c, ldc,
           rwork, resid)
           CHET01_ROOK

πŸ’… Function/Subroutine Documentation πŸ’…

Here's the signature in all its exact, character-for-character glory:

   subroutine CHET01_ROOK (character uplo, integer n, complex, dimension( lda,
       * ) a, integer lda, complex, dimension( ldafac, * ) afac, integer
       ldafac, integer, dimension( * ) ipiv, complex, dimension( ldc, * ) c,
       integer ldc, real, dimension( * ) rwork, real resid)
       CHET01_ROOK

🌸 Purpose 🌸

So CHET01_ROOK reconstructs a complex Hermitian indefinite matrix A from its block L*D*L' or U*D*U' factorization, and then it computes the residual:

norm( C - A ) / ( N * norm(A) * EPS )

where C is the reconstructed matrix, EPS is the machine epsilon, L' is the transpose of L, and U' is the transpose of U. That's the whole tea. 🫢


πŸŽ€ Parameters πŸŽ€

🌟 UPLO

UPLO is CHARACTER*1. It specifies whether the upper or lower triangular part of the complex Hermitian matrix A is stored:

  • = 'U': Upper triangular
  • = 'L': Lower triangular

🌟 N

N is INTEGER. It's the number of rows and columns of the matrix A. And bestie, N >= 0. πŸ’–

🌟 A

A is COMPLEX array, dimension (LDA,N). It's the original complex Hermitian matrix A. iconic.

🌟 LDA

LDA is INTEGER. It's the leading dimension of the array A. Also: LDA >= max(1,N). No skipping that check. πŸ‘‘

🌟 AFAC

AFAC is COMPLEX array, dimension (LDAFAC,N). It's the factored form of the matrix A. AFAC contains the block diagonal matrix D and the multipliers used to obtain the factor L or U from the block L*D*L' or U*D*U' factorization as computed by CSYTRF_ROOK. fr fr. πŸ¦‹

🌟 LDAFAC

LDAFAC is INTEGER. It's the leading dimension of the array AFAC. And yes: LDAFAC >= max(1,N). πŸŽ€

🌟 IPIV

IPIV is INTEGER array, dimension (N). These are the pivot indices from CSYTRF_ROOK. periodt. πŸ’…

🌟 C

C is COMPLEX array, dimension (LDC,N). That's the description. Short and mysterious. main character energy. 🌈

🌟 LDC

LDC is INTEGER. It's the leading dimension of the array C. Also LDC >= max(1,N). You already know. ✨

🌟 RWORK

RWORK is REAL array, dimension (N). That's it. That's the vibe. πŸ“

🌟 RESID

RESID is REAL. Here's the exact breakdown:

If UPLO = 'L', norm(L*D*L' - A) / ( N * norm(A) * EPS )
If UPLO = 'U', norm(U*D*U' - A) / ( N * norm(A) * EPS )

So yes, the formula depends on UPLO. slay. πŸ”₯


πŸ‘‘ Author

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

Definition at line 123 of file chet01_rook.f. πŸŽ€


🌈 Author 🌈

This page was Generated automatically by Doxygen for LAPACK from the source code. So it's not a handwritten love letter, it's a generated one. still iconic. πŸ’œ


mwah πŸ’‹ β€” cute little sign-off time: the footer says LAPACK Version 3.12.0 and the page path is /home/abui...t01_rook.f(3). That's the whole footer, bestie. 🫢✨

πŸ“¦ where this page comes from