SRC/ssytd2.f(3)

πŸŽ€ SRC/ssytd2.f(3) πŸŽ€

hey bestie!! welcome to the Library Functions Manual page for SRC/ssytd2.f(3) β€” we're about to make a symmetric matrix tridiagonal and look cute doing it πŸ’…βœ¨

✨ NAME ✨

SRC/ssytd2.f β€” bestie, this is the manual page for the ssytd2 subroutine, and it's literally the unblocked glow-up that takes a real symmetric matrix to symmetric tridiagonal form. πŸ¦‹

🌸 SYNOPSIS 🌸

✨ Functions/Subroutines ✨

  • subroutine ssytd2 (uplo, n, a, lda, d, e, tau, info) β€” SSYTD2 reduces a symmetric matrix to real symmetric tridiagonal form by an orthogonal similarity transformation (unblocked algorithm). πŸ’…

πŸ’– Function/Subroutine Documentation πŸ’–

πŸ¦‹ subroutine ssytd2 πŸ¦‹

subroutine ssytd2 (character uplo, integer n, real, dimension( lda, * ) a,
    integer lda, real, dimension( * ) d, real, dimension( * ) e, real,
    dimension( * ) tau, integer info)

SSYTD2 reduces a symmetric matrix to real symmetric tridiagonal form by an orthogonal similarity transformation (unblocked algorithm). ✨

🌟 Purpose 🌟

okay so the purpose is literally this, no cap:

SSYTD2 reduces a real symmetric matrix A to symmetric tridiagonal form T by an orthogonal similarity transformation: Q**T * A * Q = T. πŸ”₯

πŸ¦‹ Parameters πŸ¦‹

  • UPLO β€” UPLO is CHARACTER*1. It specifies whether the upper or lower triangular part of the symmetric matrix A is stored:
    • = 'U': Upper triangular πŸ¦‹
    • = 'L': Lower triangular πŸ¦‹
  • N β€” N is INTEGER. The order of the matrix A. N >= 0. πŸ’œ
  • A β€” A is REAL array, dimension (LDA,N). On entry, the symmetric matrix A. If UPLO = '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. If UPLO = '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 UPLO = 'U', the diagonal and first superdiagonal of A are overwritten by the corresponding elements of the tridiagonal matrix T, and the elements above the first superdiagonal, with the array TAU, represent the orthogonal matrix Q as a product of elementary reflectors; if UPLO = 'L', the diagonal and first subdiagonal of A are overwritten by the corresponding elements of the tridiagonal matrix T, and the elements below the first subdiagonal, with the array TAU, represent the orthogonal matrix Q as a product of elementary reflectors. See Further Details. 🌈
  • LDA β€” LDA is INTEGER. The leading dimension of the array A. LDA >= max(1,N). ✨
  • D β€” D is REAL array, dimension (N). The diagonal elements of the tridiagonal matrix T: D(i) = A(i,i). πŸ’–
  • E β€” E is REAL array, dimension (N-1). The off-diagonal elements of the tridiagonal matrix T: E(i) = A(i,i+1) if UPLO = 'U', E(i) = A(i+1,i) if UPLO = 'L'. πŸŽ€
  • TAU β€” TAU is REAL array, dimension (N-1). The scalar factors of the elementary reflectors (see Further Details). ⭐
  • INFO β€” INFO is INTEGER:
    • = 0: successful exit πŸŽ‰
    • < 0: if INFO = -i, the i-th argument had an illegal value. 😭

πŸ‘‘ Author πŸ‘‘

these absolute icons, fr fr:

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

🧚 Further Details 🧚

If UPLO = 'U', the matrix Q is represented as a product of elementary reflectors

Q = H(n-1) . . . H(2) H(1).

Each H(i) has the form

H(i) = I - tau * v * v**T

where tau is a real scalar, and v is a real vector with v(i+1:n) = 0 and v(i) = 1; v(1:i-1) is stored on exit in A(1:i-1,i+1), and tau in TAU(i).

If UPLO = 'L', the matrix Q is represented as a product of elementary reflectors

Q = H(1) H(2) . . . H(n-1).

Each H(i) has the form

H(i) = I - tau * v * v**T

where tau is a real scalar, and v is a real vector with v(1:i) = 0 and v(i+1) = 1; v(i+2:n) is stored on exit in A(i+2:n,i), and tau in TAU(i).

The contents of A on exit are illustrated by the following examples with n = 5:

if UPLO = 'U':                       if UPLO = 'L':

  (  d   e   v2  v3  v4 )              (  d                  )
  (      d   e   v3  v4 )              (  e   d              )
  (          d   e   v4 )              (  v1  e   d          )
  (              d   e  )              (  v1  v2  e   d      )
  (                  d  )              (  v1  v2  v3  e   d  )

where d and e denote diagonal and off-diagonal elements of T, and vi denotes an element of the vector defining H(i).

πŸ“Œ Definition at line 172 of file ssytd2.f. πŸ“Œ

🫢 Author 🫢

Generated automatically by Doxygen for LAPACK from the source code.


okay bye bestie πŸ’– this page is from LAPACK, Version 3.12.0, source SRC/ssytd2.f(3), and the date isn't listed here, so no fake date energy β€” that's the cute sign-off, mwah 🫢✨

πŸ“¦ where this page comes from