ZLA_PORPVGRW(3)
π NAME π
ok so bestie, this whole page is literally just about one file, and its name is a whole journey:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zla_porpvgrw.f
that's it. that's the name. it's giving "my professor named the file after his entire life story" π and yes we're in the Library Functions Manual, welcome to the function shelf π«Ά
β¨ SYNOPSIS β¨
Functions/Subroutines
double precision function ZLA_PORPVGRW (uplo, ncols, a, lda, af, ldaf, work)β queen behavior honestly, because ZLA_PORPVGRW computes the reciprocal pivot growth factornorm(A)/norm(U)for a symmetric or Hermitian positive-definite matrix. iconic β¨
π FUNCTION/SUBROUTINE DOCUMENTATION π
here's the full signature, no cap, copy it exactly:
double precision function ZLA_PORPVGRW (character*1 uplo, integer ncols,
complex*16, dimension( lda, * ) a, integer lda, complex*16, dimension(
ldaf, * ) af, integer ldaf, double precision, dimension( * ) work)
and what does she do, you ask? ZLA_PORPVGRW computes the reciprocal pivot growth factor norm(A)/norm(U) for a symmetric or Hermitian positive-definite matrix. periodt π
Purpose
ok so, in the actual source comments:
!>
!>
!> ZLA_PORPVGRW computes the reciprocal pivot growth factor
!> norm(A)/norm(U). The norm is used. If this is
!> much less than 1, the stability of the LU factorization of the
!> (equilibrated) matrix A could be poor. This also means that the
!> solution X, estimated condition numbers, and error bounds could be
!> unreliable.
!>
so basically: she gives you norm(A)/norm(U) (and yeah, the norm is used β the source just leaves it blank, we don't make stuff up around here π). if that number comes back much less than 1? π¨ that means the stability of the LU factorization of the (equilibrated) matrix A could be poor, and the solution X, the estimated condition numbers, and the error bounds could be unreliable. like, do not trust that output, bestie. it's giving red flag city π₯
Parameters
UPLO
!> UPLO is CHARACTER*1
!> = 'U': Upper triangle of A is stored;
!> = 'L': Lower triangle of A is stored.
!>
UPLOisCHARACTER*1= 'U'β the upper triangle of A is stored β¨= 'L'β the lower triangle of A is stored β¨
pick your fighter, iykyk
NCOLS
!> NCOLS is INTEGER
!> The number of columns of the matrix A. NCOLS >= 0.
!>
NCOLS is INTEGER, and it's literally the number of columns of the matrix A. constraint: NCOLS >= 0. no negatives, we don't do that here π«Ά
A
!> A is COMPLEX*16 array, dimension (LDA,N)
!> On entry, the N-by-N matrix A.
!>
A is a COMPLEX*16 array with dimension (LDA,N). on entry, it's the N-by-N matrix A. she's the main character of this whole operation π
LDA
!> LDA is INTEGER
!> The leading dimension of the array A. LDA >= max(1,N).
!>
LDA is INTEGER β the leading dimension of the array A, and it's gotta satisfy LDA >= max(1,N). math said respect the bounds π§
AF
!> AF is COMPLEX*16 array, dimension (LDAF,N)
!> The triangular factor U or L from the Cholesky factorization
!> A = U**T*U or A = L*L**T, as computed by ZPOTRF.
!>
AF is a COMPLEX*16 array with dimension (LDAF,N). it holds the triangular factor U or L from the Cholesky factorization A = U**T*U or A = L*L**T, as computed by ZPOTRF. shoutout to ZPOTRF for doing the actual factorization, we just vibe-check the growth π
LDAF
!> LDAF is INTEGER
!> The leading dimension of the array AF. LDAF >= max(1,N).
!>
LDAF is INTEGER β the leading dimension of the array AF, and LDAF >= max(1,N). again with the bounds. the bounds are non-negotiable πΈ
WORK
!> WORK is DOUBLE PRECISION array, dimension (2*N)
!>
WORK is a DOUBLE PRECISION array with dimension (2*N). that's her workspace. that's her little scratchpad. slay π
Author
the credit roll, respectfully:
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
also, Definition at line 105 of file zla_porpvgrw.f. β noted, bookmarked, screenshot taken πΈ
π¦ AUTHOR π¦
(second author section, but make it metadata β¨) β this page was Generated automatically by Doxygen for LAPACK from the source code. the robot did this one, not a human. respect the robot π€π
ok that's the whole page bestie, you ate, no crumbs left. this was <rainbow>LAPACK, Version 3.12.0</rainbow> and the source file is /home/abui..._porpvgrw.f(3) β mwah, go read some more manpages, ily π«Άπ
β¨
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms