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

Function dorgbr_

numpy/linalg/lapack_lite/f2c_d_lapack.c:33339–33615  ·  view source on GitHub ↗

Subroutine */

Source from the content-addressed store, hash-verified

33337} /* dorg2r_ */
33338
33339/* Subroutine */ int dorgbr_(char *vect, integer *m, integer *n, integer *k,
33340 doublereal *a, integer *lda, doublereal *tau, doublereal *work,
33341 integer *lwork, integer *info)
33342{
33343 /* System generated locals */
33344 integer a_dim1, a_offset, i__1, i__2, i__3;
33345
33346 /* Local variables */
33347 static integer i__, j, nb, mn;
33348 extern logical lsame_(char *, char *);
33349 static integer iinfo;
33350 static logical wantq;
33351 extern /* Subroutine */ int xerbla_(char *, integer *);
33352 extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
33353 integer *, integer *, ftnlen, ftnlen);
33354 extern /* Subroutine */ int dorglq_(integer *, integer *, integer *,
33355 doublereal *, integer *, doublereal *, doublereal *, integer *,
33356 integer *), dorgqr_(integer *, integer *, integer *, doublereal *,
33357 integer *, doublereal *, doublereal *, integer *, integer *);
33358 static integer lwkopt;
33359 static logical lquery;
33360
33361
33362/*
33363 -- LAPACK routine (version 3.2) --
33364 -- LAPACK is a software package provided by Univ. of Tennessee, --
33365 -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
33366 November 2006
33367
33368
33369 Purpose
33370 =======
33371
33372 DORGBR generates one of the real orthogonal matrices Q or P**T
33373 determined by DGEBRD when reducing a real matrix A to bidiagonal
33374 form: A = Q * B * P**T. Q and P**T are defined as products of
33375 elementary reflectors H(i) or G(i) respectively.
33376
33377 If VECT = 'Q', A is assumed to have been an M-by-K matrix, and Q
33378 is of order M:
33379 if m >= k, Q = H(1) H(2) . . . H(k) and DORGBR returns the first n
33380 columns of Q, where m >= n >= k;
33381 if m < k, Q = H(1) H(2) . . . H(m-1) and DORGBR returns Q as an
33382 M-by-M matrix.
33383
33384 If VECT = 'P', A is assumed to have been a K-by-N matrix, and P**T
33385 is of order N:
33386 if k < n, P**T = G(k) . . . G(2) G(1) and DORGBR returns the first m
33387 rows of P**T, where n >= m >= k;
33388 if k >= n, P**T = G(n-1) . . . G(2) G(1) and DORGBR returns P**T as
33389 an N-by-N matrix.
33390
33391 Arguments
33392 =========
33393
33394 VECT (input) CHARACTER*1
33395 Specifies whether the matrix Q or the matrix P**T is
33396 required, as defined in the transformation applied by DGEBRD:

Callers 1

dgesdd_Function · 0.85

Calls 6

lsame_Function · 0.85
ilaenv_Function · 0.85
dorgqr_Function · 0.85
dorglq_Function · 0.85
minFunction · 0.50
maxFunction · 0.50

Tested by

no test coverage detected