·  Home
+   man pages
 -> Linux -> FreeBSD -> OpenBSD -> NetBSD -> Tru64 Unix -> HP-UX 11i -> IRIX
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

man pages->IRIX man pages -> complib/zlahrd (3)
 Title
 Content
 Arch
 Section All Sections 1 - General Commands 2 - System Calls 3 - Subroutines 4 - Special Files 5 - File Formats 6 - Games 7 - Macros and Conventions 8 - Maintenance Commands 9 - Kernel Interface n - New Commands

### Contents

```
ZLAHRD(3F)							    ZLAHRD(3F)

```

### NAME[Toc][Back]

```     ZLAHRD - reduce the first NB columns of a complex general n-by-(n-k+1)
matrix A so that elements below the k-th subdiagonal are zero
```

### SYNOPSIS[Toc][Back]

```     SUBROUTINE	ZLAHRD(	N, K, NB, A, LDA, TAU, T, LDT, Y, LDY )

INTEGER	K, LDA,	LDT, LDY, N, NB

COMPLEX*16	A( LDA,	* ), T(	LDT, NB	), TAU(	NB ), Y( LDY, NB )
```

### PURPOSE[Toc][Back]

```     ZLAHRD reduces the	first NB columns of a complex general n-by-(n-k+1)
matrix A so that elements below the k-th subdiagonal are zero. The
reduction is performed by a unitary similarity transformation Q' *	A * Q.
The routine returns the matrices V	and T which determine Q	as a block
reflector I - V*T*V', and also the	matrix Y = A * V * T.

This is an	auxiliary routine called by ZGEHRD.

```

### ARGUMENTS[Toc][Back]

```     N	     (input) INTEGER
The order of the matrix A.

K	     (input) INTEGER
The offset	for the	reduction. Elements below the k-th subdiagonal
in	the first NB columns are reduced to zero.

NB	     (input) INTEGER
The number	of columns to be reduced.

A	     (input/output) COMPLEX*16 array, dimension	(LDA,N-K+1)
On	entry, the n-by-(n-k+1)	general	matrix A.  On exit, the
elements on and above the k-th subdiagonal	in the first NB
columns are overwritten with the corresponding elements of	the
reduced matrix; the elements below	the k-th subdiagonal, with the
array TAU,	represent the matrix Q as a product of elementary
reflectors. The other columns of A	are unchanged. See Further
Details.  LDA     (input) INTEGER The leading dimension of	the
array A.  LDA >= max(1,N).

TAU     (output) COMPLEX*16 array,	dimension (NB)
The scalar	factors	of the elementary reflectors. See Further
Details.

T	     (output) COMPLEX*16 array,	dimension (NB,NB)
The upper triangular matrix T.

LDT     (input) INTEGER
The leading dimension of the array	T.  LDT	>= NB.

Page 1

ZLAHRD(3F)							    ZLAHRD(3F)

Y	     (output) COMPLEX*16 array,	dimension (LDY,NB)
The n-by-nb matrix	Y.

LDY     (input) INTEGER
The leading dimension of the array	Y. LDY >= max(1,N).

FURTHER	DETAILS
The matrix	Q is represented as a product of nb elementary reflectors

Q = H(1) H(2) .	. . H(nb).

Each H(i) has the form

H(i) = I - tau * v * v'

where tau is a complex scalar, and	v is a complex vector with v(1:i+k-1)
= 0, v(i+k) = 1; v(i+k+1:n) is stored on exit in A(i+k+1:n,i), and	tau in
TAU(i).

The elements of the vectors v together form the (n-k+1)-by-nb matrix V
which is needed, with T and Y, to apply the transformation	to the
unreduced part of the matrix, using an update of the form:	 A := (I -
V*T*V') * (A - Y*V').

The contents of A on exit are illustrated by the following	example	with n
= 7, k = 3	and nb = 2:

( a   h	  a   a	  a )
( a   h	  a   a	  a )
( a   h	  a   a	  a )
( h   h	  a   a	  a )
( v1  h	  a   a	  a )
( v1  v2  a   a	  a )
( v1  v2  a   a	  a )

where a denotes an	element	of the original	matrix A, h denotes a modified
element of	the upper Hessenberg matrix H, and vi denotes an element of
the vector	defining H(i).
ZLAHRD(3F)							    ZLAHRD(3F)

```

### NAME[Toc][Back]

```     ZLAHRD - reduce the first NB columns of a complex general n-by-(n-k+1)
matrix A so that elements below the k-th subdiagonal are zero
```

### SYNOPSIS[Toc][Back]

```     SUBROUTINE	ZLAHRD(	N, K, NB, A, LDA, TAU, T, LDT, Y, LDY )

INTEGER	K, LDA,	LDT, LDY, N, NB

COMPLEX*16	A( LDA,	* ), T(	LDT, NB	), TAU(	NB ), Y( LDY, NB )
```

### PURPOSE[Toc][Back]

```     ZLAHRD reduces the	first NB columns of a complex general n-by-(n-k+1)
matrix A so that elements below the k-th subdiagonal are zero. The
reduction is performed by a unitary similarity transformation Q' *	A * Q.
The routine returns the matrices V	and T which determine Q	as a block
reflector I - V*T*V', and also the	matrix Y = A * V * T.

This is an	auxiliary routine called by ZGEHRD.

```

### ARGUMENTS[Toc][Back]

```     N	     (input) INTEGER
The order of the matrix A.

K	     (input) INTEGER
The offset	for the	reduction. Elements below the k-th subdiagonal
in	the first NB columns are reduced to zero.

NB	     (input) INTEGER
The number	of columns to be reduced.

A	     (input/output) COMPLEX*16 array, dimension	(LDA,N-K+1)
On	entry, the n-by-(n-k+1)	general	matrix A.  On exit, the
elements on and above the k-th subdiagonal	in the first NB
columns are overwritten with the corresponding elements of	the
reduced matrix; the elements below	the k-th subdiagonal, with the
array TAU,	represent the matrix Q as a product of elementary
reflectors. The other columns of A	are unchanged. See Further
Details.  LDA     (input) INTEGER The leading dimension of	the
array A.  LDA >= max(1,N).

TAU     (output) COMPLEX*16 array,	dimension (NB)
The scalar	factors	of the elementary reflectors. See Further
Details.

T	     (output) COMPLEX*16 array,	dimension (NB,NB)
The upper triangular matrix T.

LDT     (input) INTEGER
The leading dimension of the array	T.  LDT	>= NB.

Page 1

ZLAHRD(3F)							    ZLAHRD(3F)

Y	     (output) COMPLEX*16 array,	dimension (LDY,NB)
The n-by-nb matrix	Y.

LDY     (input) INTEGER
The leading dimension of the array	Y. LDY >= max(1,N).

FURTHER	DETAILS
The matrix	Q is represented as a product of nb elementary reflectors

Q = H(1) H(2) .	. . H(nb).

Each H(i) has the form

H(i) = I - tau * v * v'

where tau is a complex scalar, and	v is a complex vector with v(1:i+k-1)
= 0, v(i+k) = 1; v(i+k+1:n) is stored on exit in A(i+k+1:n,i), and	tau in
TAU(i).

The elements of the vectors v together form the (n-k+1)-by-nb matrix V
which is needed, with T and Y, to apply the transformation	to the
unreduced part of the matrix, using an update of the form:	 A := (I -
V*T*V') * (A - Y*V').

The contents of A on exit are illustrated by the following	example	with n
= 7, k = 3	and nb = 2:

( a   h	  a   a	  a )
( a   h	  a   a	  a )
( a   h	  a   a	  a )
( h   h	  a   a	  a )
( v1  h	  a   a	  a )
( v1  v2  a   a	  a )
( v1  v2  a   a	  a )

where a denotes an	element	of the original	matrix A, h denotes a modified
element of	the upper Hessenberg matrix H, and vi denotes an element of
the vector	defining H(i).

PPPPaaaaggggeeee 2222```
[ Back ]
Similar pages