ztrsna man page on OpenIndiana

Man page or keyword search:  
man Server   20441 pages
apropos Keyword Search (all sections)
Output format
OpenIndiana logo
[printable version]

ztrsna(3P)		    Sun Performance Library		    ztrsna(3P)

NAME
       ztrsna  - estimate reciprocal condition numbers for specified eigenval‐
       ues and/or right eigenvectors of a complex upper	 triangular  matrix  T
       (or of any matrix Q*T*Q**H with Q unitary)

SYNOPSIS
       SUBROUTINE ZTRSNA(JOB, HOWMNY, SELECT, N, T, LDT, VL, LDVL, VR, LDVR,
	     S, SEP, MM, M, WORK, LDWORK, WORK1, INFO)

       CHARACTER * 1 JOB, HOWMNY
       DOUBLE COMPLEX T(LDT,*), VL(LDVL,*), VR(LDVR,*), WORK(LDWORK,*)
       INTEGER N, LDT, LDVL, LDVR, MM, M, LDWORK, INFO
       LOGICAL SELECT(*)
       DOUBLE PRECISION S(*), SEP(*), WORK1(*)

       SUBROUTINE ZTRSNA_64(JOB, HOWMNY, SELECT, N, T, LDT, VL, LDVL, VR,
	     LDVR, S, SEP, MM, M, WORK, LDWORK, WORK1, INFO)

       CHARACTER * 1 JOB, HOWMNY
       DOUBLE COMPLEX T(LDT,*), VL(LDVL,*), VR(LDVR,*), WORK(LDWORK,*)
       INTEGER*8 N, LDT, LDVL, LDVR, MM, M, LDWORK, INFO
       LOGICAL*8 SELECT(*)
       DOUBLE PRECISION S(*), SEP(*), WORK1(*)

   F95 INTERFACE
       SUBROUTINE TRSNA(JOB, HOWMNY, SELECT, [N], T, [LDT], VL, [LDVL], VR,
	      [LDVR], S, SEP, MM, M, [WORK], [LDWORK], [WORK1], [INFO])

       CHARACTER(LEN=1) :: JOB, HOWMNY
       COMPLEX(8), DIMENSION(:,:) :: T, VL, VR, WORK
       INTEGER :: N, LDT, LDVL, LDVR, MM, M, LDWORK, INFO
       LOGICAL, DIMENSION(:) :: SELECT
       REAL(8), DIMENSION(:) :: S, SEP, WORK1

       SUBROUTINE TRSNA_64(JOB, HOWMNY, SELECT, [N], T, [LDT], VL, [LDVL],
	      VR, [LDVR], S, SEP, MM, M, [WORK], [LDWORK], [WORK1], [INFO])

       CHARACTER(LEN=1) :: JOB, HOWMNY
       COMPLEX(8), DIMENSION(:,:) :: T, VL, VR, WORK
       INTEGER(8) :: N, LDT, LDVL, LDVR, MM, M, LDWORK, INFO
       LOGICAL(8), DIMENSION(:) :: SELECT
       REAL(8), DIMENSION(:) :: S, SEP, WORK1

   C INTERFACE
       #include <sunperf.h>

       void  ztrsna(char  job,	char howmny, int *select, int n, doublecomplex
		 *t, int ldt, doublecomplex *vl, int ldvl, doublecomplex  *vr,
		 int ldvr, double *s, double *sep, int mm, int *m, int ldwork,
		 int *info);

       void ztrsna_64(char job, char howmny, long *select, long n,  doublecom‐
		 plex  *t,  long ldt, doublecomplex *vl, long ldvl, doublecom‐
		 plex *vr, long ldvr, double *s, double *sep,  long  mm,  long
		 *m, long ldwork, long *info);

PURPOSE
       ztrsna estimates reciprocal condition numbers for specified eigenvalues
       and/or right eigenvectors of a complex upper triangular matrix T (or of
       any matrix Q*T*Q**H with Q unitary).

ARGUMENTS
       JOB (input)
		 Specifies  whether  condition numbers are required for eigen‐
		 values (S) or eigenvectors (SEP):
		 = 'E': for eigenvalues only (S);
		 = 'V': for eigenvectors only (SEP);
		 = 'B': for both eigenvalues and eigenvectors (S and SEP).

       HOWMNY (input)
		 = 'A': compute condition numbers for all eigenpairs;
		 = 'S': compute	 condition  numbers  for  selected  eigenpairs
		 specified by the array SELECT.

       SELECT (input)
		 If  HOWMNY  =	'S', SELECT specifies the eigenpairs for which
		 condition numbers are required. To select  condition  numbers
		 for  the j-th eigenpair, SELECT(j) must be set to .TRUE..  If
		 HOWMNY = 'A', SELECT is not referenced.

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

       T (input) The upper triangular matrix T.

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

       VL (input)
		 If JOB = 'E' or 'B', VL must contain left eigenvectors	 of  T
		 (or  of  any  Q*T*Q**H	 with Q unitary), corresponding to the
		 eigenpairs specified by HOWMNY and SELECT.  The  eigenvectors
		 must  be  stored in consecutive columns of VL, as returned by
		 ZHSEIN or ZTREVC.  If JOB = 'V', VL is not referenced.

       LDVL (input)
		 The leading dimension of the array VL.	 LDVL >= 1; and if JOB
		 = 'E' or 'B', LDVL >= N.

       VR (input)
		 If  JOB = 'E' or 'B', VR must contain right eigenvectors of T
		 (or of any Q*T*Q**H with Q  unitary),	corresponding  to  the
		 eigenpairs  specified	by HOWMNY and SELECT. The eigenvectors
		 must be stored in consecutive columns of VR, as  returned  by
		 ZHSEIN or ZTREVC.  If JOB = 'V', VR is not referenced.

       LDVR (input)
		 The leading dimension of the array VR.	 LDVR >= 1; and if JOB
		 = 'E' or 'B', LDVR >= N.

       S (output)
		 If JOB = 'E' or 'B', the reciprocal condition numbers of  the
		 selected  eigenvalues,	 stored in consecutive elements of the
		 array. Thus S(j), SEP(j), and the j-th columns of VL  and  VR
		 all  correspond to the same eigenpair (but not in general the
		 j-th eigenpair, unless all eigenpairs are selected).  If  JOB
		 = 'V', S is not referenced.

       SEP (output)
		 If  JOB = 'V' or 'B', the estimated reciprocal condition num‐
		 bers of the selected eigenvectors, stored in consecutive ele‐
		 ments of the array.  If JOB = 'E', SEP is not referenced.

       MM (input)
		 The  number of elements in the arrays S (if JOB = 'E' or 'B')
		 and/or SEP (if JOB = 'V' or 'B'). MM >= M.

       M (output)
		 The number of elements of the arrays S	 and/or	 SEP  actually
		 used  to  store the estimated condition numbers.  If HOWMNY =
		 'A', M is set to N.

       WORK (workspace)
		 dimension(LDWORK,N+1) If JOB = 'E', WORK is not referenced.

       LDWORK (input)
		 The leading dimension of the array WORK.  LDWORK >= 1; and if
		 JOB = 'V' or 'B', LDWORK >= N.

       WORK1 (workspace)
		 dimension(N) If JOB = 'E', WORK1 is not referenced.

       INFO (output)
		 = 0: successful exit
		 < 0: if INFO = -i, the i-th argument had an illegal value

FURTHER DETAILS
       The  reciprocal	of  the	 condition  number  of an eigenvalue lambda is
       defined as

	       S(lambda) = |v'*u| / (norm(u)*norm(v))

       where u and v are the right and left eigenvectors of T corresponding to
       lambda;	v'  denotes  the conjugate transpose of v, and norm(u) denotes
       the Euclidean norm.  These  reciprocal  condition  numbers  always  lie
       between	zero (very badly conditioned) and one (very well conditioned).
       If n = 1, S(lambda) is defined to be 1.

       An approximate error bound for a computed eigenvalue W(i) is given by

			   EPS * norm(T) / S(i)

       where EPS is the machine precision.

       The reciprocal of the condition number of the right eigenvector u  cor‐
       responding to lambda is defined as follows. Suppose

		   T = ( lambda	 c  )
		       (   0	T22 )

       Then the reciprocal condition number is

	       SEP( lambda, T22 ) = sigma-min( T22 - lambda*I )

       where sigma-min denotes the smallest singular value. We approximate the
       smallest singular value by the reciprocal of an estimate	 of  the  one-
       norm  of	 the inverse of T22 - lambda*I. If n = 1, SEP(1) is defined to
       be abs(T(1,1)).

       An approximate error bound for a computed right	eigenvector  VR(i)  is
       given by

			   EPS * norm(T) / SEP(i)

				  6 Mar 2009			    ztrsna(3P)
[top]

List of man pages available for OpenIndiana

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net