Ubuntu Feisty 7.04 manual page repository

Ubuntu is a free computer operating system based on the Linux kernel. Many IT companies, like DeployIS is using it to provide an up-to-date, stable operating system.

Provided by: lapack3-doc_3.0.20000531a-6ubuntu3_all

 

NAME

        ZGEHRD  -  reduce a complex general matrix A to upper Hessenberg form H
        by a unitary similarity transformation
 

SYNOPSIS

        SUBROUTINE ZGEHRD( N, ILO, IHI, A, LDA, TAU, WORK, LWORK, INFO )
 
            INTEGER        IHI, ILO, INFO, LDA, LWORK, N
 
            COMPLEX*16     A( LDA, * ), TAU( * ), WORK( * )
 

PURPOSE

        ZGEHRD reduces a complex general matrix A to upper Hessenberg form H by
        a unitary similarity transformation: Q’ * A * Q = H .
 

ARGUMENTS

        N       (input) INTEGER
                The order of the matrix A.  N >= 0.
 
        ILO     (input) INTEGER
                IHI      (input)  INTEGER It is assumed that A is already upper
                triangular in rows and columns 1:ILO-1 and IHI+1:N. ILO and IHI
                are  normally  set by a previous call to ZGEBAL; otherwise they
                should be set to 1 and N respectively. See Further Details.
 
        A       (input/output) COMPLEX*16 array, dimension (LDA,N)
                On entry, the N-by-N general matrix to be  reduced.   On  exit,
                the upper triangle and the first subdiagonal of A are overwrit‐
                ten with the upper Hessenberg matrix H, and the elements  below
                the  first  subdiagonal, with the array TAU, represent the uni‐
                tary matrix Q as a product of elementary reflectors.  See  Fur‐
                ther Details.  LDA     (input) INTEGER The leading dimension of
                the array A.  LDA >= max(1,N).
 
        TAU     (output) COMPLEX*16 array, dimension (N-1)
                The scalar factors of the elementary  reflectors  (see  Further
                Details).  Elements 1:ILO-1 and IHI:N-1 of TAU are set to zero.
 
        WORK    (workspace/output) COMPLEX*16 array, dimension (LWORK)
WORK(1) returns the optimal LWORK.
 
        LWORK   (input) INTEGER
                The length of the array WORK.  LWORK >= max(1,N).  For  optimum
                performance LWORK >= N*NB, where NB is the optimal blocksize.
 
                If  LWORK  = -1, then a workspace query is assumed; the routine
                only calculates the optimal size of  the  WORK  array,  returns
                this  value  as the first entry of the WORK array, and no error
                message related to LWORK is issued by XERBLA.
 
        INFO    (output) INTEGER
                = 0:  successful exit
                < 0:  if INFO = -i, the i-th argument had an illegal value.
        The matrix Q is  represented  as  a  product  of  (ihi-ilo)  elementary
        reflectors
 
           Q = H(ilo) H(ilo+1) . . . H(ihi-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, v(i+1) = 1 and v(ihi+1:n) = 0;  v(i+2:ihi)  is  stored  on  exit  in
        A(i+2:ihi,i), and tau in TAU(i).
 
        The contents of A are illustrated by the following example, with n = 7,
        ilo = 2 and ihi = 6:
 
        on entry,                        on exit,
 
        ( a   a   a   a   a   a   a )    (  a   a   h   h   h   h   a ) (     a
        a    a    a   a   a )    (      a   h   h   h   h   a ) (     a   a   a
        a   a   a )    (      h   h   h   h   h   h ) (     a   a   a    a    a
        a  )     (       v2   h   h   h   h   h ) (     a   a   a   a   a   a )
        (      v2  v3  h   h   h   h ) (     a   a    a    a    a    a  )     (
        v2    v3    v4    h    h    h  )  (                          a  )     (
        a )
 
        where a denotes an element of the original matrix A, h denotes a  modi‐
        fied  element  of the upper Hessenberg matrix H, and vi denotes an ele‐
        ment of the vector defining H(i).
 

Sections

What does Ubuntu mean?
Ubuntu is an African word meaning 'Humanity to others', or 'I am what I am because of who we all are'. The Ubuntu distribution brings the spirit of Ubuntu to the software world.