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