SysTutorials

Linux Manual Pages › Section 3

chetd2(3)

NAME

chetd2.f –

SYNOPSIS

Functions/Subroutines

subroutine chetd2 (UPLO, N, A, LDA, D, E, TAU, INFO)
CHETD2 reduces a Hermitian matrix to real symmetric tridiagonal form by an unitary similarity transformation (unblocked algorithm).

Function/Subroutine Documentation

subroutine chetd2 (characterUPLO, integerN, complex, dimension( lda, * )A, integerLDA, real, dimension( * )D, real, dimension( * )E, complex, dimension( * )TAU, integerINFO)

CHETD2 reduces a Hermitian matrix to real symmetric tridiagonal form by an unitary similarity transformation (unblocked algorithm).

Purpose:

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

 

Parameters:

UPLO

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

N

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

A

          A is COMPLEX array, dimension (LDA,N)
          On entry, the Hermitian matrix A.  If UPLO = 'U', the leading
          n-by-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

          LDA is INTEGER
          The leading dimension of the array A.  LDA >= max(1,N).

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:

September 2012

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
    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 * *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 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)
                     .

 

Definition at line 176 of file chetd2.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.

Index