/home/abui...syt01_aa.f(3)
π NAME π
so the full name of this file is literally this whole path, bestie, no cap:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/csyt01_aa.f
it's a Library Functions Manual page, and it's all about the CSYT01_AA subroutine π¦
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine CSYT01_AA (uplo, n, a, lda, afac, ldafac, ipiv, c, ldc, rwork, resid)β this is the vibe check entry point, akaCSYT01
π Function/Subroutine Documentation π
here's the full signature so you can see exactly what you're feeding it, periodt:
subroutine CSYT01_AA (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)
and that one's called CSYT01 π«Ά
πΈ Purpose πΈ
okay so this is the whole point of the thing β read it carefully because it's giving main character:
!>
!> CSYT01 reconstructs a hermitian indefinite matrix A from its
!> block L*D*L' or U*D*U' factorization and computes the residual
!> norm( C - A ) / ( N * norm(A) * EPS ),
!> where C is the reconstructed matrix and EPS is the machine epsilon.
!>
tl;dr it rebuilds A out of the factorization and then checks how close the rebuild came. iconic behavior honestly π
π Parameters π
UPLO
!> UPLO is CHARACTER*1
!> Specifies whether the upper or lower triangular part of the
!> hermitian matrix A is stored:
!> = 'U': Upper triangular
!> = 'L': Lower triangular
!>
which half of A we're storing. upper or lower, pick your fighter β¨
N
!> N is INTEGER
!> The number of rows and columns of the matrix A. N >= 0.
!>
rows and columns count, and N >= 0 is non-negotiable fr fr
A
!> A is REAL array, dimension (LDA,N)
!> The original hermitian matrix A.
!>
the original hermitian matrix A itself, dimension (LDA,N) π
LDA
!> LDA is INTEGER
!> The leading dimension of the array A. LDA >= max(1,N)
!>
leading dimension of A. LDA >= max(1,N), remember that π
AFAC
!> AFAC is REAL array, dimension (LDAFAC,N)
!> 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.
!>
the factored version of A β it's holding the block diagonal matrix D plus the multipliers that get you L or U from that block L*D*L' / U*D*U' factorization, exactly like CSYTRF computed them π
LDAFAC
!> LDAFAC is INTEGER
!> The leading dimension of the array AFAC. LDAFAC >= max(1,N).
!>
leading dimension of AFAC, and LDAFAC >= max(1,N) is the rule π
IPIV
!> IPIV is INTEGER array, dimension (N)
!> The pivot indices from CSYTRF.
!>
the pivot indices straight from CSYTRF, dimension (N) π
C
!> C is REAL array, dimension (LDC,N)
!>
the C array, dimension (LDC,N). that's it, that's the whole description, she's lowkey mysterious π
LDC
!> LDC is INTEGER
!> The leading dimension of the array C. LDC >= max(1,N).
!>
leading dimension of C, and yes: LDC >= max(1,N) π
RWORK
!> RWORK is REAL array, dimension (N)
!>
workspace array, dimension (N). she's just there to help π§
RESID
!> RESID is REAL
!> If UPLO = 'L', norm(L*D*L' - A) / ( N * norm(A) * EPS )
!> If UPLO = 'U', norm(U*D*U' - A) / ( N * norm(A) * EPS )
!>
and here's your actual answer, the residual:
- if
UPLO = 'L':norm(L*D*L' - A) / ( N * norm(A) * EPS ) - if
UPLO = 'U':norm(U*D*U' - A) / ( N * norm(A) * EPS )
small number = slay, big number = something's off π
πΊ Author πΊ
these legends wrote it, show some respect bestie:
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 122 of file csyt01_aa.f. π
π« Author π«
this page was generated automatically by Doxygen for LAPACK straight from the source code β not me writing it by hand, the robots did it π€
and that's the whole page, bestie! π
LAPACK β Version 3.12.0 β cute lil sign-off from /home/abui...syt01_aa.f(3) π¦β¨ bye pookie, go reconstruct some matrices π«Ά
π¦ 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