1ZUNMR3(1) LAPACK routine (version 3.2) ZUNMR3(1)
2
3
4
6 ZUNMR3 - overwrites the general complex m by n matrix C with Q * C if
7 SIDE = 'L' and TRANS = 'N', or Q'* C if SIDE = 'L' and TRANS = 'C',
8 or C * Q if SIDE = 'R' and TRANS = 'N', or C * Q' if SIDE = 'R' and
9 TRANS = 'C',
10
12 SUBROUTINE ZUNMR3( SIDE, TRANS, M, N, K, L, A, LDA, TAU, C, LDC, WORK,
13 INFO )
14
15 CHARACTER SIDE, TRANS
16
17 INTEGER INFO, K, L, LDA, LDC, M, N
18
19 COMPLEX*16 A( LDA, * ), C( LDC, * ), TAU( * ), WORK( * )
20
22 ZUNMR3 overwrites the general complex m by n matrix C with where Q is a
23 complex unitary matrix defined as the product of k elementary reflec‐
24 tors
25 Q = H(1) H(2) . . . H(k)
26 as returned by ZTZRZF. Q is of order m if SIDE = 'L' and of order n if
27 SIDE = 'R'.
28
30 SIDE (input) CHARACTER*1
31 = 'L': apply Q or Q' from the Left
32 = 'R': apply Q or Q' from the Right
33
34 TRANS (input) CHARACTER*1
35 = 'N': apply Q (No transpose)
36 = 'C': apply Q' (Conjugate transpose)
37
38 M (input) INTEGER
39 The number of rows of the matrix C. M >= 0.
40
41 N (input) INTEGER
42 The number of columns of the matrix C. N >= 0.
43
44 K (input) INTEGER
45 The number of elementary reflectors whose product defines the
46 matrix Q. If SIDE = 'L', M >= K >= 0; if SIDE = 'R', N >= K >=
47 0.
48
49 L (input) INTEGER
50 The number of columns of the matrix A containing the meaningful
51 part of the Householder reflectors. If SIDE = 'L', M >= L >=
52 0, if SIDE = 'R', N >= L >= 0.
53
54 A (input) COMPLEX*16 array, dimension
55 (LDA,M) if SIDE = 'L', (LDA,N) if SIDE = 'R' The i-th row must
56 contain the vector which defines the elementary reflector H(i),
57 for i = 1,2,...,k, as returned by ZTZRZF in the last k rows of
58 its array argument A. A is modified by the routine but
59 restored on exit.
60
61 LDA (input) INTEGER
62 The leading dimension of the array A. LDA >= max(1,K).
63
64 TAU (input) COMPLEX*16 array, dimension (K)
65 TAU(i) must contain the scalar factor of the elementary reflec‐
66 tor H(i), as returned by ZTZRZF.
67
68 C (input/output) COMPLEX*16 array, dimension (LDC,N)
69 On entry, the m-by-n matrix C. On exit, C is overwritten by
70 Q*C or Q'*C or C*Q' or C*Q.
71
72 LDC (input) INTEGER
73 The leading dimension of the array C. LDC >= max(1,M).
74
75 WORK (workspace) COMPLEX*16 array, dimension
76 (N) if SIDE = 'L', (M) if SIDE = 'R'
77
78 INFO (output) INTEGER
79 = 0: successful exit
80 < 0: if INFO = -i, the i-th argument had an illegal value
81
83 Based on contributions by
84 A. Petitet, Computer Science Dept., Univ. of Tenn., Knoxville, USA
85
86
87
88 LAPACK routine (version 3.2) November 2008 ZUNMR3(1)