zgehrd
zgehrd - reduce a complex general matrix A to upper Hessenberg form H by a unitary similarity transformation
SUBROUTINE ZGEHRD( N, ILO, IHI, A, LDA, TAU, WORKIN, LWORKIN, INFO)
DOUBLE COMPLEX A(LDA,*), TAU(*), WORKIN(*)
INTEGER N, ILO, IHI, LDA, LWORKIN, INFO
SUBROUTINE ZGEHRD_64( N, ILO, IHI, A, LDA, TAU, WORKIN, LWORKIN,
* INFO)
DOUBLE COMPLEX A(LDA,*), TAU(*), WORKIN(*)
INTEGER*8 N, ILO, IHI, LDA, LWORKIN, INFO
SUBROUTINE GEHRD( [N], ILO, IHI, A, [LDA], TAU, [WORKIN], [LWORKIN],
* [INFO])
COMPLEX(8), DIMENSION(:) :: TAU, WORKIN
COMPLEX(8), DIMENSION(:,:) :: A
INTEGER :: N, ILO, IHI, LDA, LWORKIN, INFO
SUBROUTINE GEHRD_64( [N], ILO, IHI, A, [LDA], TAU, [WORKIN],
* [LWORKIN], [INFO])
COMPLEX(8), DIMENSION(:) :: TAU, WORKIN
COMPLEX(8), DIMENSION(:,:) :: A
INTEGER(8) :: N, ILO, IHI, LDA, LWORKIN, INFO
#include <sunperf.h>
void zgehrd(int n, int ilo, int ihi, doublecomplex *a, int lda, doublecomplex *tau, int *info);
void zgehrd_64(long n, long ilo, long ihi, doublecomplex *a, long lda, doublecomplex *tau, long *info);
zgehrd reduces a complex general matrix A to upper Hessenberg form H
by a unitary similarity transformation: Q' * A * Q = H .
-
* N (input)
-
The order of the matrix A. N >= 0.
-
* ILO (input)
-
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 CGEBAL; otherwise they should be
set to 1 and N respectively. See Further Details.
-
* IHI (input)
-
See the description of ILO.
-
* A (input/output)
-
On entry, the N-by-N general matrix to be reduced.
On exit, the upper triangle and the first subdiagonal of A
are overwritten with the upper Hessenberg matrix H, 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 (input)
-
The leading dimension of the array A. LDA >= max(1,N).
-
* TAU (output)
-
The scalar factors of the elementary reflectors (see Further
Details). Elements 1:ILO-1 and IHI:N-1 of TAU are set to
zero.
-
* WORKIN (workspace)
-
On exit, if INFO = 0, WORKIN(1) returns the optimal LWORKIN.
-
* LWORKIN (input)
-
The length of the array WORKIN. LWORKIN >= max(1,N).
For optimum performance LWORKIN >= N*NB, where NB is the
optimal blocksize.
If LWORKIN = -1, then a workspace query is assumed; the routine
only calculates the optimal size of the WORKIN array, returns
this value as the first entry of the WORKIN array, and no error
message related to LWORKIN is issued by XERBLA.
-
* INFO (output)
-