1DLATRZ(1) LAPACK routine (version 3.1) DLATRZ(1)
2
3
4
6 DLATRZ - the M-by-(M+L) real upper trapezoidal matrix [ A1 A2 ] = [
7 A(1:M,1:M) A(1:M,N-L+1:N) ] as ( R 0 ) * Z, by means of orthogonal
8 transformations
9
11 SUBROUTINE DLATRZ( M, N, L, A, LDA, TAU, WORK )
12
13 INTEGER L, LDA, M, N
14
15 DOUBLE PRECISION A( LDA, * ), TAU( * ), WORK( * )
16
18 DLATRZ factors the M-by-(M+L) real upper trapezoidal matrix [ A1 A2 ] =
19 [ A(1:M,1:M) A(1:M,N-L+1:N) ] as ( R 0 ) * Z, by means of orthogonal
20 transformations. Z is an (M+L)-by-(M+L) orthogonal matrix and, R and
21 A1 are M-by-M upper triangular matrices.
22
23
25 M (input) INTEGER
26 The number of rows of the matrix A. M >= 0.
27
28 N (input) INTEGER
29 The number of columns of the matrix A. N >= 0.
30
31 L (input) INTEGER
32 The number of columns of the matrix A containing the meaningful
33 part of the Householder vectors. N-M >= L >= 0.
34
35 A (input/output) DOUBLE PRECISION array, dimension (LDA,N)
36 On entry, the leading M-by-N upper trapezoidal part of the
37 array A must contain the matrix to be factorized. On exit, the
38 leading M-by-M upper triangular part of A contains the upper
39 triangular matrix R, and elements N-L+1 to N of the first M
40 rows of A, with the array TAU, represent the orthogonal matrix
41 Z as a product of M elementary reflectors.
42
43 LDA (input) INTEGER
44 The leading dimension of the array A. LDA >= max(1,M).
45
46 TAU (output) DOUBLE PRECISION array, dimension (M)
47 The scalar factors of the elementary reflectors.
48
49 WORK (workspace) DOUBLE PRECISION array, dimension (M)
50
52 Based on contributions by
53 A. Petitet, Computer Science Dept., Univ. of Tenn., Knoxville, USA
54
55 The factorization is obtained by Householder's method. The kth transā
56 formation matrix, Z( k ), which is used to introduce zeros into the ( m
57 - k + 1 )th row of A, is given in the form
58
59 Z( k ) = ( I 0 ),
60 ( 0 T( k ) )
61
62 where
63
64 T( k ) = I - tau*u( k )*u( k )', u( k ) = ( 1 ),
65 ( 0 )
66 ( z( k ) )
67
68 tau is a scalar and z( k ) is an l element vector. tau and z( k ) are
69 chosen to annihilate the elements of the kth row of A2.
70
71 The scalar tau is returned in the kth element of TAU and the vector u(
72 k ) in the kth row of A2, such that the elements of z( k ) are in a(
73 k, l + 1 ), ..., a( k, n ). The elements of R are returned in the upper
74 triangular part of A1.
75
76 Z is given by
77
78 Z = Z( 1 ) * Z( 2 ) * ... * Z( m ).
79
80
81
82
83 LAPACK routine (version 3.1) November 2006 DLATRZ(1)