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

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

Contents


STRSEN(3F)							    STRSEN(3F)


NAME    [Toc]    [Back]

     STRSEN - reorder the real Schur factorization of a	real matrix A =
     Q*T*Q**T, so that a selected cluster of eigenvalues appears in the
     leading diagonal blocks of	the upper quasi-triangular matrix T,

SYNOPSIS    [Toc]    [Back]

     SUBROUTINE	STRSEN(	JOB, COMPQ, SELECT, N, T, LDT, Q, LDQ, WR, WI, M, S,
			SEP, WORK, LWORK, IWORK, LIWORK, INFO )

	 CHARACTER	COMPQ, JOB

	 INTEGER	INFO, LDQ, LDT,	LIWORK,	LWORK, M, N

	 REAL		S, SEP

	 LOGICAL	SELECT(	* )

	 INTEGER	IWORK( * )

	 REAL		Q( LDQ,	* ), T(	LDT, * ), WI( *	), WORK( * ), WR( * )

PURPOSE    [Toc]    [Back]

     STRSEN reorders the real Schur factorization of a real matrix A =
     Q*T*Q**T, so that a selected cluster of eigenvalues appears in the
     leading diagonal blocks of	the upper quasi-triangular matrix T, and the
     leading columns of	Q form an orthonormal basis of the corresponding right
     invariant subspace.

     Optionally	the routine computes the reciprocal condition numbers of the
     cluster of	eigenvalues and/or the invariant subspace.

     T must be in Schur	canonical form (as returned by SHSEQR),	that is, block
     upper triangular with 1-by-1 and 2-by-2 diagonal blocks; each 2-by-2
     diagonal block has	its diagonal elemnts equal and its off-diagonal
     elements of opposite sign.

ARGUMENTS    [Toc]    [Back]

     JOB     (input) CHARACTER*1
	     Specifies whether condition numbers are required for the cluster
	     of	eigenvalues (S)	or the invariant subspace (SEP):
	     = 'N': none;
	     = 'E': for	eigenvalues only (S);
	     = 'V': for	invariant subspace only	(SEP);
	     = 'B': for	both eigenvalues and invariant subspace	(S and SEP).

     COMPQ   (input) CHARACTER*1
	     = 'V': update the matrix Q	of Schur vectors;
	     = 'N': do not update Q.






									Page 1






STRSEN(3F)							    STRSEN(3F)



     SELECT  (input) LOGICAL array, dimension (N)
	     SELECT specifies the eigenvalues in the selected cluster. To
	     select a real eigenvalue w(j), SELECT(j) must be set to w(j) and
	     w(j+1), corresponding to a	2-by-2 diagonal	block, either
	     SELECT(j) or SELECT(j+1) or both must be set to either both
	     included in the cluster or	both excluded.

     N	     (input) INTEGER
	     The order of the matrix T.	N >= 0.

     T	     (input/output) REAL array,	dimension (LDT,N)
	     On	entry, the upper quasi-triangular matrix T, in Schur canonical
	     form.  On exit, T is overwritten by the reordered matrix T, again
	     in	Schur canonical	form, with the selected	eigenvalues in the
	     leading diagonal blocks.

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

     Q	     (input/output) REAL array,	dimension (LDQ,N)
	     On	entry, if COMPQ	= 'V', the matrix Q of Schur vectors.  On
	     exit, if COMPQ = 'V', Q has been postmultiplied by	the orthogonal
	     transformation matrix which reorders T; the leading M columns of
	     Q form an orthonormal basis for the specified invariant subspace.
	     If	COMPQ =	'N', Q is not referenced.

     LDQ     (input) INTEGER
	     The leading dimension of the array	Q.  LDQ	>= 1; and if COMPQ =
	     'V', LDQ >= N.

     WR	     (output) REAL array, dimension (N)
	     WI	     (output) REAL array, dimension (N)	The real and imaginary
	     parts, respectively, of the reordered eigenvalues of T. The
	     eigenvalues are stored in the same	order as on the	diagonal of T,
	     with WR(i)	= T(i,i) and, if T(i:i+1,i:i+1)	is a 2-by-2 diagonal
	     block, WI(i) > 0 and WI(i+1) = -WI(i). Note that if a complex
	     eigenvalue	is sufficiently	ill-conditioned, then its value	may
	     differ significantly from its value before	reordering.

     M	     (output) INTEGER
	     The dimension of the specified invariant subspace.	 0 < = M <= N.

     S	     (output) REAL
	     If	JOB = 'E' or 'B', S is a lower bound on	the reciprocal
	     condition number for the selected cluster of eigenvalues.	S
	     cannot underestimate the true reciprocal condition	number by more
	     than a factor of sqrt(N). If M = 0	or N, S	= 1.  If JOB = 'N' or
	     'V', S is not referenced.

     SEP     (output) REAL
	     If	JOB = 'V' or 'B', SEP is the estimated reciprocal condition
	     number of the specified invariant subspace. If M =	0 or N,	SEP =



									Page 2






STRSEN(3F)							    STRSEN(3F)



	     norm(T).  If JOB =	'N' or 'E', SEP	is not referenced.

     WORK    (workspace) REAL array, dimension (LWORK)

     LWORK   (input) INTEGER
	     The dimension of the array	WORK.  If JOB =	'N', LWORK >=
	     max(1,N); if JOB =	'E', LWORK >= M*(N-M); if JOB =	'V' or 'B',
	     LWORK >= 2*M*(N-M).

     IWORK   (workspace) INTEGER array,	dimension (LIWORK)
	     IF	JOB = 'N' or 'E', IWORK	is not referenced.

     LIWORK  (input) INTEGER
	     The dimension of the array	IWORK.	If JOB = 'N' or	'E', LIWORK >=
	     1;	if JOB = 'V' or	'B', LIWORK >= M*(N-M).

     INFO    (output) INTEGER
	     = 0: successful exit
	     < 0: if INFO = -i,	the i-th argument had an illegal value
	     = 1: reordering of	T failed because some eigenvalues are too
	     close to separate (the problem is very ill-conditioned); T	may
	     have been partially reordered, and	WR and WI contain the
	     eigenvalues in the	same order as in T; S and SEP (if requested)
	     are set to	zero.

FURTHER	DETAILS
     STRSEN first collects the selected	eigenvalues by computing an orthogonal
     transformation Z to move them to the top left corner of T.	 In other
     words, the	selected eigenvalues are the eigenvalues of T11	in:

		   Z'*T*Z = ( T11 T12 )	n1
			    (  0  T22 )	n2
			       n1  n2

     where N = n1+n2 and Z' means the transpose	of Z. The first	n1 columns of
     Z span the	specified invariant subspace of	T.

     If	T has been obtained from the real Schur	factorization of a matrix A =
     Q*T*Q', then the reordered	real Schur factorization of A is given by A =
     (Q*Z)*(Z'*T*Z)*(Q*Z)', and	the first n1 columns of	Q*Z span the
     corresponding invariant subspace of A.

     The reciprocal condition number of	the average of the eigenvalues of T11
     may be returned in	S. S lies between 0 (very badly	conditioned) and 1
     (very well	conditioned). It is computed as	follows. First we compute R so
     that

			    P =	( I  R ) n1
				( 0  0 ) n2
				  n1 n2

     is	the projector on the invariant subspace	associated with	T11.  R	is the



									Page 3






STRSEN(3F)							    STRSEN(3F)



     solution of the Sylvester equation:

			   T11*R - R*T22 = T12.

     Let F-norm(M) denote the Frobenius-norm of	M and 2-norm(M)	denote the
     two-norm of M. Then S is computed as the lower bound

			 (1 + F-norm(R)**2)**(-1/2)

     on	the reciprocal of 2-norm(P), the true reciprocal condition number.  S
     cannot underestimate 1 / 2-norm(P)	by more	than a factor of sqrt(N).

     An	approximate error bound	for the	computed average of the	eigenvalues of
     T11 is

			    EPS	* norm(T) / S

     where EPS is the machine precision.

     The reciprocal condition number of	the right invariant subspace spanned
     by	the first n1 columns of	Z (or of Q*Z) is returned in SEP.  SEP is
     defined as	the separation of T11 and T22:

			sep( T11, T22 )	= sigma-min( C )

     where sigma-min(C)	is the smallest	singular value of the
     n1*n2-by-n1*n2 matrix

	C  = kprod( I(n2), T11 ) - kprod( transpose(T22), I(n1)	)

     I(m) is an	m by m identity	matrix,	and kprod denotes the Kronecker
     product. We estimate sigma-min(C) by the reciprocal of an estimate	of the
     1-norm of inverse(C). The true reciprocal 1-norm of inverse(C) cannot
     differ from sigma-min(C) by more than a factor of sqrt(n1*n2).

     When SEP is small,	small changes in T can cause large changes in the
     invariant subspace. An approximate	bound on the maximum angular error in
     the computed right	invariant subspace is

			 EPS * norm(T) / SEP
STRSEN(3F)							    STRSEN(3F)


NAME    [Toc]    [Back]

     STRSEN - reorder the real Schur factorization of a	real matrix A =
     Q*T*Q**T, so that a selected cluster of eigenvalues appears in the
     leading diagonal blocks of	the upper quasi-triangular matrix T,

SYNOPSIS    [Toc]    [Back]

     SUBROUTINE	STRSEN(	JOB, COMPQ, SELECT, N, T, LDT, Q, LDQ, WR, WI, M, S,
			SEP, WORK, LWORK, IWORK, LIWORK, INFO )

	 CHARACTER	COMPQ, JOB

	 INTEGER	INFO, LDQ, LDT,	LIWORK,	LWORK, M, N

	 REAL		S, SEP

	 LOGICAL	SELECT(	* )

	 INTEGER	IWORK( * )

	 REAL		Q( LDQ,	* ), T(	LDT, * ), WI( *	), WORK( * ), WR( * )

PURPOSE    [Toc]    [Back]

     STRSEN reorders the real Schur factorization of a real matrix A =
     Q*T*Q**T, so that a selected cluster of eigenvalues appears in the
     leading diagonal blocks of	the upper quasi-triangular matrix T, and the
     leading columns of	Q form an orthonormal basis of the corresponding right
     invariant subspace.

     Optionally	the routine computes the reciprocal condition numbers of the
     cluster of	eigenvalues and/or the invariant subspace.

     T must be in Schur	canonical form (as returned by SHSEQR),	that is, block
     upper triangular with 1-by-1 and 2-by-2 diagonal blocks; each 2-by-2
     diagonal block has	its diagonal elemnts equal and its off-diagonal
     elements of opposite sign.

ARGUMENTS    [Toc]    [Back]

     JOB     (input) CHARACTER*1
	     Specifies whether condition numbers are required for the cluster
	     of	eigenvalues (S)	or the invariant subspace (SEP):
	     = 'N': none;
	     = 'E': for	eigenvalues only (S);
	     = 'V': for	invariant subspace only	(SEP);
	     = 'B': for	both eigenvalues and invariant subspace	(S and SEP).

     COMPQ   (input) CHARACTER*1
	     = 'V': update the matrix Q	of Schur vectors;
	     = 'N': do not update Q.






									Page 1






STRSEN(3F)							    STRSEN(3F)



     SELECT  (input) LOGICAL array, dimension (N)
	     SELECT specifies the eigenvalues in the selected cluster. To
	     select a real eigenvalue w(j), SELECT(j) must be set to w(j) and
	     w(j+1), corresponding to a	2-by-2 diagonal	block, either
	     SELECT(j) or SELECT(j+1) or both must be set to either both
	     included in the cluster or	both excluded.

     N	     (input) INTEGER
	     The order of the matrix T.	N >= 0.

     T	     (input/output) REAL array,	dimension (LDT,N)
	     On	entry, the upper quasi-triangular matrix T, in Schur canonical
	     form.  On exit, T is overwritten by the reordered matrix T, again
	     in	Schur canonical	form, with the selected	eigenvalues in the
	     leading diagonal blocks.

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

     Q	     (input/output) REAL array,	dimension (LDQ,N)
	     On	entry, if COMPQ	= 'V', the matrix Q of Schur vectors.  On
	     exit, if COMPQ = 'V', Q has been postmultiplied by	the orthogonal
	     transformation matrix which reorders T; the leading M columns of
	     Q form an orthonormal basis for the specified invariant subspace.
	     If	COMPQ =	'N', Q is not referenced.

     LDQ     (input) INTEGER
	     The leading dimension of the array	Q.  LDQ	>= 1; and if COMPQ =
	     'V', LDQ >= N.

     WR	     (output) REAL array, dimension (N)
	     WI	     (output) REAL array, dimension (N)	The real and imaginary
	     parts, respectively, of the reordered eigenvalues of T. The
	     eigenvalues are stored in the same	order as on the	diagonal of T,
	     with WR(i)	= T(i,i) and, if T(i:i+1,i:i+1)	is a 2-by-2 diagonal
	     block, WI(i) > 0 and WI(i+1) = -WI(i). Note that if a complex
	     eigenvalue	is sufficiently	ill-conditioned, then its value	may
	     differ significantly from its value before	reordering.

     M	     (output) INTEGER
	     The dimension of the specified invariant subspace.	 0 < = M <= N.

     S	     (output) REAL
	     If	JOB = 'E' or 'B', S is a lower bound on	the reciprocal
	     condition number for the selected cluster of eigenvalues.	S
	     cannot underestimate the true reciprocal condition	number by more
	     than a factor of sqrt(N). If M = 0	or N, S	= 1.  If JOB = 'N' or
	     'V', S is not referenced.

     SEP     (output) REAL
	     If	JOB = 'V' or 'B', SEP is the estimated reciprocal condition
	     number of the specified invariant subspace. If M =	0 or N,	SEP =



									Page 2






STRSEN(3F)							    STRSEN(3F)



	     norm(T).  If JOB =	'N' or 'E', SEP	is not referenced.

     WORK    (workspace) REAL array, dimension (LWORK)

     LWORK   (input) INTEGER
	     The dimension of the array	WORK.  If JOB =	'N', LWORK >=
	     max(1,N); if JOB =	'E', LWORK >= M*(N-M); if JOB =	'V' or 'B',
	     LWORK >= 2*M*(N-M).

     IWORK   (workspace) INTEGER array,	dimension (LIWORK)
	     IF	JOB = 'N' or 'E', IWORK	is not referenced.

     LIWORK  (input) INTEGER
	     The dimension of the array	IWORK.	If JOB = 'N' or	'E', LIWORK >=
	     1;	if JOB = 'V' or	'B', LIWORK >= M*(N-M).

     INFO    (output) INTEGER
	     = 0: successful exit
	     < 0: if INFO = -i,	the i-th argument had an illegal value
	     = 1: reordering of	T failed because some eigenvalues are too
	     close to separate (the problem is very ill-conditioned); T	may
	     have been partially reordered, and	WR and WI contain the
	     eigenvalues in the	same order as in T; S and SEP (if requested)
	     are set to	zero.

FURTHER	DETAILS
     STRSEN first collects the selected	eigenvalues by computing an orthogonal
     transformation Z to move them to the top left corner of T.	 In other
     words, the	selected eigenvalues are the eigenvalues of T11	in:

		   Z'*T*Z = ( T11 T12 )	n1
			    (  0  T22 )	n2
			       n1  n2

     where N = n1+n2 and Z' means the transpose	of Z. The first	n1 columns of
     Z span the	specified invariant subspace of	T.

     If	T has been obtained from the real Schur	factorization of a matrix A =
     Q*T*Q', then the reordered	real Schur factorization of A is given by A =
     (Q*Z)*(Z'*T*Z)*(Q*Z)', and	the first n1 columns of	Q*Z span the
     corresponding invariant subspace of A.

     The reciprocal condition number of	the average of the eigenvalues of T11
     may be returned in	S. S lies between 0 (very badly	conditioned) and 1
     (very well	conditioned). It is computed as	follows. First we compute R so
     that

			    P =	( I  R ) n1
				( 0  0 ) n2
				  n1 n2

     is	the projector on the invariant subspace	associated with	T11.  R	is the



									Page 3






STRSEN(3F)							    STRSEN(3F)



     solution of the Sylvester equation:

			   T11*R - R*T22 = T12.

     Let F-norm(M) denote the Frobenius-norm of	M and 2-norm(M)	denote the
     two-norm of M. Then S is computed as the lower bound

			 (1 + F-norm(R)**2)**(-1/2)

     on	the reciprocal of 2-norm(P), the true reciprocal condition number.  S
     cannot underestimate 1 / 2-norm(P)	by more	than a factor of sqrt(N).

     An	approximate error bound	for the	computed average of the	eigenvalues of
     T11 is

			    EPS	* norm(T) / S

     where EPS is the machine precision.

     The reciprocal condition number of	the right invariant subspace spanned
     by	the first n1 columns of	Z (or of Q*Z) is returned in SEP.  SEP is
     defined as	the separation of T11 and T22:

			sep( T11, T22 )	= sigma-min( C )

     where sigma-min(C)	is the smallest	singular value of the
     n1*n2-by-n1*n2 matrix

	C  = kprod( I(n2), T11 ) - kprod( transpose(T22), I(n1)	)

     I(m) is an	m by m identity	matrix,	and kprod denotes the Kronecker
     product. We estimate sigma-min(C) by the reciprocal of an estimate	of the
     1-norm of inverse(C). The true reciprocal 1-norm of inverse(C) cannot
     differ from sigma-min(C) by more than a factor of sqrt(n1*n2).

     When SEP is small,	small changes in T can cause large changes in the
     invariant subspace. An approximate	bound on the maximum angular error in
     the computed right	invariant subspace is

			 EPS * norm(T) / SEP


									PPPPaaaaggggeeee 4444
[ Back ]
 Similar pages
Name OS Title
ztrsen IRIX reorder the Schur factorization of a complex matrix A = Q*T*Q**H, so that a selected cluster of eigenvalues ap
ctrsen IRIX reorder the Schur factorization of a complex matrix A = Q*T*Q**H, so that a selected cluster of eigenvalues ap
strexc IRIX reorder the real Schur factorization of a real matrix A = Q*T*Q**T, so that the diagonal block of T with row i
dtrexc IRIX reorder the real Schur factorization of a real matrix A = Q*T*Q**T, so that the diagonal block of T with row i
dgeesx IRIX compute for an N-by-N real nonsymmetric matrix A, the eigenvalues, the real Schur form T, and, optionally, the
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
dgees IRIX compute for an N-by-N real nonsymmetric matrix A, the eigenvalues, the real Schur form T, and, optionally, the
dlanv2 IRIX compute the Schur factorization of a real 2-by-2 nonsymmetric matrix in standard form
slanv2 IRIX compute the Schur factorization of a real 2-by-2 nonsymmetric matrix in standard form
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service