DSYCONVF(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

πŸ’… DSYCONVF(3) πŸ’…

Okay bestie, welcome to the Library Functions Manual corner of LAPACK. This page is giving β€œone subroutine, one job, and a whole lot of array lore” and I’m honestly obsessed. πŸ¦‹


✨ NAME ✨

The name line is literally this path, no edits, no cap:

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dsyconvf.f

That’s the whole NAME section. She’s lowkey just a file path, and that’s iconic. πŸ’…


πŸ’… SYNOPSIS πŸ’…

πŸŽ€ Functions/Subroutines πŸŽ€

subroutine DSYCONVF (uplo, way, n, a, lda, e, ipiv, info)

And yes, the star of the show is DSYCONVF. Main character energy fr fr. ✨


πŸŽ€ Function/Subroutine Documentation πŸŽ€

Here’s the full signature, kept exactly as it appears, because we do not mess with code signatures in this group chat:

   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 🫢

So here’s the vibe check, bestie. This subroutine is a format converter for factorization details. Very β€œglow-up but for arrays.” πŸ’–

If parameter WAY = 'C':

  • DSYCONVF converts the factorization output format used in DSYTRF provided on entry in parameter A into the factorization output format used in DSYTRF_RK (or DSYTRF_BK) that is stored on exit in parameters A and E.
  • It also converts in place details of the interchanges stored in IPIV from the format used in DSYTRF into the format used in DSYTRF_RK (or DSYTRF_BK).

If parameter WAY = 'R':

  • DSYCONVF performs the conversion in reverse direction, i.e. converts the factorization output format used in DSYTRF_RK (or DSYTRF_BK) provided on entry in parameters A and E into the factorization output format used in DSYTRF that is stored on exit in parameter A.
  • It also converts in place details of the interchanges stored in IPIV from the format used in DSYTRF_RK (or DSYTRF_BK) into the format used in DSYTRF.

No cap, that’s the whole plot: convert one way with 'C', revert the other way with 'R'. πŸ¦‹


🌸 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.

The order of the matrix A. N >= 0.

πŸ’– A πŸ’–

A is a 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 D on the diagonal of A and on superdiagonal (or subdiagonal) of A, and
      • b) If UPLO = 'U': multipliers used to obtain factor U in the superdiagonal part of A. If UPLO = 'L': multipliers used to obtain factor L in the superdiagonal part of A.
    • On exit, contains factorization details in format used in DSYTRF_RK or DSYTRF_BK:
      • a) ONLY diagonal elements of the symmetric block diagonal matrix D on the diagonal of A, i.e. D(k,k) = A(k,k); (superdiagonal (or subdiagonal) elements of D are stored on exit in array E), and
      • b) If UPLO = 'U': factor U in the superdiagonal part of A. If UPLO = 'L': factor L in the subdiagonal part of A.
  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 D on the diagonal of A, i.e. D(k,k) = A(k,k); (superdiagonal (or subdiagonal) elements of D are stored on exit in array E), and
      • b) If UPLO = 'U': factor U in the superdiagonal part of A. If UPLO = 'L': factor L in the subdiagonal part of A.
    • On exit, contains factorization details in format used in DSYTRF:
      • a) all elements of the symmetric block diagonal matrix D on the diagonal of A and on superdiagonal (or subdiagonal) of A, and
      • b) If UPLO = 'U': multipliers used to obtain factor U in the superdiagonal part of A. If UPLO = 'L': multipliers used to obtain factor L in the superdiagonal part of A.

πŸ’– LDA πŸ’–

LDA is INTEGER.

The leading dimension of the array A. LDA >= max(1,N).

πŸ’– E πŸ’–

E is a 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 an 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, the source labels both as 1) β€” we’re preserving the typo because that’s the assignment, bestie. πŸ™ˆ

πŸ’– INFO πŸ’–

INFO is INTEGER.

  • = 0: successful exit
  • < 0: if INFO = -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.


Okay that’s the page, bestie! Footer tea: LAPACK, Version 3.12.0, and the file path /home/abui.../dsyconvf.f(3). Date? Not listed in this footer, so I’m not inventing one β€” periodt. πŸ’–βœ¨

πŸ“¦ where this page comes from