SRC/ssytrs_3.f(3)

🌸 NAME 🌸

SRC/ssytrs_3.f β€” straight out of the Library Functions Manual, bestie πŸ’… (yes the header's the whole title, we're folding it in, keep up 🫢)

✨ SYNOPSIS ✨

Functions/Subroutines

subroutine ssytrs_3 (uplo, n, nrhs, a, lda, e, ipiv, b, ldb, info)

SSYTRS_3 β€” that's her, that's the main character πŸ‘‘


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

subroutine ssytrs_3 (character uplo, integer n, integer nrhs, real,
    dimension( lda, * ) a, integer lda, real, dimension( * ) e, integer,
    dimension( * ) ipiv, real, dimension( ldb, * ) b, integer ldb, integer
    info)

SSYTRS_3

πŸ’« Purpose πŸ’«

okay so listen πŸ‘‚ SSYTRS_3 solves a system of linear equations A * X = B with a real symmetric matrix A using the factorization computed by SSYTRF_RK or SSYTRF_BK:

   A = P*U*D*(U**T)*(P**T) or A = P*L*D*(L**T)*(P**T),

where U (or L) is unit upper (or lower) triangular matrix, U**T (or L**T) is the transpose of U (or L), P is a permutation matrix, P**T is the transpose of P, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks.

This algorithm is using Level 3 BLAS. πŸ”₯ periodt.

πŸ¦‹ Parameters πŸ¦‹

UPLO

UPLO is CHARACTER*1. It specifies whether the details of the factorization are stored as an upper or lower triangular matrix:

  • = 'U': Upper triangular, form is A = P*U*D*(U**T)*(P**T);
  • = 'L': Lower triangular, form is A = P*L*D*(L**T)*(P**T).

N

N is INTEGER. The order of the matrix A. N >= 0. no cap πŸ“

NRHS

NRHS is INTEGER. The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0.

A

A is REAL array, dimension (LDA,N). It holds the diagonal of the block diagonal matrix D and factors U or L as computed by SSYTRF_RK and SSYTRF_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 should be provided on entry 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.

LDA

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

E

E is REAL array, dimension (N). On entry, it 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.
NOTE: For 1-by-1 diagonal block D(k), where 1 <= k <= N, the element E(k) is not referenced in both UPLO = 'U' or UPLO = 'L' cases. πŸ™ˆ she's just not invited

IPIV

IPIV is INTEGER array, dimension (N). Details of the interchanges and the block structure of D as determined by SSYTRF_RK or SSYTRF_BK. iykyk πŸ”

B

B is REAL array, dimension (LDB,NRHS). On entry, the right hand side matrix B. On exit, the solution matrix X. glow-up moment ✨

LDB

LDB is INTEGER. The leading dimension of the array B. LDB >= max(1,N).

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: 🌈

  • June 2017, 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 163 of file ssytrs_3.f.


πŸ’œ Author πŸ’œ

Generated automatically by Doxygen for LAPACK from the source code. (the robot did this one, not me 🧚)


okay that's the whole page bestie, you ate that πŸ“ this was LAPACK, Version 3.12.0, from SRC/ssytrs_3.f(3) β€” mwah, go solve something symmetric πŸ’–

πŸ“¦ where this page comes from