SysTutorials

Linux Manual Pages › Section 3

chptrd-f(3)

chptrd.f –

Synopsis

Functions/Subroutines

subroutine chptrd (UPLO, N, AP, D, E, TAU, INFO)
CHPTRD

Function/Subroutine Documentation

subroutine chptrd (characterUPLO, integerN, complex, dimension( * )AP, real, dimension( * )D, real, dimension( * )E, complex, dimension( * )TAU, integerINFO)

CHPTRD

Purpose:

 CHPTRD reduces a complex Hermitian matrix A stored in packed form to
 real symmetric tridiagonal form T by a unitary similarity
 transformation: Q**H * A * Q = T.

 

Parameters:

UPLO

 UPLO is CHARACTER*1
 = 'U': Upper triangle of A is stored;
 = 'L': Lower triangle of A is stored.

N

 N is INTEGER
 The order of the matrix A. N >= 0.

AP

 AP is COMPLEX array, dimension (N*(N+1)/2)
 On entry, the upper or lower triangle of the Hermitian matrix
 A, packed columnwise in a linear array. The j-th column of A
 is stored in the array AP as follows:
 if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;
 if UPLO = 'L', AP(i + (j-1)*(2*n-j)/2) = A(i,j) for j<=i<=n.
 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.

D

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

E

 E is 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

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

INFO

 INFO is INTEGER
 = 0: successful exit
 < 0: if INFO = -i, the i-th argument had an illegal value

 

Author:

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Date:

November 2011

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**H
 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 AP,
 overwriting A(1:i-1,i+1), and tau is stored 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**H
 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 AP,
 overwriting A(i+2:n,i), and tau is stored in TAU(i).

 

Definition at line 152 of file chptrd.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.