SRC/dsyconvf.f(3)
okay so this is SRC/dsyconvf.f(3) from the Library Functions Manual β the main-character page for the DSYCONVF subroutine, and it is lowkey giving very official Fortran energy π
πΈ NAME
SRC/dsyconvf.f
β¨ SYNOPSIS
π§ Functions/Subroutines
subroutine dsyconvf (uplo, way, n, a, lda, e, ipiv, info)
DSYCONVF
π Function/Subroutine Documentation
subroutine dsyconvf (character uplo, character way, integer n, double precision, dimension( lda, * ) a, integer lda, double precision, dimension( * ) e, integer, dimension( * ) ipiv, integer info)
DSYCONVF
π¦ Purpose
Bestie, this subroutine is a format converter. Here is the exact deal:
- If parameter
WAY = 'C':DSYCONVFconverts the factorization output format used inDSYTRFprovided on entry in parameterAinto the factorization output format used inDSYTRF_RK(orDSYTRF_BK) that is stored on exit in parametersAandE. It also converts in place details of the interchanges stored inIPIVfrom the format used inDSYTRFinto the format used inDSYTRF_RK(orDSYTRF_BK). - If parameter
WAY = 'R':DSYCONVFperforms the conversion in reverse direction, i.e. converts the factorization output format used inDSYTRF_RK(orDSYTRF_BK) provided on entry in parametersAandEinto the factorization output format used inDSYTRFthat is stored on exit in parameterA. It also converts in place details of the interchanges stored inIPIVfrom the format used inDSYTRF_RK(orDSYTRF_BK) into the format used inDSYTRF.
π Parameters
π UPLO
UPLO is CHARACTER*1. It specifies whether the details of the factorization are stored as an upper or lower triangular matrix A.
= 'U':Upper triangular= 'L':Lower triangular
π WAY
WAY is CHARACTER*1.
= 'C':Convert= 'R':Revert
β N
N is INTEGER. It is the order of the matrix A. N >= 0.
π₯ A
A is DOUBLE PRECISION array, dimension (LDA,N).
1) If WAY ='C':
On entry, contains factorization details in format used in DSYTRF:
- a) all elements of the symmetric block diagonal matrix
Don the diagonal ofAand on superdiagonal (or subdiagonal) ofA, and - b) If
UPLO = 'U': multipliers used to obtain factorUin the superdiagonal part ofA. IfUPLO = 'L': multipliers used to obtain factorLin the superdiagonal part ofA.
On exit, contains factorization details in format used in DSYTRF_RK or DSYTRF_BK:
- a) ONLY diagonal elements of the symmetric block diagonal matrix
Don the diagonal ofA, i.e.D(k,k) = A(k,k); (superdiagonal (or subdiagonal) elements ofDare stored on exit in arrayE), and - b) If
UPLO = 'U': factorUin the superdiagonal part ofA. IfUPLO = 'L': factorLin the subdiagonal part ofA.
2) If WAY = 'R':
On entry, contains factorization details in format used in DSYTRF_RK or DSYTRF_BK:
- a) ONLY diagonal elements of the symmetric block diagonal matrix
Don the diagonal ofA, i.e.D(k,k) = A(k,k); (superdiagonal (or subdiagonal) elements ofDare stored on exit in arrayE), and - b) If
UPLO = 'U': factorUin the superdiagonal part ofA. IfUPLO = 'L': factorLin the subdiagonal part ofA.
On exit, contains factorization details in format used in DSYTRF:
- a) all elements of the symmetric block diagonal matrix
Don the diagonal ofAand on superdiagonal (or subdiagonal) ofA, and - b) If
UPLO = 'U': multipliers used to obtain factorUin the superdiagonal part ofA. IfUPLO = 'L': multipliers used to obtain factorLin the superdiagonal part ofA.
π LDA
LDA is INTEGER. It is the leading dimension of the array A. LDA >= max(1,N).
π E
E is DOUBLE PRECISION array, dimension (N).
1) If WAY ='C':
On entry, just a workspace.
On exit, contains the superdiagonal (or subdiagonal) elements of the symmetric block diagonal matrix D with 1-by-1 or 2-by-2 diagonal blocks, where
- If
UPLO = 'U':E(i) = D(i-1,i), i=2:N, E(1) is set to 0; - If
UPLO = 'L':E(i) = D(i+1,i), i=1:N-1, E(N) is set to 0.
2) If WAY = 'R':
On entry, contains the superdiagonal (or subdiagonal) elements of the symmetric block diagonal matrix D with 1-by-1 or 2-by-2 diagonal blocks, where
- If
UPLO = 'U':E(i) = D(i-1,i),i=2:N, E(1) not referenced; - If
UPLO = 'L':E(i) = D(i+1,i),i=1:N-1, E(N) not referenced.
On exit, is not changed.
π§ IPIV
IPIV is INTEGER array, dimension (N).
1) If WAY ='C':
On entry, details of the interchanges and the block structure of D in the format used in DSYTRF. On exit, details of the interchanges and the block structure of D in the format used in DSYTRF_RK ( or DSYTRF_BK).
1) If WAY ='R':
On entry, details of the interchanges and the block structure of D in the format used in DSYTRF_RK ( or DSYTRF_BK). On exit, details of the interchanges and the block structure of D in the format used in DSYTRF.
yes bestie, the source really labels both of these as 1) β I am not out here fixing Fortran's cute little quirks π
π INFO
INFO is INTEGER.
= 0:successful exit< 0:ifINFO = -i, the i-th argument had an illegal value
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Contributors:
November 2017, Igor Kozachenko,Computer Science Division,University of California, Berkeley
Definition at line 205 of file dsyconvf.f.
π» Author
Generated automatically by Doxygen for LAPACK from the source code.
and that is the whole page, bestie! π Footer tea: source SRC/dsyconvf.f(3), LAPACK Version 3.12.0 β and the footer does not give a date, so I am not inventing one β¨π«Ά
π¦ 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