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

Function cunmbr_

numpy/linalg/lapack_lite/f2c_c_lapack.c:27905–28243  ·  view source on GitHub ↗

Subroutine */

Source from the content-addressed store, hash-verified

27903} /* cunm2r_ */
27904
27905/* Subroutine */ int cunmbr_(char *vect, char *side, char *trans, integer *m,
27906 integer *n, integer *k, complex *a, integer *lda, complex *tau,
27907 complex *c__, integer *ldc, complex *work, integer *lwork, integer *
27908 info)
27909{
27910 /* System generated locals */
27911 address a__1[2];
27912 integer a_dim1, a_offset, c_dim1, c_offset, i__1, i__2, i__3[2];
27913 char ch__1[2];
27914
27915 /* Local variables */
27916 static integer i1, i2, nb, mi, ni, nq, nw;
27917 static logical left;
27918 extern logical lsame_(char *, char *);
27919 static integer iinfo;
27920 extern /* Subroutine */ int xerbla_(char *, integer *);
27921 extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
27922 integer *, integer *, ftnlen, ftnlen);
27923 extern /* Subroutine */ int cunmlq_(char *, char *, integer *, integer *,
27924 integer *, complex *, integer *, complex *, complex *, integer *,
27925 complex *, integer *, integer *);
27926 static logical notran;
27927 extern /* Subroutine */ int cunmqr_(char *, char *, integer *, integer *,
27928 integer *, complex *, integer *, complex *, complex *, integer *,
27929 complex *, integer *, integer *);
27930 static logical applyq;
27931 static char transt[1];
27932 static integer lwkopt;
27933 static logical lquery;
27934
27935
27936/*
27937 -- LAPACK routine (version 3.2) --
27938 -- LAPACK is a software package provided by Univ. of Tennessee, --
27939 -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
27940 November 2006
27941
27942
27943 Purpose
27944 =======
27945
27946 If VECT = 'Q', CUNMBR overwrites the general complex M-by-N matrix C
27947 with
27948 SIDE = 'L' SIDE = 'R'
27949 TRANS = 'N': Q * C C * Q
27950 TRANS = 'C': Q**H * C C * Q**H
27951
27952 If VECT = 'P', CUNMBR overwrites the general complex M-by-N matrix C
27953 with
27954 SIDE = 'L' SIDE = 'R'
27955 TRANS = 'N': P * C C * P
27956 TRANS = 'C': P**H * C C * P**H
27957
27958 Here Q and P**H are the unitary matrices determined by CGEBRD when
27959 reducing a complex matrix A to bidiagonal form: A = Q * B * P**H. Q
27960 and P**H are defined as products of elementary reflectors H(i) and
27961 G(i) respectively.
27962

Callers 2

cgelsd_Function · 0.85
cgesdd_Function · 0.85

Calls 6

lsame_Function · 0.85
ilaenv_Function · 0.85
cunmqr_Function · 0.85
cunmlq_Function · 0.85
minFunction · 0.50
maxFunction · 0.50

Tested by

no test coverage detected