SORML2(3)

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

πŸ’– SORML2(3) β€” Library Functions Manual πŸ’–

okay so bestie, this is the SORML2(3) page from the Library Functions Manual, and the header path is /home/abui...RC/sorml2.f(3). It’s giving β€œLAPACK routine energy” and honestly it’s iconic once you clock what it does. ✨

🌸 NAME 🌸

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

✨ SYNOPSIS ✨

Functions/Subroutines

       subroutine SORML2 (side, trans, m, n, k, a, lda, tau, c, ldc, work,
           info)

SORML2 multiplies a general matrix by the orthogonal matrix from a LQ factorization determined by sgelqf (unblocked algorithm).

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

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

SORML2 multiplies a general matrix by the orthogonal matrix from a LQ factorization determined by sgelqf (unblocked algorithm).

πŸ’œ Purpose πŸ’œ

okay so here’s the whole ✨ moment ✨: SORML2 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(k) . . . H(2) H(1)

as returned by SGELQF. Q is of order m if SIDE = 'L' and of order n if SIDE = 'R'. 🫢

πŸŽ€ Parameters πŸŽ€

every single arg, no skipping, periodt πŸ’…

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**T (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 REAL 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 SGELQF in the first k rows of its array argument A.
  • A is modified by the routine but restored on exit.

LDA

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

TAU

  • TAU is REAL array, dimension (K)
  • TAU(i) must contain the scalar factor of the elementary reflector H(i), as returned by SGELQF.

C

  • C is REAL 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 REAL 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 sorml2.f.

πŸ€– Author πŸ€–

Generated automatically by Doxygen for LAPACK from the source code.


stay orthogonal, bestie πŸ’… β€” LAPACK Version 3.12.0, and this page lives at /home/abui...RC/sorml2.f(3).

πŸ“¦ where this page comes from