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

```
CHETD2(3F)							    CHETD2(3F)

```

### NAME[Toc][Back]

```     CHETD2 - reduce a complex Hermitian matrix	A to real symmetric
tridiagonal form T	by a unitary similarity	transformation
```

### SYNOPSIS[Toc][Back]

```     SUBROUTINE	CHETD2(	UPLO, N, A, LDA, D, E, TAU, INFO )

CHARACTER	UPLO

INTEGER	INFO, LDA, N

REAL		D( * ),	E( * )

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

### PURPOSE[Toc][Back]

```     CHETD2 reduces a complex Hermitian	matrix A to real symmetric tridiagonal
form T by a unitary similarity transformation:  Q'	* A * Q	= T.

```

### ARGUMENTS[Toc][Back]

```     UPLO    (input) CHARACTER*1
Specifies whether the upper or lower triangular part of the
Hermitian matrix A	is stored:
= 'U':  Upper triangular
= 'L':  Lower triangular

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

A	     (input/output) COMPLEX array, dimension (LDA,N)
On	entry, the Hermitian matrix A.	If UPLO	= 'U', the leading nby-n
upper	triangular part	of A contains the upper	triangular
part of the matrix	A, and the strictly lower triangular part of A
is	not referenced.	 If UPLO = 'L',	the leading n-by-n lower
triangular	part of	A contains the lower triangular	part of	the
matrix A, and the strictly	upper triangular part of A is not
referenced.  On exit, if UPLO = 'U', the diagonal and first
superdiagonal of A	are overwritten	by the corresponding elements
of	the tridiagonal	matrix T, and the elements above the first
superdiagonal, with the array TAU,	represent the unitary matrix Q
as	a product of elementary	reflectors; if UPLO = 'L', the
diagonal and first	subdiagonal of A are over- written by the
corresponding elements of the tridiagonal matrix T, 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).

D	     (output) REAL array, dimension (N)
The diagonal elements of the tridiagonal matrix T:	 D(i) =
A(i,i).

Page 1

CHETD2(3F)							    CHETD2(3F)

E	     (output) REAL array, dimension (N-1)
The off-diagonal elements of the tridiagonal matrix T:  E(i) =
A(i,i+1) if UPLO =	'U', E(i) = A(i+1,i) if	UPLO = 'L'.

TAU     (output) COMPLEX array, dimension (N-1)
The scalar	factors	of the elementary reflectors (see Further
Details).

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

FURTHER	DETAILS
If	UPLO = 'U', the	matrix Q is represented	as a product of	elementary
reflectors

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

If	UPLO = 'L', the	matrix Q is represented	as a product of	elementary
reflectors

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

The contents of A on exit are illustrated by the following	examples with
n = 5:

if	UPLO = 'U':			  if UPLO = 'L':

(  d   e	  v2  v3  v4 )		    (  d		  )
(      d	  e   v3  v4 )		    (  e   d		  )
(	  d   e	  v4 )		    (  v1  e   d	  )
(	      d	  e  )		    (  v1  v2  e   d	  )
(		  d  )		    (  v1  v2  v3  e   d  )

where d and e denote diagonal and off-diagonal elements of	T, and vi
denotes an	element	of the vector defining H(i).

Page 2

CHETD2(3F)							    CHETD2(3F)
CHETD2(3F)							    CHETD2(3F)

```

### NAME[Toc][Back]

```     CHETD2 - reduce a complex Hermitian matrix	A to real symmetric
tridiagonal form T	by a unitary similarity	transformation
```

### SYNOPSIS[Toc][Back]

```     SUBROUTINE	CHETD2(	UPLO, N, A, LDA, D, E, TAU, INFO )

CHARACTER	UPLO

INTEGER	INFO, LDA, N

REAL		D( * ),	E( * )

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

### PURPOSE[Toc][Back]

```     CHETD2 reduces a complex Hermitian	matrix A to real symmetric tridiagonal
form T by a unitary similarity transformation:  Q'	* A * Q	= T.

```

### ARGUMENTS[Toc][Back]

```     UPLO    (input) CHARACTER*1
Specifies whether the upper or lower triangular part of the
Hermitian matrix A	is stored:
= 'U':  Upper triangular
= 'L':  Lower triangular

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

A	     (input/output) COMPLEX array, dimension (LDA,N)
On	entry, the Hermitian matrix A.	If UPLO	= 'U', the leading nby-n
upper	triangular part	of A contains the upper	triangular
part of the matrix	A, and the strictly lower triangular part of A
is	not referenced.	 If UPLO = 'L',	the leading n-by-n lower
triangular	part of	A contains the lower triangular	part of	the
matrix A, and the strictly	upper triangular part of A is not
referenced.  On exit, if UPLO = 'U', the diagonal and first
superdiagonal of A	are overwritten	by the corresponding elements
of	the tridiagonal	matrix T, and the elements above the first
superdiagonal, with the array TAU,	represent the unitary matrix Q
as	a product of elementary	reflectors; if UPLO = 'L', the
diagonal and first	subdiagonal of A are over- written by the
corresponding elements of the tridiagonal matrix T, 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).

D	     (output) REAL array, dimension (N)
The diagonal elements of the tridiagonal matrix T:	 D(i) =
A(i,i).

Page 1

CHETD2(3F)							    CHETD2(3F)

E	     (output) REAL array, dimension (N-1)
The off-diagonal elements of the tridiagonal matrix T:  E(i) =
A(i,i+1) if UPLO =	'U', E(i) = A(i+1,i) if	UPLO = 'L'.

TAU     (output) COMPLEX array, dimension (N-1)
The scalar	factors	of the elementary reflectors (see Further
Details).

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

FURTHER	DETAILS
If	UPLO = 'U', the	matrix Q is represented	as a product of	elementary
reflectors

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

If	UPLO = 'L', the	matrix Q is represented	as a product of	elementary
reflectors

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

The contents of A on exit are illustrated by the following	examples with
n = 5:

if	UPLO = 'U':			  if UPLO = 'L':

(  d   e	  v2  v3  v4 )		    (  d		  )
(      d	  e   v3  v4 )		    (  e   d		  )
(	  d   e	  v4 )		    (  v1  e   d	  )
(	      d	  e  )		    (  v1  v2  e   d	  )
(		  d  )		    (  v1  v2  v3  e   d  )

where d and e denote diagonal and off-diagonal elements of	T, and vi
denotes an	element	of the vector defining H(i).

Page 2

CHETD2(3F)							    CHETD2(3F)

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