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

Function cunmtr_

numpy/linalg/lapack_lite/f2c_c_lapack.c:29597–29860  ·  view source on GitHub ↗

Subroutine */

Source from the content-addressed store, hash-verified

29595} /* cunmqr_ */
29596
29597/* Subroutine */ int cunmtr_(char *side, char *uplo, char *trans, integer *m,
29598 integer *n, complex *a, integer *lda, complex *tau, complex *c__,
29599 integer *ldc, complex *work, integer *lwork, integer *info)
29600{
29601 /* System generated locals */
29602 address a__1[2];
29603 integer a_dim1, a_offset, c_dim1, c_offset, i__1[2], i__2, i__3;
29604 char ch__1[2];
29605
29606 /* Local variables */
29607 static integer i1, i2, nb, mi, ni, nq, nw;
29608 static logical left;
29609 extern logical lsame_(char *, char *);
29610 static integer iinfo;
29611 static logical upper;
29612 extern /* Subroutine */ int xerbla_(char *, integer *);
29613 extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
29614 integer *, integer *, ftnlen, ftnlen);
29615 extern /* Subroutine */ int cunmql_(char *, char *, integer *, integer *,
29616 integer *, complex *, integer *, complex *, complex *, integer *,
29617 complex *, integer *, integer *), cunmqr_(char *,
29618 char *, integer *, integer *, integer *, complex *, integer *,
29619 complex *, complex *, integer *, complex *, integer *, integer *);
29620 static integer lwkopt;
29621 static logical lquery;
29622
29623
29624/*
29625 -- LAPACK routine (version 3.2) --
29626 -- LAPACK is a software package provided by Univ. of Tennessee, --
29627 -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
29628 November 2006
29629
29630
29631 Purpose
29632 =======
29633
29634 CUNMTR overwrites the general complex M-by-N matrix C with
29635
29636 SIDE = 'L' SIDE = 'R'
29637 TRANS = 'N': Q * C C * Q
29638 TRANS = 'C': Q**H * C C * Q**H
29639
29640 where Q is a complex unitary matrix of order nq, with nq = m if
29641 SIDE = 'L' and nq = n if SIDE = 'R'. Q is defined as the product of
29642 nq-1 elementary reflectors, as returned by CHETRD:
29643
29644 if UPLO = 'U', Q = H(nq-1) . . . H(2) H(1);
29645
29646 if UPLO = 'L', Q = H(1) H(2) . . . H(nq-1).
29647
29648 Arguments
29649 =========
29650
29651 SIDE (input) CHARACTER*1
29652 = 'L': apply Q or Q**H from the Left;
29653 = 'R': apply Q or Q**H from the Right.
29654

Callers 1

cheevd_Function · 0.85

Calls 5

lsame_Function · 0.85
ilaenv_Function · 0.85
cunmql_Function · 0.85
cunmqr_Function · 0.85
maxFunction · 0.50

Tested by

no test coverage detected