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

Function zunmbr_

numpy/linalg/lapack_lite/f2c_z_lapack.c:28031–28367  ·  view source on GitHub ↗

Subroutine */

Source from the content-addressed store, hash-verified

28029} /* zunm2r_ */
28030
28031/* Subroutine */ int zunmbr_(char *vect, char *side, char *trans, integer *m,
28032 integer *n, integer *k, doublecomplex *a, integer *lda, doublecomplex
28033 *tau, doublecomplex *c__, integer *ldc, doublecomplex *work, integer *
28034 lwork, integer *info)
28035{
28036 /* System generated locals */
28037 address a__1[2];
28038 integer a_dim1, a_offset, c_dim1, c_offset, i__1, i__2, i__3[2];
28039 char ch__1[2];
28040
28041 /* Local variables */
28042 static integer i1, i2, nb, mi, ni, nq, nw;
28043 static logical left;
28044 extern logical lsame_(char *, char *);
28045 static integer iinfo;
28046 extern /* Subroutine */ int xerbla_(char *, integer *);
28047 extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
28048 integer *, integer *, ftnlen, ftnlen);
28049 static logical notran, applyq;
28050 static char transt[1];
28051 static integer lwkopt;
28052 static logical lquery;
28053 extern /* Subroutine */ int zunmlq_(char *, char *, integer *, integer *,
28054 integer *, doublecomplex *, integer *, doublecomplex *,
28055 doublecomplex *, integer *, doublecomplex *, integer *, integer *), zunmqr_(char *, char *, integer *, integer *,
28056 integer *, doublecomplex *, integer *, doublecomplex *,
28057 doublecomplex *, integer *, doublecomplex *, integer *, integer *);
28058
28059
28060/*
28061 -- LAPACK routine (version 3.2) --
28062 -- LAPACK is a software package provided by Univ. of Tennessee, --
28063 -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
28064 November 2006
28065
28066
28067 Purpose
28068 =======
28069
28070 If VECT = 'Q', ZUNMBR overwrites the general complex M-by-N matrix C
28071 with
28072 SIDE = 'L' SIDE = 'R'
28073 TRANS = 'N': Q * C C * Q
28074 TRANS = 'C': Q**H * C C * Q**H
28075
28076 If VECT = 'P', ZUNMBR overwrites the general complex M-by-N matrix C
28077 with
28078 SIDE = 'L' SIDE = 'R'
28079 TRANS = 'N': P * C C * P
28080 TRANS = 'C': P**H * C C * P**H
28081
28082 Here Q and P**H are the unitary matrices determined by ZGEBRD when
28083 reducing a complex matrix A to bidiagonal form: A = Q * B * P**H. Q
28084 and P**H are defined as products of elementary reflectors H(i) and
28085 G(i) respectively.
28086
28087 Let nq = m if SIDE = 'L' and nq = n if SIDE = 'R'. Thus nq is the
28088 order of the unitary matrix Q or P**H that is applied.

Callers 2

zgelsd_Function · 0.85
zgesdd_Function · 0.85

Calls 6

lsame_Function · 0.85
ilaenv_Function · 0.85
zunmqr_Function · 0.85
zunmlq_Function · 0.85
minFunction · 0.50
maxFunction · 0.50

Tested by

no test coverage detected