MCPcopy Create free account
hub / github.com/numpy/numpy / sormlq_

Function sormlq_

numpy/linalg/lapack_lite/f2c_s_lapack.c:35503–35805  ·  view source on GitHub ↗

Subroutine */

Source from the content-addressed store, hash-verified

35501} /* sorml2_ */
35502
35503/* Subroutine */ int sormlq_(char *side, char *trans, integer *m, integer *n,
35504 integer *k, real *a, integer *lda, real *tau, real *c__, integer *ldc,
35505 real *work, integer *lwork, integer *info)
35506{
35507 /* System generated locals */
35508 address a__1[2];
35509 integer a_dim1, a_offset, c_dim1, c_offset, i__1, i__2, i__3[2], i__4,
35510 i__5;
35511 char ch__1[2];
35512
35513 /* Local variables */
35514 static integer i__;
35515 static real t[4160] /* was [65][64] */;
35516 static integer i1, i2, i3, ib, ic, jc, nb, mi, ni, nq, nw, iws;
35517 static logical left;
35518 extern logical lsame_(char *, char *);
35519 static integer nbmin, iinfo;
35520 extern /* Subroutine */ int sorml2_(char *, char *, integer *, integer *,
35521 integer *, real *, integer *, real *, real *, integer *, real *,
35522 integer *), slarfb_(char *, char *, char *, char *
35523 , integer *, integer *, integer *, real *, integer *, real *,
35524 integer *, real *, integer *, real *, integer *), xerbla_(char *, integer *);
35525 extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
35526 integer *, integer *, ftnlen, ftnlen);
35527 extern /* Subroutine */ int slarft_(char *, char *, integer *, integer *,
35528 real *, integer *, real *, real *, integer *);
35529 static logical notran;
35530 static integer ldwork;
35531 static char transt[1];
35532 static integer lwkopt;
35533 static logical lquery;
35534
35535
35536/*
35537 -- LAPACK routine (version 3.2) --
35538 -- LAPACK is a software package provided by Univ. of Tennessee, --
35539 -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
35540 November 2006
35541
35542
35543 Purpose
35544 =======
35545
35546 SORMLQ overwrites the general real M-by-N matrix C with
35547
35548 SIDE = 'L' SIDE = 'R'
35549 TRANS = 'N': Q * C C * Q
35550 TRANS = 'T': Q**T * C C * Q**T
35551
35552 where Q is a real orthogonal matrix defined as the product of k
35553 elementary reflectors
35554
35555 Q = H(k) . . . H(2) H(1)
35556
35557 as returned by SGELQF. Q is of order M if SIDE = 'L' and of order N
35558 if SIDE = 'R'.
35559
35560 Arguments

Callers 2

sgelsd_Function · 0.85
sormbr_Function · 0.85

Calls 7

lsame_Function · 0.85
ilaenv_Function · 0.85
sorml2_Function · 0.85
slarft_Function · 0.85
slarfb_Function · 0.85
maxFunction · 0.50
minFunction · 0.50

Tested by

no test coverage detected