·  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/cgehrd (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

```
CGEHRD(3F)							    CGEHRD(3F)

```

### NAME[Toc][Back]

```     CGEHRD - reduce a complex general matrix A	to upper Hessenberg form H by
a unitary similarity transformation
```

### SYNOPSIS[Toc][Back]

```     SUBROUTINE	CGEHRD(	N, ILO,	IHI, A,	LDA, TAU, WORK,	LWORK, INFO )

INTEGER	IHI, ILO, INFO,	LDA, LWORK, N

COMPLEX	A( LDA,	* ), TAU( * ), WORK( LWORK )
```

### PURPOSE[Toc][Back]

```     CGEHRD reduces a complex general matrix A to upper	Hessenberg form	H by a
unitary similarity	transformation:	 Q' * A	* Q = H	.

```

### ARGUMENTS[Toc][Back]

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

ILO     (input) INTEGER
IHI     (input) INTEGER It	is assumed that	A is already upper
triangular	in rows	and columns 1:ILO-1 and	IHI+1:N. ILO and IHI
are normally set by a previous call to CGEBAL; otherwise they
should be set to 1	and N respectively. See	Further	Details.

A	     (input/output) COMPLEX array, dimension (LDA,N)
On	entry, the N-by-N general matrix to be reduced.	 On exit, the
upper triangle and	the first subdiagonal of A are overwritten
with the upper Hessenberg matrix H, and the elements below	the
first subdiagonal,	with the array TAU, represent the unitary
matrix Q as a product of elementary reflectors. See Further
Details.  LDA     (input) INTEGER The leading dimension of	the
array A.  LDA >= max(1,N).

TAU     (output) COMPLEX array, dimension (N-1)
The scalar	factors	of the elementary reflectors (see Further
Details). Elements	1:ILO-1	and IHI:N-1 of TAU are set to zero.

WORK    (workspace/output)	COMPLEX	array, dimension (LWORK)
On	exit, if INFO =	0, WORK(1) returns the optimal LWORK.

LWORK   (input) INTEGER
The length	of the array WORK.  LWORK >= max(1,N).	For optimum
performance LWORK >= N*NB,	where NB is the	optimal	blocksize.

INFO    (output) INTEGER
= 0:  successful exit
< 0:  if INFO = -i, the i-th argument had an illegal value.

Page 1

CGEHRD(3F)							    CGEHRD(3F)

FURTHER	DETAILS
The matrix	Q is represented as a product of (ihi-ilo) elementary
reflectors

Q = H(ilo) H(ilo+1) . .	. H(ihi-1).

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) = 0,
v(i+1) = 1	and v(ihi+1:n) = 0; v(i+2:ihi) is stored on exit in
A(i+2:ihi,i), and tau in TAU(i).

The contents of A are illustrated by the following	example, with n	= 7,
ilo = 2 and ihi = 6:

on	entry,			      on exit,

( a   a   a   a   a   a   a )    (	 a   a	 h   h	 h   h	 a ) (	   a
a	 a   a	 a   a )    (	   a   h   h   h   h   a ) (	 a   a	 a   a
a	 a )	(      h   h   h   h   h   h ) (     a	 a   a	 a   a	 a )
(	    v2	h   h	h   h	h ) (	  a   a	  a   a	  a   a	)    (	    v2
v3	 h   h	 h   h ) (     a   a   a   a   a   a )	  (	 v2  v3	 v4  h
h	 h ) (			       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).
CGEHRD(3F)							    CGEHRD(3F)

```

### NAME[Toc][Back]

```     CGEHRD - reduce a complex general matrix A	to upper Hessenberg form H by
a unitary similarity transformation
```

### SYNOPSIS[Toc][Back]

```     SUBROUTINE	CGEHRD(	N, ILO,	IHI, A,	LDA, TAU, WORK,	LWORK, INFO )

INTEGER	IHI, ILO, INFO,	LDA, LWORK, N

COMPLEX	A( LDA,	* ), TAU( * ), WORK( LWORK )
```

### PURPOSE[Toc][Back]

```     CGEHRD reduces a complex general matrix A to upper	Hessenberg form	H by a
unitary similarity	transformation:	 Q' * A	* Q = H	.

```

### ARGUMENTS[Toc][Back]

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

ILO     (input) INTEGER
IHI     (input) INTEGER It	is assumed that	A is already upper
triangular	in rows	and columns 1:ILO-1 and	IHI+1:N. ILO and IHI
are normally set by a previous call to CGEBAL; otherwise they
should be set to 1	and N respectively. See	Further	Details.

A	     (input/output) COMPLEX array, dimension (LDA,N)
On	entry, the N-by-N general matrix to be reduced.	 On exit, the
upper triangle and	the first subdiagonal of A are overwritten
with the upper Hessenberg matrix H, and the elements below	the
first subdiagonal,	with the array TAU, represent the unitary
matrix Q as a product of elementary reflectors. See Further
Details.  LDA     (input) INTEGER The leading dimension of	the
array A.  LDA >= max(1,N).

TAU     (output) COMPLEX array, dimension (N-1)
The scalar	factors	of the elementary reflectors (see Further
Details). Elements	1:ILO-1	and IHI:N-1 of TAU are set to zero.

WORK    (workspace/output)	COMPLEX	array, dimension (LWORK)
On	exit, if INFO =	0, WORK(1) returns the optimal LWORK.

LWORK   (input) INTEGER
The length	of the array WORK.  LWORK >= max(1,N).	For optimum
performance LWORK >= N*NB,	where NB is the	optimal	blocksize.

INFO    (output) INTEGER
= 0:  successful exit
< 0:  if INFO = -i, the i-th argument had an illegal value.

Page 1

CGEHRD(3F)							    CGEHRD(3F)

FURTHER	DETAILS
The matrix	Q is represented as a product of (ihi-ilo) elementary
reflectors

Q = H(ilo) H(ilo+1) . .	. H(ihi-1).

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) = 0,
v(i+1) = 1	and v(ihi+1:n) = 0; v(i+2:ihi) is stored on exit in
A(i+2:ihi,i), and tau in TAU(i).

The contents of A are illustrated by the following	example, with n	= 7,
ilo = 2 and ihi = 6:

on	entry,			      on exit,

( a   a   a   a   a   a   a )    (	 a   a	 h   h	 h   h	 a ) (	   a
a	 a   a	 a   a )    (	   a   h   h   h   h   a ) (	 a   a	 a   a
a	 a )	(      h   h   h   h   h   h ) (     a	 a   a	 a   a	 a )
(	    v2	h   h	h   h	h ) (	  a   a	  a   a	  a   a	)    (	    v2
v3	 h   h	 h   h ) (     a   a   a   a   a   a )	  (	 v2  v3	 v4  h
h	 h ) (			       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