*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> complib/zhgeqz (3)              
Title
Content
Arch
Section
 

Contents


ZHGEQZ(3F)							    ZHGEQZ(3F)


NAME    [Toc]    [Back]

     ZHGEQZ - implement	a single-shift version of the QZ method	for finding
     the generalized eigenvalues w(i)=ALPHA(i)/BETA(i) of the equation	 det(
     A - w(i) B	) = 0  If JOB='S', then	the pair (A,B) is simultaneously
     reduced to	Schur form (i.e., A and	B are both upper triangular) by
     applying one unitary tranformation	(usually called	Q) on the left and
     another (usually called Z)	on the right

SYNOPSIS    [Toc]    [Back]

     SUBROUTINE	ZHGEQZ(	JOB, COMPQ, COMPZ, N, ILO, IHI,	A, LDA,	B, LDB,	ALPHA,
			BETA, Q, LDQ, Z, LDZ, WORK, LWORK, RWORK, INFO )

	 CHARACTER	COMPQ, COMPZ, JOB

	 INTEGER	IHI, ILO, INFO,	LDA, LDB, LDQ, LDZ, LWORK, N

	 DOUBLE		PRECISION RWORK( * )

	 COMPLEX*16	A( LDA,	* ), ALPHA( * ), B( LDB, * ), BETA( * ), Q(
			LDQ, * ), WORK(	* ), Z(	LDZ, * )

PURPOSE    [Toc]    [Back]

     ZHGEQZ implements a single-shift version of the QZ	method for finding the
     generalized eigenvalues w(i)=ALPHA(i)/BETA(i) of the equation A are then
     ALPHA(1),...,ALPHA(N), and	of B are BETA(1),...,BETA(N).

     If	JOB='S'	and COMPQ and COMPZ are	'V' or 'I', then the unitary
     transformations used to reduce (A,B) are accumulated into the arrays Q
     and Z s.t.:

	  Q(in)	A(in) Z(in)* = Q(out) A(out) Z(out)*
	  Q(in)	B(in) Z(in)* = Q(out) B(out) Z(out)*

     Ref: C.B. Moler & G.W. Stewart, "An Algorithm for Generalized Matrix
	  Eigenvalue Problems",	SIAM J.	Numer. Anal., 10(1973),
	  pp. 241--256.

ARGUMENTS    [Toc]    [Back]

     JOB     (input) CHARACTER*1
	     = 'E': compute only ALPHA and BETA.  A and	B will not necessarily
	     be	put into generalized Schur form.  = 'S': put A and B into
	     generalized Schur form, as	well as	computing ALPHA	and BETA.

     COMPQ   (input) CHARACTER*1
	     = 'N': do not modify Q.
	     = 'V': multiply the array Q on the	right by the conjugate
	     transpose of the unitary tranformation that is applied to the
	     left side of A and	B to reduce them to Schur form.	 = 'I':	like
	     COMPQ='V',	except that Q will be initialized to the identity
	     first.




									Page 1






ZHGEQZ(3F)							    ZHGEQZ(3F)



     COMPZ   (input) CHARACTER*1
	     = 'N': do not modify Z.
	     = 'V': multiply the array Z on the	right by the unitary
	     tranformation that	is applied to the right	side of	A and B	to
	     reduce them to Schur form.	 = 'I':	like COMPZ='V',	except that Z
	     will be initialized to the	identity first.

     N	     (input) INTEGER
	     The order of the matrices A, B, Q,	and Z.	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.  1 <= ILO <=
	     IHI <= N, if N > 0; ILO=1 and IHI=0, if N=0.

     A	     (input/output) COMPLEX*16 array, dimension	(LDA, N)
	     On	entry, the N-by-N upper	Hessenberg matrix A.  Elements below
	     the subdiagonal must be zero.  If JOB='S',	then on	exit A and B
	     will have been simultaneously reduced to upper triangular form.
	     If	JOB='E', then on exit A	will have been destroyed.

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

     B	     (input/output) COMPLEX*16 array, dimension	(LDB, N)
	     On	entry, the N-by-N upper	triangular matrix B.  Elements below
	     the diagonal must be zero.	 If JOB='S', then on exit A and	B will
	     have been simultaneously reduced to upper triangular form.	 If
	     JOB='E', then on exit B will have been destroyed.

     LDB     (input) INTEGER
	     The leading dimension of the array	B.  LDB	>= max(	1, N ).

     ALPHA   (output) COMPLEX*16 array,	dimension (N)
	     The diagonal elements of A	when the pair (A,B) has	been reduced
	     to	Schur form.  ALPHA(i)/BETA(i) i=1,...,N	are the	generalized
	     eigenvalues.

     BETA    (output) COMPLEX*16 array,	dimension (N)
	     The diagonal elements of B	when the pair (A,B) has	been reduced
	     to	Schur form.  ALPHA(i)/BETA(i) i=1,...,N	are the	generalized
	     eigenvalues.  A and B are normalized so that BETA(1),...,BETA(N)
	     are non-negative real numbers.

     Q	     (input/output) COMPLEX*16 array, dimension	(LDQ, N)
	     If	COMPQ='N', then	Q will not be referenced.  If COMPQ='V'	or
	     'I', then the conjugate transpose of the unitary transformations
	     which are applied to A and	B on the left will be applied to the
	     array Q on	the right.






									Page 2






ZHGEQZ(3F)							    ZHGEQZ(3F)



     LDQ     (input) INTEGER
	     The leading dimension of the array	Q.  LDQ	>= 1.  If COMPQ='V' or
	     'I', then LDQ >= N.

     Z	     (input/output) COMPLEX*16 array, dimension	(LDZ, N)
	     If	COMPZ='N', then	Z will not be referenced.  If COMPZ='V'	or
	     'I', then the unitary transformations which are applied to	A and
	     B on the right will be applied to the array Z on the right.

     LDZ     (input) INTEGER
	     The leading dimension of the array	Z.  LDZ	>= 1.  If COMPZ='V' or
	     'I', then LDZ >= N.

     WORK    (workspace/output)	COMPLEX*16 array, dimension (LWORK)
	     On	exit, if INFO >= 0, WORK(1) returns the	optimal	LWORK.

     LWORK   (input) INTEGER
	     The dimension of the array	WORK.  LWORK >=	max(1,N).

     RWORK   (workspace) DOUBLE	PRECISION array, dimension (N)

     INFO    (output) INTEGER
	     = 0: successful exit
	     < 0: if INFO = -i,	the i-th argument had an illegal value
	     = 1,...,N:	the QZ iteration did not converge.  (A,B) is not in
	     Schur form, but ALPHA(i) and BETA(i), i=INFO+1,...,N should be
	     correct.  = N+1,...,2*N: the shift	calculation failed.  (A,B) is
	     not in Schur form,	but ALPHA(i) and BETA(i), i=INFO-N+1,...,N
	     should be correct.	 > 2*N:	    various "impossible" errors.

FURTHER	DETAILS
     We	assume that complex ABS	works as long as its value is less than
     overflow.
ZHGEQZ(3F)							    ZHGEQZ(3F)


NAME    [Toc]    [Back]

     ZHGEQZ - implement	a single-shift version of the QZ method	for finding
     the generalized eigenvalues w(i)=ALPHA(i)/BETA(i) of the equation	 det(
     A - w(i) B	) = 0  If JOB='S', then	the pair (A,B) is simultaneously
     reduced to	Schur form (i.e., A and	B are both upper triangular) by
     applying one unitary tranformation	(usually called	Q) on the left and
     another (usually called Z)	on the right

SYNOPSIS    [Toc]    [Back]

     SUBROUTINE	ZHGEQZ(	JOB, COMPQ, COMPZ, N, ILO, IHI,	A, LDA,	B, LDB,	ALPHA,
			BETA, Q, LDQ, Z, LDZ, WORK, LWORK, RWORK, INFO )

	 CHARACTER	COMPQ, COMPZ, JOB

	 INTEGER	IHI, ILO, INFO,	LDA, LDB, LDQ, LDZ, LWORK, N

	 DOUBLE		PRECISION RWORK( * )

	 COMPLEX*16	A( LDA,	* ), ALPHA( * ), B( LDB, * ), BETA( * ), Q(
			LDQ, * ), WORK(	* ), Z(	LDZ, * )

PURPOSE    [Toc]    [Back]

     ZHGEQZ implements a single-shift version of the QZ	method for finding the
     generalized eigenvalues w(i)=ALPHA(i)/BETA(i) of the equation A are then
     ALPHA(1),...,ALPHA(N), and	of B are BETA(1),...,BETA(N).

     If	JOB='S'	and COMPQ and COMPZ are	'V' or 'I', then the unitary
     transformations used to reduce (A,B) are accumulated into the arrays Q
     and Z s.t.:

	  Q(in)	A(in) Z(in)* = Q(out) A(out) Z(out)*
	  Q(in)	B(in) Z(in)* = Q(out) B(out) Z(out)*

     Ref: C.B. Moler & G.W. Stewart, "An Algorithm for Generalized Matrix
	  Eigenvalue Problems",	SIAM J.	Numer. Anal., 10(1973),
	  pp. 241--256.

ARGUMENTS    [Toc]    [Back]

     JOB     (input) CHARACTER*1
	     = 'E': compute only ALPHA and BETA.  A and	B will not necessarily
	     be	put into generalized Schur form.  = 'S': put A and B into
	     generalized Schur form, as	well as	computing ALPHA	and BETA.

     COMPQ   (input) CHARACTER*1
	     = 'N': do not modify Q.
	     = 'V': multiply the array Q on the	right by the conjugate
	     transpose of the unitary tranformation that is applied to the
	     left side of A and	B to reduce them to Schur form.	 = 'I':	like
	     COMPQ='V',	except that Q will be initialized to the identity
	     first.




									Page 1






ZHGEQZ(3F)							    ZHGEQZ(3F)



     COMPZ   (input) CHARACTER*1
	     = 'N': do not modify Z.
	     = 'V': multiply the array Z on the	right by the unitary
	     tranformation that	is applied to the right	side of	A and B	to
	     reduce them to Schur form.	 = 'I':	like COMPZ='V',	except that Z
	     will be initialized to the	identity first.

     N	     (input) INTEGER
	     The order of the matrices A, B, Q,	and Z.	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.  1 <= ILO <=
	     IHI <= N, if N > 0; ILO=1 and IHI=0, if N=0.

     A	     (input/output) COMPLEX*16 array, dimension	(LDA, N)
	     On	entry, the N-by-N upper	Hessenberg matrix A.  Elements below
	     the subdiagonal must be zero.  If JOB='S',	then on	exit A and B
	     will have been simultaneously reduced to upper triangular form.
	     If	JOB='E', then on exit A	will have been destroyed.

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

     B	     (input/output) COMPLEX*16 array, dimension	(LDB, N)
	     On	entry, the N-by-N upper	triangular matrix B.  Elements below
	     the diagonal must be zero.	 If JOB='S', then on exit A and	B will
	     have been simultaneously reduced to upper triangular form.	 If
	     JOB='E', then on exit B will have been destroyed.

     LDB     (input) INTEGER
	     The leading dimension of the array	B.  LDB	>= max(	1, N ).

     ALPHA   (output) COMPLEX*16 array,	dimension (N)
	     The diagonal elements of A	when the pair (A,B) has	been reduced
	     to	Schur form.  ALPHA(i)/BETA(i) i=1,...,N	are the	generalized
	     eigenvalues.

     BETA    (output) COMPLEX*16 array,	dimension (N)
	     The diagonal elements of B	when the pair (A,B) has	been reduced
	     to	Schur form.  ALPHA(i)/BETA(i) i=1,...,N	are the	generalized
	     eigenvalues.  A and B are normalized so that BETA(1),...,BETA(N)
	     are non-negative real numbers.

     Q	     (input/output) COMPLEX*16 array, dimension	(LDQ, N)
	     If	COMPQ='N', then	Q will not be referenced.  If COMPQ='V'	or
	     'I', then the conjugate transpose of the unitary transformations
	     which are applied to A and	B on the left will be applied to the
	     array Q on	the right.






									Page 2






ZHGEQZ(3F)							    ZHGEQZ(3F)



     LDQ     (input) INTEGER
	     The leading dimension of the array	Q.  LDQ	>= 1.  If COMPQ='V' or
	     'I', then LDQ >= N.

     Z	     (input/output) COMPLEX*16 array, dimension	(LDZ, N)
	     If	COMPZ='N', then	Z will not be referenced.  If COMPZ='V'	or
	     'I', then the unitary transformations which are applied to	A and
	     B on the right will be applied to the array Z on the right.

     LDZ     (input) INTEGER
	     The leading dimension of the array	Z.  LDZ	>= 1.  If COMPZ='V' or
	     'I', then LDZ >= N.

     WORK    (workspace/output)	COMPLEX*16 array, dimension (LWORK)
	     On	exit, if INFO >= 0, WORK(1) returns the	optimal	LWORK.

     LWORK   (input) INTEGER
	     The dimension of the array	WORK.  LWORK >=	max(1,N).

     RWORK   (workspace) DOUBLE	PRECISION array, dimension (N)

     INFO    (output) INTEGER
	     = 0: successful exit
	     < 0: if INFO = -i,	the i-th argument had an illegal value
	     = 1,...,N:	the QZ iteration did not converge.  (A,B) is not in
	     Schur form, but ALPHA(i) and BETA(i), i=INFO+1,...,N should be
	     correct.  = N+1,...,2*N: the shift	calculation failed.  (A,B) is
	     not in Schur form,	but ALPHA(i) and BETA(i), i=INFO-N+1,...,N
	     should be correct.	 > 2*N:	    various "impossible" errors.

FURTHER	DETAILS
     We	assume that complex ABS	works as long as its value is less than
     overflow.


									PPPPaaaaggggeeee 3333
[ Back ]
 Similar pages
Name OS Title
dhgeqz IRIX w(i) B ) = 0 In addition, the pair A,B may be reduced to generalized Schur form
shgeqz IRIX w(i) B ) = 0 In addition, the pair A,B may be reduced to generalized Schur form
slanv2 IRIX compute the Schur factorization of a real 2-by-2 nonsymmetric matrix in standard form
dlanv2 IRIX compute the Schur factorization of a real 2-by-2 nonsymmetric matrix in standard form
zgeesx IRIX compute for an N-by-N complex nonsymmetric matrix A, the eigenvalues, the Schur form T, and, optionally, the m
zgees IRIX compute for an N-by-N complex nonsymmetric matrix A, the eigenvalues, the Schur form T, and, optionally, the m
cgeesx IRIX compute for an N-by-N complex nonsymmetric matrix A, the eigenvalues, the Schur form T, and, optionally, the m
cgees IRIX compute for an N-by-N complex nonsymmetric matrix A, the eigenvalues, the Schur form T, and, optionally, the m
sgeesx IRIX compute for an N-by-N real nonsymmetric matrix A, the eigenvalues, the real Schur form T, and, optionally, the
sgees IRIX compute for an N-by-N real nonsymmetric matrix A, the eigenvalues, the real Schur form T, and, optionally, the
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service