Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.netlib.lapack
Class DLATRD

    java.lang.Object
      org.netlib.lapack.DLATRD

    public class DLATRD

extends java.lang.Object

    DLATRD is a simplified interface to the JLAPACK routine dlatrd.
    This interface converts Java-style 2D row-major arrays into
    the 1D column-major linearized arrays expected by the lower
    level JLAPACK routines.  Using this interface also allows you
    to omit offset and leading dimension arguments.  However, because
    of these conversions, these routines will be slower than the low
    level ones.  Following is the description from the original Fortran
    source.  Contact seymour@cs.utk.edu with any questions.

     *     ..
     *
     *  Purpose
     *  =======
     *
     *  DLATRD reduces NB rows and columns of a real symmetric matrix A to
     *  symmetric tridiagonal form by an orthogonal similarity
     *  transformation Q' * A * Q, and returns the matrices V and W which are
     *  needed to apply the transformation to the unreduced part of A.
     *
     *  If UPLO = 'U', DLATRD reduces the last NB rows and columns of a
     *  matrix, of which the upper triangle is supplied;
     *  if UPLO = 'L', DLATRD reduces the first NB rows and columns of a
     *  matrix, of which the lower triangle is supplied.
     *
     *  This is an auxiliary routine called by DSYTRD.
     *
     *  Arguments
     *  =========
     *
     *  UPLO    (input) CHARACTER*1
     *          Specifies whether the upper or lower triangular part of the
     *          symmetric matrix A is stored:
     *          = 'U': Upper triangular
     *          = 'L': Lower triangular
     *
     *  N       (input) INTEGER
     *          The order of the matrix A.
     *
     *  NB      (input) INTEGER
     *          The number of rows and columns to be reduced.
     *
     *  A       (input/output) DOUBLE PRECISION array, dimension (LDA,N)
     *          On entry, the symmetric 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 last NB columns have been reduced to
     *            tridiagonal form, with the diagonal elements overwriting
     *            the diagonal elements of A; the elements above the diagonal
     *            with the array TAU, represent the orthogonal matrix Q as a

     *            product of elementary reflectors;
     *          if UPLO = 'L', the first NB columns have been reduced to
     *            tridiagonal form, with the diagonal elements overwriting
     *            the diagonal elements of A; the elements below the diagonal
     *            with the array TAU, represent the  orthogonal matrix Q as a
     *            product of elementary reflectors.
     *          See Further Details.
     *
     *  LDA     (input) INTEGER
     *          The leading dimension of the array A.  LDA >= (1,N).
     *
     *  E       (output) DOUBLE PRECISION array, dimension (N-1)
     *          If UPLO = 'U', E(n-nb:n-1) contains the superdiagonal
     *          elements of the last NB columns of the reduced matrix;
     *          if UPLO = 'L', E(1:nb) contains the subdiagonal elements of
     *          the first NB columns of the reduced matrix.
     *
     *  TAU     (output) DOUBLE PRECISION array, dimension (N-1)
     *          The scalar factors of the elementary reflectors, stored in
     *          TAU(n-nb:n-1) if UPLO = 'U', and in TAU(1:nb) if UPLO = 'L'.

     *          See Further Details.
     *
     *  W       (output) DOUBLE PRECISION array, dimension (LDW,NB)
     *          The n-by-nb matrix W required to update the unreduced part
     *          of A.
     *
     *  LDW     (input) INTEGER
     *          The leading dimension of the array W. LDW >= max(1,N).
     *
     *  Further Details
     *  ===============
     *
     *  If UPLO = 'U', the matrix Q is represented as a product of elementary
     *  reflectors
     *
     *     Q = H(n) H(n-1) . . . H(n-nb+1).
     *
     *  Each H(i) has the form
     *
     *     H(i) = I - tau * v * v'
     *
     *  where tau is a real scalar, and v is a real vector with
     *  v(i:n) = 0 and v(i-1) = 1; v(1:i-1) is stored on exit in A(1:i-1,i),

     *  and tau in TAU(i-1).
     *
     *  If UPLO = 'L', the matrix Q is represented as a product of elementary
     *  reflectors
     *
     *     Q = H(1) H(2) . . . H(nb).
     *
     *  Each H(i) has the form
     *
     *     H(i) = I - tau * v * v'
     *
     *  where tau is a real scalar, and v is a real vector with
     *  v(1:i) = 0 and v(i+1) = 1; v(i+1:n) is stored on exit in A(i+1:n,i),

     *  and tau in TAU(i).
     *
     *  The elements of the vectors v together form the n-by-nb matrix V
     *  which is needed, with W, to apply the transformation to the unreduced
     *  part of the matrix, using a symmetric rank-2k update of the form:
     *  A := A - V*W' - W*V'.
     *
     *  The contents of A on exit are illustrated by the following examples
     *  with n = 5 and nb = 2:
     *
     *  if UPLO = 'U':                       if UPLO = 'L':
     *
     *    (  a   a   a   v4  v5 )              (  d                  )
     *    (      a   a   v4  v5 )              (  1   d              )
     *    (          a   1   v5 )              (  v1  1   a          )
     *    (              d   1  )              (  v1  v2  a   a      )
     *    (                  d  )              (  v1  v2  a   a   a  )
     *
     *  where d denotes a diagonal element of the reduced matrix, a denotes
     *  an element of the original matrix that is unchanged, and vi denotes
     *  an element of the vector defining H(i).
     *
     *  =====================================================================
     *
     *     .. Parameters ..

Constructor Summary
`DLATRD()`

Method Summary
`static void` | `DLATRD(java.lang.String uplo, int n, int nb, double[][] a, double[] e, double[] tau, double[][] w)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### DLATRD

    public DLATRD()

Method Detail

### DLATRD

    public static void DLATRD(java.lang.String uplo,
                              int n,
                              int nb,
                              double[][] a,
                              double[] e,
                              double[] tau,
                              double[][] w)

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD