DOPGTR(3)

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

✨ DOPGTR πŸ’… β€” the LAPACK girlypop page

okay so bestie, you found the dopgtr.f(3) page from the Library Functions Manual and honestly? it's giving linear algebra main character energy. this is the LAPACK corner of the filesystem, and we're about to make sense of it together. no cap. 🫢


🌸 NAME 🌸

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

like, that's the whole name. it's a long path and it's that girl. slay. πŸ’–


πŸŽ€ SYNOPSIS πŸŽ€

Functions/Subroutines

subroutine DOPGTR (uplo, n, ap, tau, q, ldq, work, info)

DOPGTR β€” literally the name, iconic, no notes.


πŸ¦‹ Function/Subroutine Documentation πŸ¦‹

subroutine DOPGTR (character uplo, integer n, double precision, dimension( * ) ap, double precision, dimension( * ) tau, double precision, dimension( ldq, * ) q, integer ldq, double precision, dimension( * ) work, integer info)

DOPGTR again, because twice is cute and the docs said so. ✨

🌈 Purpose πŸ’œ

!> !> DOPGTR generates a real orthogonal matrix Q which is defined as the !> product of n-1 elementary reflectors H(i) of order n, as returned by !> DSPTRD using packed storage: !> !> if UPLO = 'U', Q = H(n-1) . . . H(2) H(1), !> !> if UPLO = 'L', Q = H(1) H(2) . . . H(n-1). !>

so basically bestie, DOPGTR builds you a real orthogonal matrix Q, and Q is the product of n-1 elementary reflectors H(i) of order n, exactly the way DSPTRD handed them over using packed storage. and depending on which way your UPLO swings, the order is different:

  • if UPLO = 'U', then Q = H(n-1) . . . H(2) H(1)
  • if UPLO = 'L', then Q = H(1) H(2) . . . H(n-1)

that's it, that's the vibe check. πŸ’…


πŸ‘‘ Parameters πŸ‘‘

  • UPLO β€” is CHARACTER*1, and here's the tea:
    • = 'U': upper triangular packed storage was used in the previous call to DSPTRD
    • = 'L': lower triangular packed storage was used in the previous call to DSPTRD
  • N β€” is INTEGER, the order of the matrix Q. and it must be N >= 0 fr fr.
  • AP β€” is DOUBLE PRECISION array, dimension (N*(N+1)/2). these are the vectors that define the elementary reflectors, as returned by DSPTRD. πŸ“
  • TAU β€” is DOUBLE PRECISION array, dimension (N-1). TAU(i) must contain the scalar factor of the elementary reflector H(i), as returned by DSPTRD. like, the lore is right there.
  • Q β€” is DOUBLE PRECISION array, dimension (LDQ,N). it's the N-by-N orthogonal matrix Q itself. our star. ⭐
  • LDQ β€” is INTEGER, the leading dimension of the array Q, and it needs LDQ >= max(1,N). respect the constraint bestie 😭
  • WORK β€” is DOUBLE PRECISION array, dimension (N-1). quiet little helper, doing its thing.
  • INFO β€” is INTEGER and it's the vibe report:
    • = 0: successful exit β€” slay ✨
    • < 0: if INFO = -i, the i-th argument had an illegal value β€” not slay πŸ’€

🧚 Author 🧚

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

all icons, all credited, periodt. πŸ‘‘


🌟 Definition at line 113 of file dopgtr.f. 🌟

yes bestie, line 113, marking it because we respect the source.


🎬 Author 🎬

Generated automatically by Doxygen for LAPACK from the source code. no human wrote this bit, it's just the machine being helpful. πŸ™ˆ


okay and we're done!! πŸ’– this whole thing is LAPACK Version 3.12.0 and it lives at /home/abui...RC/dopgtr.f(3) β€” mwah, go build your orthogonal matrix, you're gonna ate πŸŽ€πŸ¦‹πŸ’…

πŸ“¦ where this page comes from