DSYSV_ROOK(3)
π DSYSV_ROOK(3) β Library Functions Manual, but make it cute π
okay so the page header vibe is /home/abui...sysv_rook.f(3) on both ends, straight out of the Library Functions Manual, and we are about to get into some symmetric-matrix business, bestie. π«Ά
β¨ NAME β¨
The NAME section is literally just this path, no cap:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dsysv_rook.f
πΈ SYNOPSIS πΈ
Functions/Subroutines π¦
subroutine DSYSV_ROOK (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
DSYSV_ROOK computes the solution to system of linear equations A * X = B for SY matrices. iconic behavior, honestly. π
π Function/Subroutine Documentation π
subroutine DSYSV_ROOK (character uplo, integer n, integer nrhs, double precision, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, double precision, dimension( ldb, * ) b, integer ldb, double precision, dimension( * ) work, integer lwork, integer info)
DSYSV_ROOK computes the solution to system of linear equations A * X = B for SY matrices.
π― Purpose π―
okay so DSYSV_ROOK computes the solution to a real system of linear equations
A * X = B,
where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. main character energy for a matrix solver, fr fr. π₯
The diagonal pivoting method is used to factor A as
A = U * D * U**T, if UPLO = 'U', or
A = L * D * L**T, if UPLO = 'L',
where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. the way that factorization ate, honestly. π
DSYTRF_ROOK is called to compute the factorization of a real symmetric matrix A using the bounded Bunch-Kaufman () diagonal pivoting method. yes, the empty () is in the original, iykyk. π
The factored form of A is then used to solve the system of equations A * X = B by calling DSYTRS_ROOK. slay. β¨
π Parameters π
UPLOβ it'sCHARACTER*1, the triangle selector:= 'U': Upper triangle of A is stored;= 'L': Lower triangle of A is stored.
NβINTEGER. The number of linear equations, i.e., the order of the matrix A.N >= 0.NRHSβINTEGER. The number of right hand sides, i.e., the number of columns of the matrix B.NRHS >= 0.AβDOUBLE PRECISION array, dimension (LDA,N). On entry, the symmetric matrix A. IfUPLO = '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. IfUPLO = '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, if INFO = 0, the block diagonal matrix D and the multipliers used to obtain the factor U or L from the factorization A = U*D*U**T or A = L*D*L**T as computed by DSYTRF_ROOK.
LDAβINTEGER. The leading dimension of the array A.LDA >= max(1,N).IPIVβINTEGER array, dimension (N). Details of the interchanges and the block structure of D, as determined byDSYTRF_ROOK.- If
UPLO = 'U':- If
IPIV(k) > 0, then rows and columns k andIPIV(k)were interchanged andD(k,k)is a 1-by-1 diagonal block. - If
IPIV(k) < 0andIPIV(k-1) < 0, then rows and columns k and-IPIV(k)were interchanged and rows and columns k-1 and-IPIV(k-1)were inerchaged,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 columns k andIPIV(k)were interchanged andD(k,k)is a 1-by-1 diagonal block. - If
IPIV(k) < 0andIPIV(k+1) < 0, then rows and columns k and-IPIV(k)were interchanged and rows and columns k+1 and-IPIV(k+1)were inerchaged,D(k:k+1,k:k+1)is a 2-by-2 diagonal block.
- If
- If
BβDOUBLE PRECISION array, dimension (LDB,NRHS). On entry, the N-by-NRHS right hand side matrix B. On exit, ifINFO = 0, the N-by-NRHS solution matrix X.LDBβINTEGER. The leading dimension of the array B.LDB >= max(1,N).WORKβDOUBLE PRECISION array, dimension (MAX(1,LWORK)). On exit, ifINFO = 0,WORK(1)returns the optimalLWORK.LWORKβINTEGER. The length of WORK.LWORK >= 1, and for best performanceLWORK >= max(1,N*NB), where NB is the optimal blocksize forDSYTRF_ROOK.
TRS will be done with Level 2 BLAS. π
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.
INFOβINTEGER. the exit-status tea:= 0: successful exit< 0: ifINFO = -i, the i-th argument had an illegal value> 0: ifINFO = i,D(i,i)is exactly zero. The factorization has been completed, but the block diagonal matrix D is exactly singular, so the solution could not be computed. π that one is giving βno solution bestie.β
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Contributors π
- April 2012, Igor Kozachenko, Computer Science Division, University of California, Berkeley
- September 2007, Sven Hammarling, Nicholas J. Higham, Craig Lucas, School of Mathematics, University of Manchester
π Definition at line 202 of file dsysv_rook.f π
literally: Definition at line 202 of file dsysv_rook.f. π«Ά
π» Author π»
Generated automatically by Doxygen for LAPACK from the source code.
kisses and good luck with your symmetric systems, bestie π LAPACK Version 3.12.0 from /home/abui...sysv_rook.f(3) π«Ά
π¦ 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