/home/abui.../dsyconv.f(3)
π¦ NAME π¦
ok so bestie, this whole page is about one file path and one file only:
That's it. That's the name. It's literally giving "I live at this exact address, don't @ me" π
(and yeah, this is page `dsyconv.f(3)` from the LAPACK Library Functions Manual, hi π)
---
# β¨ SYNOPSIS β¨
## π«Ά Functions/Subroutines
- **`subroutine DSYCONV (uplo, way, n, a, lda, ipiv, e, info)`** β the one and only, the main character herself: `DSYCONV` π
---
# π Function/Subroutine Documentation π
## π subroutine DSYCONV
Here's the full signature, no cap, exactly as written:
subroutine DSYCONV (character uplo, character way, integer n, double precision, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, double precision, dimension( * ) e, integer info)
and yes, the name again, because she's iconic like that: `DSYCONV` π
### πΈ Purpose:
!> !> DSYCONV convert A given by TRF into L and D and vice-versa. !> Get Non-diag elements of D (returned in workspace) and !> apply or reverse permutation done in TRF. !>
So basically: you hand her a matrix `A` that came out of TRF, and she flips it into `L` and `D` β or does the whole thing in reverse. She also grabs the non-diagonal elements of `D` (those get returned in workspace, bestie) and applies or reverses the permutation that TRF did. She's a two-way street and she's slaying both directions π«
---
## π Parameters
### `UPLO`
!> UPLO is CHARACTER*1 !> Specifies whether the details of the factorization are stored !> as an upper or lower triangular matrix. !> = 'U': Upper triangular, form is A = U*D*UT; !> = 'L': Lower triangular, form is A = L*D*LT. !>
so `UPLO` is a `CHARACTER*1` and it tells her whether the factorization details are chilling as an upper or lower triangular matrix:
- `'U'` β upper triangular, form is `A = U*D*U**T`
- `'L'` β lower triangular, form is `A = L*D*L**T`
pick your fighter π₯
### `WAY`
!> WAY is CHARACTER*1 !> = 'C': Convert !> = 'R': Revert !>
`WAY` is a `CHARACTER*1`, and it's literally just the direction of travel:
- `'C'` β Convert
- `'R'` β Revert
forward or backward, choose your adventure π¦
### `N`
!> N is INTEGER !> The order of the matrix A. N >= 0. !>
`N` is `INTEGER`, the order of the matrix `A`. Constraint: `N >= 0.` (zero is allowed, she's inclusive π)
### `A`
!> A is DOUBLE PRECISION array, dimension (LDA,N) !> The block diagonal matrix D and the multipliers used to !> obtain the factor U or L as computed by DSYTRF. !>
`A` is a `DOUBLE PRECISION` array, dimension `(LDA,N)`. She holds the block diagonal matrix `D` plus the multipliers used to obtain the factor `U` or `L` as computed by `DSYTRF`. she contains multitudes β¨
### `LDA`
!> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !>
`LDA` is `INTEGER`, the leading dimension of the array `A`. Constraint: `LDA >= max(1,N).` don't skimp on it π
### `IPIV`
!> IPIV is INTEGER array, dimension (N) !> Details of the interchanges and the block structure of D !> as determined by DSYTRF. !>
`IPIV` is an `INTEGER` array, dimension `(N)`. It's carrying the details of the interchanges and the block structure of `D`, as determined by `DSYTRF`. the receipts, basically π§Ύ
### `E`
!> E is DOUBLE PRECISION array, dimension (N) !> E stores the supdiagonal/subdiagonal of the symmetric 1-by-1 !> or 2-by-2 block diagonal matrix D in LDLT. !>
`E` is a `DOUBLE PRECISION` array, dimension `(N)`, and it stores the supdiagonal/subdiagonal of the symmetric 1-by-1 or 2-by-2 block diagonal matrix `D` in LDLT. tiny but crucial, lowkey the whole vibe π₯
### `INFO`
!> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -i, the i-th argument had an illegal value !>
`INFO` is `INTEGER` and it's the mood report:
- `= 0:` successful exit π
- `< 0:` if `INFO = -i`, the i-th argument had an illegal value π (so like, check your args bestie)
---
## π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
all the legends, credited properly π«Ά
---
## β Definition
Definition at line `113` of file `dsyconv.f`.
---
# πΈ Author πΈ
Generated automatically by Doxygen for LAPACK from the source code. (yes the robots wrote this bit, we respect the robots π€π
)
---
ok and that's the whole page!! π this came from LAPACK, <pink>Version 3.12.0</pink>, and the footer date/source line lives right here at the very bottom of the original doc β so consider this your cute little sign-off: <purple>LAPACK, Version 3.12.0</purple> β¨ bye bestie, go convert something π
π¦ 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