hptrd(3)

NAME
hptrd - {hp,sp}trd: reduction to tridiagonal

SYNOPSIS

  Functions
subroutine chptrd (uplo, n, ap, d, e, tau, info)
CHPTRD
subroutine dsptrd (uplo, n, ap, d, e, tau, info)
DSPTRD
subroutine ssptrd (uplo, n, ap, d, e, tau, info)
SSPTRD
subroutine zhptrd (uplo, n, ap, d, e, tau, info)
ZHPTRD

Detailed Description

Function Documentation

  subroutine chptrd (character uplo, integer n, complex, dimension( * ) ap, real, dimension( * ) d, real, dimension( * ) e, complex, dimension( * ) tau, integer info)

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.

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 150 of file chptrd.f.

  subroutine dsptrd (character uplo, integer n, double precision, dimension( * ) ap, double precision, dimension( * ) d, double precision, dimension( * ) e, double precision, dimension( * ) tau, integer info)

DSPTRD

Purpose:

     DSPTRD reduces a real symmetric matrix A stored in packed form to
     symmetric tridiagonal form T by an orthogonal similarity
     transformation: Q**T * 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 DOUBLE PRECISION array, dimension (N*(N+1)/2)
              On entry, the upper or lower triangle of the symmetric 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 orthogonal
              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 orthogonal matrix Q as a product
              of elementary reflectors. See Further Details.

    D

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

    E

              E is DOUBLE PRECISION 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 DOUBLE PRECISION 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.

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**T
      where tau is a real scalar, and v is a real 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**T
      where tau is a real scalar, and v is a real 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 149 of file dsptrd.f.

  subroutine ssptrd (character uplo, integer n, real, dimension( * ) ap, real, dimension( * ) d, real, dimension( * ) e, real, dimension( * ) tau, integer info)

SSPTRD

Purpose:

     SSPTRD reduces a real symmetric matrix A stored in packed form to
     symmetric tridiagonal form T by an orthogonal similarity
     transformation: Q**T * 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 REAL array, dimension (N*(N+1)/2)
              On entry, the upper or lower triangle of the symmetric 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 orthogonal
              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 orthogonal 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 REAL 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.

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**T
      where tau is a real scalar, and v is a real 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**T
      where tau is a real scalar, and v is a real 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 149 of file ssptrd.f.

  subroutine zhptrd (character uplo, integer n, complex*16, dimension( * ) ap, double precision, dimension( * ) d, double precision, dimension( * ) e, complex*16, dimension( * ) tau, integer info)

ZHPTRD

Purpose:

     ZHPTRD 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*16 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 DOUBLE PRECISION array, dimension (N)
              The diagonal elements of the tridiagonal matrix T:
              D(i) = A(i,i).

    E

              E is DOUBLE PRECISION 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*16 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.

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 150 of file zhptrd.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.