DSBTRD(3)

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

πŸ’œ dsbtrd.f(3) β€” Library Functions Manual πŸ’œ

ok so bestie, this is a page from the LAPACK docs β€” manual name is dsbtrd.f(3), and the file it's documenting lives at:

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

(yeah it's a whole journey of a path, we love a deep directory tree πŸ’…)


✨ NAME ✨

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

that's it, that's the name, the manpage just names the file. iconique.


πŸŽ€ SYNOPSIS πŸŽ€

Functions/Subroutines

subroutine DSBTRD (vect, uplo, n, kd, ab, ldab, d, e, q, ldq, work,
    info)
    DSBTRD

🌸 Function/Subroutine Documentation 🌸

subroutine DSBTRD (character vect, character uplo, integer n, integer kd,
    double precision, dimension( ldab, * ) ab, integer ldab, double
    precision, dimension( * ) d, double precision, dimension( * ) e, double
    precision, dimension( ldq, * ) q, integer ldq, double precision,
    dimension( * ) work, integer info)

DSBTRD

πŸ’– Purpose:

!>
!> DSBTRD reduces a real symmetric band matrix A to symmetric
!> tridiagonal form T by an orthogonal similarity transformation:
!> Q**T * A * Q = T.
!>

so basically it takes your symmetric band matrix A and squeezes it down into tridiagonal form T β€” no cap, that's the whole vibe check.


πŸ”₯ Parameters πŸ”₯

  • VECT β€” VECT is CHARACTER*1:
    • = 'N': do not form Q;
    • = 'V': form Q;
    • = 'U': update a matrix X, by forming X*Q.
  • UPLO β€” UPLO is CHARACTER*1:
    • = 'U': Upper triangle of A is stored;
    • = 'L': Lower triangle of A is stored.
  • N β€” N is INTEGER. The order of the matrix A. N >= 0.
  • KD β€” KD is INTEGER. The number of superdiagonals of the matrix A if UPLO = 'U', or the number of subdiagonals if UPLO = 'L'. KD >= 0.
  • AB β€” AB is DOUBLE PRECISION array, dimension (LDAB,N).

On entry, the upper or lower triangle of the symmetric band matrix A, stored in the first KD+1 rows of the array. The j-th column of A is stored in the j-th column of the array AB as follows:

if UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-kd)<=i<=j;
if UPLO = 'L', AB(1+i-j,j)    = A(i,j) for j<=i<=min(n,j+kd).

On exit, the diagonal elements of AB are overwritten by the diagonal elements of the tridiagonal matrix T; if KD > 0, the elements on the first superdiagonal (if UPLO = 'U') or the first subdiagonal (if UPLO = 'L') are overwritten by the off-diagonal elements of T; the rest of AB is overwritten by values generated during the reduction.

⚠️ heads up bestie β€” AB gets absolutely demolished on exit. your original matrix? gone. she's been overwritten, periodt. πŸ’€
  • LDAB β€” LDAB is INTEGER. The leading dimension of the array AB. LDAB >= KD+1.
  • D β€” D is DOUBLE PRECISION array, dimension (N). The diagonal elements of the tridiagonal matrix T.
  • E β€” E is DOUBLE PRECISION array, dimension (N-1). The off-diagonal elements of the tridiagonal matrix T:
E(i) = T(i,i+1) if UPLO = 'U'; E(i) = T(i+1,i) if UPLO = 'L'.
  • Q β€” Q is DOUBLE PRECISION array, dimension (LDQ,N).

On entry, if VECT = 'U', then Q must contain an N-by-N matrix X; if VECT = 'N' or 'V', then Q need not be set.

On exit:

if VECT = 'V', Q contains the N-by-N orthogonal matrix Q;
if VECT = 'U', Q contains the product X*Q;
if VECT = 'N', the array Q is not referenced.
🫢 love that for VECT = 'N' honestly β€” she said "not my problem, don't even look at me."
  • LDQ β€” LDQ is INTEGER. The leading dimension of the array Q. LDQ >= 1, and LDQ >= N if VECT = 'V' or 'U'.
  • WORK β€” WORK is DOUBLE PRECISION array, dimension (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.

πŸ¦‹ Further Details: πŸ¦‹

!>
!>  Modified by Linda Kaufman, Bell Labs.
!>

shoutout Linda Kaufman from Bell Labs, the actual main character of this file fr fr πŸŽ€


Definition at line 161 of file dsbtrd.f.


🌈 Author 🌈

Generated automatically by Doxygen for LAPACK from the source code. (yes queen, the robots wrote the docs, we're just vibing in their shadow ✨)


LAPACK Β· Version 3.12.0 Β· /home/abui...RC/dsbtrd.f(3)

and that's the whole page bestie, mwah πŸ’‹ slay, go reduce some band matrices, ily πŸ«ΆπŸ’–

πŸ“¦ where this page comes from