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

Function dormbr_

numpy/linalg/lapack_lite/f2c_d_lapack.c:34877–35206  ·  view source on GitHub ↗

Subroutine */

Source from the content-addressed store, hash-verified

34875} /* dorm2r_ */
34876
34877/* Subroutine */ int dormbr_(char *vect, char *side, char *trans, integer *m,
34878 integer *n, integer *k, doublereal *a, integer *lda, doublereal *tau,
34879 doublereal *c__, integer *ldc, doublereal *work, integer *lwork,
34880 integer *info)
34881{
34882 /* System generated locals */
34883 address a__1[2];
34884 integer a_dim1, a_offset, c_dim1, c_offset, i__1, i__2, i__3[2];
34885 char ch__1[2];
34886
34887 /* Local variables */
34888 static integer i1, i2, nb, mi, ni, nq, nw;
34889 static logical left;
34890 extern logical lsame_(char *, char *);
34891 static integer iinfo;
34892 extern /* Subroutine */ int xerbla_(char *, integer *);
34893 extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
34894 integer *, integer *, ftnlen, ftnlen);
34895 extern /* Subroutine */ int dormlq_(char *, char *, integer *, integer *,
34896 integer *, doublereal *, integer *, doublereal *, doublereal *,
34897 integer *, doublereal *, integer *, integer *);
34898 static logical notran;
34899 extern /* Subroutine */ int dormqr_(char *, char *, integer *, integer *,
34900 integer *, doublereal *, integer *, doublereal *, doublereal *,
34901 integer *, doublereal *, integer *, integer *);
34902 static logical applyq;
34903 static char transt[1];
34904 static integer lwkopt;
34905 static logical lquery;
34906
34907
34908/*
34909 -- LAPACK routine (version 3.2) --
34910 -- LAPACK is a software package provided by Univ. of Tennessee, --
34911 -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
34912 November 2006
34913
34914
34915 Purpose
34916 =======
34917
34918 If VECT = 'Q', DORMBR overwrites the general real M-by-N matrix C
34919 with
34920 SIDE = 'L' SIDE = 'R'
34921 TRANS = 'N': Q * C C * Q
34922 TRANS = 'T': Q**T * C C * Q**T
34923
34924 If VECT = 'P', DORMBR overwrites the general real M-by-N matrix C
34925 with
34926 SIDE = 'L' SIDE = 'R'
34927 TRANS = 'N': P * C C * P
34928 TRANS = 'T': P**T * C C * P**T
34929
34930 Here Q and P**T are the orthogonal matrices determined by DGEBRD when
34931 reducing a real matrix A to bidiagonal form: A = Q * B * P**T. Q and
34932 P**T are defined as products of elementary reflectors H(i) and G(i)
34933 respectively.
34934

Callers 2

dgelsd_Function · 0.85
dgesdd_Function · 0.85

Calls 6

lsame_Function · 0.85
ilaenv_Function · 0.85
dormqr_Function · 0.85
dormlq_Function · 0.85
minFunction · 0.50
maxFunction · 0.50

Tested by

no test coverage detected