shsein man page on Scientific

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

SHSEIN(1)		 LAPACK routine (version 3.2)		     SHSEIN(1)

NAME
       SHSEIN  -  uses	inverse	 iteration to find specified right and/or left
       eigenvectors of a real upper Hessenberg matrix H

SYNOPSIS
       SUBROUTINE SHSEIN( SIDE, EIGSRC, INITV, SELECT, N, H, LDH, WR, WI,  VL,
			  LDVL, VR, LDVR, MM, M, WORK, IFAILL, IFAILR, INFO )

	   CHARACTER	  EIGSRC, INITV, SIDE

	   INTEGER	  INFO, LDH, LDVL, LDVR, M, MM, N

	   LOGICAL	  SELECT( * )

	   INTEGER	  IFAILL( * ), IFAILR( * )

	   REAL		  H(  LDH, * ), VL( LDVL, * ), VR( LDVR, * ), WI( * ),
			  WORK( * ), WR( * )

PURPOSE
       SHSEIN uses inverse iteration  to  find	specified  right  and/or  left
       eigenvectors  of a real upper Hessenberg matrix H.  The right eigenvec‐
       tor x and the left eigenvector y of the matrix H	 corresponding	to  an
       eigenvalue w are defined by:
		    H * x = w * x,     y**h * H = w * y**h
       where y**h denotes the conjugate transpose of the vector y.

ARGUMENTS
       SIDE    (input) CHARACTER*1
	       = 'R': compute right eigenvectors only;
	       = 'L': compute left eigenvectors only;
	       = 'B': compute both right and left eigenvectors.

       EIGSRC  (input) CHARACTER*1
	       Specifies the source of eigenvalues supplied in (WR,WI):
	       =  'Q': the eigenvalues were found using SHSEQR; thus, if H has
	       zero subdiagonal elements, and so is block-triangular, then the
	       j-th eigenvalue can be assumed to be an eigenvalue of the block
	       containing the j-th row/column.	This property allows SHSEIN to
	       perform	inverse	 iteration on just one diagonal block.	= 'N':
	       no assumptions are made on the correspondence between eigenval‐
	       ues and diagonal blocks.	 In this case, SHSEIN must always per‐
	       form inverse iteration using the whole matrix H.

       INITV   (input) CHARACTER*1
	       = 'N': no initial vectors are supplied;
	       = 'U': user-supplied initial vectors are stored in  the	arrays
	       VL and/or VR.

       SELECT  (input/output) LOGICAL array, dimension (N)
	       Specifies  the  eigenvectors to be computed. To select the real
	       eigenvector corresponding to a real eigenvalue WR(j), SELECT(j)
	       must be set to .TRUE.. To select the complex eigenvector corre‐
	       sponding to a complex eigenvalue	 (WR(j),WI(j)),	 with  complex
	       conjugate (WR(j+1),WI(j+1)), either SELECT(j) or SELECT(j+1) or
	       both must be set to .TRUE.; then on exit	 SELECT(j)  is	.TRUE.
	       and SELECT(j+1) is .FALSE..

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

       H       (input) REAL array, dimension (LDH,N)
	       The upper Hessenberg matrix H.

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

       WR      (input/output) REAL array, dimension (N)
	       WI	(input)	 REAL  array, dimension (N) On entry, the real
	       and imaginary parts of the eigenvalues of H; a  complex	conju‐
	       gate pair of eigenvalues must be stored in consecutive elements
	       of WR and WI.  On exit, WR may have been	 altered  since	 close
	       eigenvalues are perturbed slightly in searching for independent
	       eigenvectors.

       VL      (input/output) REAL array, dimension (LDVL,MM)
	       On entry, if INITV = 'U' and SIDE = 'L' or 'B', VL must contain
	       starting	 vectors for the inverse iteration for the left eigen‐
	       vectors; the starting vector for each eigenvector  must	be  in
	       the same column(s) in which the eigenvector will be stored.  On
	       exit, if SIDE = 'L' or 'B', the left eigenvectors specified  by
	       SELECT  will  be	 stored consecutively in the columns of VL, in
	       the same order as their eigenvalues. A complex eigenvector cor‐
	       responding to a complex eigenvalue is stored in two consecutive
	       columns, the first holding the real part	 and  the  second  the
	       imaginary part.	If SIDE = 'R', VL is not referenced.

       LDVL    (input) INTEGER
	       The  leading  dimension	of  the array VL.  LDVL >= max(1,N) if
	       SIDE = 'L' or 'B'; LDVL >= 1 otherwise.

       VR      (input/output) REAL array, dimension (LDVR,MM)
	       On entry, if INITV = 'U' and SIDE = 'R' or 'B', VR must contain
	       starting vectors for the inverse iteration for the right eigen‐
	       vectors; the starting vector for each eigenvector  must	be  in
	       the same column(s) in which the eigenvector will be stored.  On
	       exit, if SIDE = 'R' or 'B', the right eigenvectors specified by
	       SELECT  will  be	 stored consecutively in the columns of VR, in
	       the same order as their eigenvalues. A complex eigenvector cor‐
	       responding to a complex eigenvalue is stored in two consecutive
	       columns, the first holding the real part	 and  the  second  the
	       imaginary part.	If SIDE = 'L', VR is not referenced.

       LDVR    (input) INTEGER
	       The  leading  dimension	of  the array VR.  LDVR >= max(1,N) if
	       SIDE = 'R' or 'B'; LDVR >= 1 otherwise.

       MM      (input) INTEGER
	       The number of columns in the arrays VL and/or VR. MM >= M.

       M       (output) INTEGER
	       The number of columns in the arrays VL and/or  VR  required  to
	       store the eigenvectors; each selected real eigenvector occupies
	       one column and each selected complex eigenvector	 occupies  two
	       columns.

       WORK    (workspace) REAL array, dimension ((N+2)*N)

       IFAILL  (output) INTEGER array, dimension (MM)
	       If SIDE = 'L' or 'B', IFAILL(i) = j > 0 if the left eigenvector
	       in the i-th column of VL (corresponding to the eigenvalue w(j))
	       failed  to converge; IFAILL(i) = 0 if the eigenvector converged
	       satisfactorily. If the i-th and (i+1)th columns of  VL  hold  a
	       complex	eigenvector, then IFAILL(i) and IFAILL(i+1) are set to
	       the same value.	If SIDE = 'R', IFAILL is not referenced.

       IFAILR  (output) INTEGER array, dimension (MM)
	       If SIDE = 'R' or 'B', IFAILR(i) = j > 0 if the right  eigenvec‐
	       tor  in	the i-th column of VR (corresponding to the eigenvalue
	       w(j)) failed to converge; IFAILR(i) = 0 if the eigenvector con‐
	       verged  satisfactorily.	If  the i-th and (i+1)th columns of VR
	       hold a complex eigenvector, then IFAILR(i) and IFAILR(i+1)  are
	       set  to	the  same  value.  If SIDE = 'L', IFAILR is not refer‐
	       enced.

       INFO    (output) INTEGER
	       = 0:  successful exit
	       < 0:  if INFO = -i, the i-th argument had an illegal value
	       > 0:  if INFO = i, i is the number of eigenvectors which failed
	       to converge; see IFAILL and IFAILR for further details.

FURTHER DETAILS
       Each eigenvector is normalized so that the element of largest magnitude
       has magnitude 1; here the magnitude of a complex number (x,y) is	 taken
       to be |x|+|y|.

 LAPACK routine (version 3.2)	 November 2008			     SHSEIN(1)
[top]

List of man pages available for Scientific

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