1DORMR3(1)                LAPACK routine (version 3.1)                DORMR3(1)
2
3
4

NAME

6       DORMR3  -  the  general real m by n matrix C with   Q * C if SIDE = 'L'
7       and TRANS = 'N', or   Q'* C if SIDE = 'L' and TRANS = 'T', or   C  *  Q
8       if  SIDE  =  'R' and TRANS = 'N', or   C * Q' if SIDE = 'R' and TRANS =
9       'T',
10

SYNOPSIS

12       SUBROUTINE DORMR3( 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           DOUBLE         PRECISION  A( LDA, * ), C( LDC, * ), TAU( * ), WORK(
20                          * )
21

PURPOSE

23       DORMR3 overwrites the general real m by n matrix C with
24
25       where Q is a real orthogonal matrix defined as the product of k elemen‐
26       tary reflectors
27
28             Q = H(1) H(2) . . . H(k)
29
30       as  returned by DTZRZF. Q is of order m if SIDE = 'L' and of order n if
31       SIDE = 'R'.
32
33

ARGUMENTS

35       SIDE    (input) CHARACTER*1
36               = 'L': apply Q or Q' from the Left
37               = 'R': apply Q or Q' from the Right
38
39       TRANS   (input) CHARACTER*1
40               = 'N': apply Q  (No transpose)
41               = 'T': apply Q' (Transpose)
42
43       M       (input) INTEGER
44               The number of rows of the matrix C. M >= 0.
45
46       N       (input) INTEGER
47               The number of columns of the matrix C. N >= 0.
48
49       K       (input) INTEGER
50               The number of elementary reflectors whose product  defines  the
51               matrix Q.  If SIDE = 'L', M >= K >= 0; if SIDE = 'R', N >= K >=
52               0.
53
54       L       (input) INTEGER
55               The number of columns of the matrix A containing the meaningful
56               part  of  the Householder reflectors.  If SIDE = 'L', M >= L >=
57               0, if SIDE = 'R', N >= L >= 0.
58
59       A       (input) DOUBLE PRECISION array, dimension
60               (LDA,M) if SIDE = 'L', (LDA,N) if SIDE = 'R' The i-th row  must
61               contain the vector which defines the elementary reflector H(i),
62               for i = 1,2,...,k, as returned by DTZRZF in the last k rows  of
63               its  array  argument  A.   A  is  modified  by  the routine but
64               restored on exit.
65
66       LDA     (input) INTEGER
67               The leading dimension of the array A. LDA >= max(1,K).
68
69       TAU     (input) DOUBLE PRECISION array, dimension (K)
70               TAU(i) must contain the scalar factor of the elementary reflec‐
71               tor H(i), as returned by DTZRZF.
72
73       C       (input/output) DOUBLE PRECISION array, dimension (LDC,N)
74               On  entry,  the  m-by-n matrix C.  On exit, C is overwritten by
75               Q*C or Q'*C or C*Q' or C*Q.
76
77       LDC     (input) INTEGER
78               The leading dimension of the array C. LDC >= max(1,M).
79
80       WORK    (workspace) DOUBLE PRECISION array, dimension
81               (N) if SIDE = 'L', (M) if SIDE = 'R'
82
83       INFO    (output) INTEGER
84               = 0: successful exit
85               < 0: if INFO = -i, the i-th argument had an illegal value
86

FURTHER DETAILS

88       Based on contributions by
89         A. Petitet, Computer Science Dept., Univ. of Tenn., Knoxville, USA
90
91
92
93
94 LAPACK routine (version 3.1)    November 2006                       DORMR3(1)
Impressum