1CLATRZ(1) LAPACK routine (version 3.2) CLATRZ(1)
2
3
4
6 CLATRZ - factors the M-by-(M+L) complex upper trapezoidal matrix [ A1
7 A2 ] = [ A(1:M,1:M) A(1:M,N-L+1:N) ] as ( R 0 ) * Z by means of unitary
8 transformations, where Z is an (M+L)-by-(M+L) unitary matrix and, R and
9 A1 are M-by-M upper triangular matrices
10
12 SUBROUTINE CLATRZ( M, N, L, A, LDA, TAU, WORK )
13
14 INTEGER L, LDA, M, N
15
16 COMPLEX A( LDA, * ), TAU( * ), WORK( * )
17
19 CLATRZ factors the M-by-(M+L) complex upper trapezoidal matrix [ A1 A2
20 ] = [ A(1:M,1:M) A(1:M,N-L+1:N) ] as ( R 0 ) * Z by means of unitary
21 transformations, where Z is an (M+L)-by-(M+L) unitary matrix and, R
22 and A1 are M-by-M upper triangular matrices.
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) COMPLEX 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 unitary matrix Z
41 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) COMPLEX array, dimension (M)
47 The scalar factors of the elementary reflectors.
48
49 WORK (workspace) COMPLEX array, dimension (M)
50
52 Based on contributions by
53 A. Petitet, Computer Science Dept., Univ. of Tenn., Knoxville, USA
54 The factorization is obtained by Householder's method. The kth transā
55 formation matrix, Z( k ), which is used to introduce zeros into the ( m
56 - k + 1 )th row of A, is given in the form
57 Z( k ) = ( I 0 ),
58 ( 0 T( k ) )
59 where
60 T( k ) = I - tau*u( k )*u( k )', u( k ) = ( 1 ),
61 ( 0 )
62 ( z( k ) ) tau is a
63 scalar and z( k ) is an l element vector. tau and z( k ) are chosen to
64 annihilate the elements of the kth row of A2. The scalar tau is
65 returned in the kth element of TAU and the vector u( k ) in the kth row
66 of A2, such that the elements of z( k ) are in a( k, l + 1 ), ..., a(
67 k, n ). The elements of R are returned in the upper triangular part of
68 A1.
69 Z is given by
70 Z = Z( 1 ) * Z( 2 ) * ... * Z( m ).
71
72
73
74 LAPACK routine (version 3.2) November 2008 CLATRZ(1)