TESTING/LIN/dlavsy.f(3)
πΈ NAME πΈ
okay bestie, welcome to the Library Functions Manual page for TESTING/LIN/dlavsy.f(3) β the NAME line is TESTING/LIN/dlavsy.f, and yes, we're keeping both because details are sacred. π This one is literally the dlavsy routine, and it's giving βblock factorization realnessβ in the best way. π
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine dlavsy (uplo, trans, diag, n, nrhs, a, lda, ipiv, b, ldb, info)
DLAVSY
π¦ Function/Subroutine Documentation π¦
subroutine dlavsy (character uplo, character trans, character diag, integer n, integer nrhs, double precision, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, double precision, dimension( ldb, * ) b, integer ldb, integer info)
DLAVSY
π― Purpose
Okay so DLAVSY performs one of the matrix-vector operations
x := A*x or x := A'*x,
where x is an N element vector and A is one of the factors from the block U*D*U' or L*D*L' factorization computed by DSYTRF.
- If
TRANS = 'N', multiplies byUorU * D(orLorL * D). - If
TRANS = 'T', multiplies byU'orD * U'(orL'orD * L'). - If
TRANS = 'C', multiplies byU'orD * U'(orL'orD * L').
π§© Parameters
UPLOβUPLO is CHARACTER*1. It says whether the factor stored inAis upper or lower triangular. Values:= 'U': upper triangular;= 'L': lower triangular. β¨TRANSβTRANS is CHARACTER*1. It picks the operation:= 'N':x := A*x;= 'T':x := A'*x;= 'C':x := A'*x. π«DIAGβDIAG is CHARACTER*1. It says whether or not the diagonal blocks are unit matrices. If the diagonal blocks are assumed to be unit, thenA = UorA = L; otherwiseA = U*DorA = L*D. Values:= 'U': diagonal blocks are assumed to be unit matrices;= 'N': diagonal blocks are assumed to be non-unit matrices.NβN is INTEGER. The number of rows and columns of the matrixA.N >= 0.NRHSβNRHS is INTEGER. The number of right hand sides, i.e., the number of vectorsxto be multiplied byA.NRHS >= 0.AβA is DOUBLE PRECISION array, dimension (LDA,N). The block diagonal matrixDand the multipliers used to obtain the factorUorLas computed byDSYTRF. Stored as a 2-D triangular matrix.LDAβLDA is INTEGER. The leading dimension of the arrayA.LDA >= max(1,N).IPIVβIPIV is INTEGER array, dimension (N). Details of the interchanges and the block structure ofD, as determined byDSYTRF.- If
UPLO = 'U':- If
IPIV(k) > 0, then rows and columnskandIPIV(k)were interchanged andD(k,k)is a 1-by-1 diagonal block. (IfIPIV( k ) = k, no interchange was done). - If
IPIV(k) = IPIV(k-1) < 0, then rows and columnsk-1and-IPIV(k)were interchanged,D(k-1:k,k-1:k)is a 2-by-2 diagonal block.
- If
- If
UPLO = 'L':- If
IPIV(k) > 0, then rows and columnskandIPIV(k)were interchanged andD(k,k)is a 1-by-1 diagonal block. (IfIPIV( k ) = k, no interchange was done). - If
IPIV(k) = IPIV(k+1) < 0, then rows and columnsk+1and-IPIV(k)were interchanged,D(k:k+1,k:k+1)is a 2-by-2 diagonal block.
- If
- If
BβB is DOUBLE PRECISION array, dimension (LDB,NRHS). On entry,BcontainsNRHSvectors of lengthN. On exit,Bis overwritten with the productA * B.LDBβLDB is INTEGER. The leading dimension of the arrayB.LDB >= max(1,N).INFOβINFO is INTEGER.= 0: successful exit;< 0: ifINFO = -k, thek-th argument had an illegal value.
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 153 of file dlavsy.f.
π Author
Generated automatically by Doxygen for LAPACK from the source code.
kisses and sparkles, bestie β LAPACK Version 3.12.0, source TESTING/LIN/dlavsy.f(3) π
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms