DORMR2(3)

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

🌈 DORMR2(3) β€” LAPACK Library Functions Manual, bestie edition πŸ’…

✨ NAME ✨

Okay so this page is literally about /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dormr2.f, and the icon of the hour is DORMR2. No cap, that path is a whole journey. 🫢

πŸ¦‹ SYNOPSIS πŸ¦‹

πŸŽ€ Functions/Subroutines πŸŽ€

subroutine DORMR2 (side, trans, m, n, k, a, lda, tau, c, ldc, work,
    info)
    DORMR2 multiplies a general matrix by the orthogonal matrix from a
    RQ factorization determined by sgerqf (unblocked algorithm).

🌸 Function/Subroutine Documentation 🌸

Here’s the full signature, character for character, because we do not play about exact details:

subroutine DORMR2 (character side, character trans, integer m, integer n,
    integer k, double precision, dimension( lda, * ) a, integer lda, double
    precision, dimension( * ) tau, double precision, dimension( ldc, * ) c,
    integer ldc, double precision, dimension( * ) work, integer info)

DORMR2 multiplies a general matrix by the orthogonal matrix from a RQ factorization determined by sgerqf (unblocked algorithm). Slay, unblocked algorithm, we see you. ✨

πŸ’… Purpose πŸ’…

DORMR2 overwrites the general real m by n matrix C with:

  • Q * C if SIDE = 'L' and TRANS = 'N', or
  • Q**T* C if SIDE = 'L' and TRANS = 'T', or
  • C * Q if SIDE = 'R' and TRANS = 'N', or
  • C * Q**T if SIDE = 'R' and TRANS = 'T',

where Q is a real orthogonal matrix defined as the product of k elementary reflectors:

Q = H(1) H(2) . . . H(k)

as returned by DGERQF. Q is of order m if SIDE = 'L' and of order n if SIDE = 'R'. Periodt. πŸ’«

πŸ“ Parameters πŸ“

  • SIDE β€” SIDE is CHARACTER*1; = 'L': apply Q or Q**T from the Left; = 'R': apply Q or Q**T from the Right.
  • TRANS β€” TRANS is CHARACTER*1; = 'N': apply Q (No transpose); = 'T': apply Q' (Transpose).
  • M β€” M is INTEGER; the number of rows of the matrix C. M >= 0.
  • N β€” N is INTEGER; the number of columns of the matrix C. N >= 0.
  • K β€” K is INTEGER; the number of elementary reflectors whose product defines the matrix Q. If SIDE = 'L', M >= K >= 0; if SIDE = 'R', N >= K >= 0.
  • A β€” A is DOUBLE PRECISION array, dimension (LDA,M) if SIDE = 'L', (LDA,N) if SIDE = 'R'. The i-th row must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by DGERQF in the last k rows of its array argument A. A is modified by the routine but restored on exit. Iconic behavior, honestly.
  • LDA β€” LDA is INTEGER; the leading dimension of the array A. LDA >= max(1,K).
  • TAU β€” TAU is DOUBLE PRECISION array, dimension (K). TAU(i) must contain the scalar factor of the elementary reflector H(i), as returned by DGERQF.
  • C β€” C is DOUBLE PRECISION array, dimension (LDC,N). On entry, the m by n matrix C. On exit, C is overwritten by Q*C or Q**T*C or C*Q**T or C*Q.
  • LDC β€” LDC is INTEGER; the leading dimension of the array C. LDC >= max(1,M).
  • WORK β€” WORK is DOUBLE PRECISION array, dimension (N) if SIDE = 'L', (M) if SIDE = 'R'.
  • 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.

Definition at line 157 of file dormr2.f. πŸŽ€

⭐ Author ⭐

Generated automatically by Doxygen for LAPACK from the source code. Doxygen really said β€œI’ll handle the paperwork, bestie.” πŸ’–


Okay that’s the whole page, bestie πŸ’… β€” source/version vibes are LAPACK, Version 3.12.0, and the footer path is /home/abui...RC/dormr2.f(3). There’s no date listed in the footer, so I’m not inventing one. 🌈✨

πŸ“¦ where this page comes from