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

Function sorgbr_

numpy/linalg/lapack_lite/f2c_s_lapack.c:33213–33489  ·  view source on GitHub ↗

Subroutine */

Source from the content-addressed store, hash-verified

33211} /* sorg2r_ */
33212
33213/* Subroutine */ int sorgbr_(char *vect, integer *m, integer *n, integer *k,
33214 real *a, integer *lda, real *tau, real *work, integer *lwork, integer
33215 *info)
33216{
33217 /* System generated locals */
33218 integer a_dim1, a_offset, i__1, i__2, i__3;
33219
33220 /* Local variables */
33221 static integer i__, j, nb, mn;
33222 extern logical lsame_(char *, char *);
33223 static integer iinfo;
33224 static logical wantq;
33225 extern /* Subroutine */ int xerbla_(char *, integer *);
33226 extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
33227 integer *, integer *, ftnlen, ftnlen);
33228 extern /* Subroutine */ int sorglq_(integer *, integer *, integer *, real
33229 *, integer *, real *, real *, integer *, integer *), sorgqr_(
33230 integer *, integer *, integer *, real *, integer *, real *, real *
33231 , integer *, integer *);
33232 static integer lwkopt;
33233 static logical lquery;
33234
33235
33236/*
33237 -- LAPACK routine (version 3.2) --
33238 -- LAPACK is a software package provided by Univ. of Tennessee, --
33239 -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
33240 November 2006
33241
33242
33243 Purpose
33244 =======
33245
33246 SORGBR generates one of the real orthogonal matrices Q or P**T
33247 determined by SGEBRD when reducing a real matrix A to bidiagonal
33248 form: A = Q * B * P**T. Q and P**T are defined as products of
33249 elementary reflectors H(i) or G(i) respectively.
33250
33251 If VECT = 'Q', A is assumed to have been an M-by-K matrix, and Q
33252 is of order M:
33253 if m >= k, Q = H(1) H(2) . . . H(k) and SORGBR returns the first n
33254 columns of Q, where m >= n >= k;
33255 if m < k, Q = H(1) H(2) . . . H(m-1) and SORGBR returns Q as an
33256 M-by-M matrix.
33257
33258 If VECT = 'P', A is assumed to have been a K-by-N matrix, and P**T
33259 is of order N:
33260 if k < n, P**T = G(k) . . . G(2) G(1) and SORGBR returns the first m
33261 rows of P**T, where n >= m >= k;
33262 if k >= n, P**T = G(n-1) . . . G(2) G(1) and SORGBR returns P**T as
33263 an N-by-N matrix.
33264
33265 Arguments
33266 =========
33267
33268 VECT (input) CHARACTER*1
33269 Specifies whether the matrix Q or the matrix P**T is
33270 required, as defined in the transformation applied by SGEBRD:

Callers 1

sgesdd_Function · 0.85

Calls 6

lsame_Function · 0.85
ilaenv_Function · 0.85
sorgqr_Function · 0.85
sorglq_Function · 0.85
minFunction · 0.50
maxFunction · 0.50

Tested by

no test coverage detected