zlarzt man page on OpenIndiana

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

zlarzt(3P)		    Sun Performance Library		    zlarzt(3P)

NAME
       zlarzt - form the triangular factor T of a complex block reflector H of
       order > n, which is defined as a product of k elementary reflectors

SYNOPSIS
       SUBROUTINE ZLARZT(DIRECT, STOREV, N, K, V, LDV, TAU, T, LDT)

       CHARACTER * 1 DIRECT, STOREV
       DOUBLE COMPLEX V(LDV,*), TAU(*), T(LDT,*)
       INTEGER N, K, LDV, LDT

       SUBROUTINE ZLARZT_64(DIRECT, STOREV, N, K, V, LDV, TAU, T, LDT)

       CHARACTER * 1 DIRECT, STOREV
       DOUBLE COMPLEX V(LDV,*), TAU(*), T(LDT,*)
       INTEGER*8 N, K, LDV, LDT

   F95 INTERFACE
       SUBROUTINE LARZT(DIRECT, STOREV, N, K, V, [LDV], TAU, T, [LDT])

       CHARACTER(LEN=1) :: DIRECT, STOREV
       COMPLEX(8), DIMENSION(:) :: TAU
       COMPLEX(8), DIMENSION(:,:) :: V, T
       INTEGER :: N, K, LDV, LDT

       SUBROUTINE LARZT_64(DIRECT, STOREV, N, K, V, [LDV], TAU, T, [LDT])

       CHARACTER(LEN=1) :: DIRECT, STOREV
       COMPLEX(8), DIMENSION(:) :: TAU
       COMPLEX(8), DIMENSION(:,:) :: V, T
       INTEGER(8) :: N, K, LDV, LDT

   C INTERFACE
       #include <sunperf.h>

       void zlarzt(char direct, char storev, int n, int k,  doublecomplex  *v,
		 int ldv, doublecomplex *tau, doublecomplex *t, int ldt);

       void  zlarzt_64(char direct, char storev, long n, long k, doublecomplex
		 *v, long ldv,	doublecomplex  *tau,  doublecomplex  *t,  long
		 ldt);

PURPOSE
       zlarzt  forms the triangular factor T of a complex block reflector H of
       order > n, which is defined as a product of k elementary reflectors.

       If DIRECT = 'F', H = H(1) H(2) . . . H(k) and T is upper triangular;

       If DIRECT = 'B', H = H(k) . . . H(2) H(1) and T is lower triangular.

       If STOREV = 'C', the vector which defines the elementary reflector H(i)
       is stored in the i-th column of the array V, and

	  H  =	I - V * T * V'

       If STOREV = 'R', the vector which defines the elementary reflector H(i)
       is stored in the i-th row of the array V, and

	  H  =	I - V' * T * V

       Currently, only STOREV = 'R' and DIRECT = 'B' are supported.

ARGUMENTS
       DIRECT (input)
		 Specifies the order in which the  elementary  reflectors  are
		 multiplied to form the block reflector:
		 = 'F': H = H(1) H(2) . . . H(k) (Forward, not supported yet)
		 = 'B': H = H(k) . . . H(2) H(1) (Backward)

       STOREV (input)
		 Specifies how the vectors which define the elementary reflec‐
		 tors are stored (see also Further Details):
		 = 'R': rowwise

       N (input) The order of the block reflector H. N >= 0.

       K (input) The order of the triangular factor T (= the number of elemen‐
		 tary reflectors). K >= 1.

       V (input) (LDV,K) if STOREV = 'C' (LDV,N) if STOREV = 'R' The matrix V.
		 See further details.

       LDV (input)
		 The leading dimension of the array V.	If STOREV =  'C',  LDV
		 >= max(1,N); if STOREV = 'R', LDV >= K.

       TAU (input)
		 Dimension  (K)	 TAU(i)	 must contain the scalar factor of the
		 elementary reflector H(i).

       T (output)
		 The k by k triangular factor T of the	block  reflector.   If
		 DIRECT	 =  'F',  T is upper triangular; if DIRECT = 'B', T is
		 lower triangular. The rest of the array is not used.

       LDT (input)
		 The leading dimension of the array T. LDT >= K.

FURTHER DETAILS
       Based on contributions by
	 A. Petitet, Computer Science Dept., Univ. of Tenn., Knoxville, USA

       The shape of the matrix V and the storage of the vectors	 which	define
       the  H(i) is best illustrated by the following example with n = 5 and k
       = 3. The elements equal to 1 are not stored;  the  corresponding	 array
       elements	 are  modified	but restored on exit. The rest of the array is
       not used.

       DIRECT = 'F' and STOREV = 'C':	      DIRECT = 'F' and STOREV = 'R':

						   ______V_____
	      ( v1 v2 v3 )			  /		      ( v1  v2
       v3 )			 ( v1 v1 v1 v1 v1 . . . . 1 )
	  V = ( v1 v2 v3 )			( v2 v2 v2 v2 v2 . . . 1   )
	      ( v1 v2 v3 )			( v3 v3 v3 v3 v3 . . 1	   )
	      ( v1 v2 v3 )
		 .  .  .
		 .  .  .
		 1  .  .
		    1  .
		       1

       DIRECT = 'B' and STOREV = 'C':	      DIRECT = 'B' and STOREV = 'R':

							     ______V_____
		 1							     /
       .  1			      ( 1 . . . . v1 v1 v1 v1 v1 )
		 .  .  1			( . 1 . . . v2 v2 v2 v2 v2 )
		 .  .  .			( . . 1 . . v3 v3 v3 v3 v3 )
		 .  .  .
	      ( v1 v2 v3 )
	      ( v1 v2 v3 )
	  V = ( v1 v2 v3 )
	      ( v1 v2 v3 )
	      ( v1 v2 v3 )

				  6 Mar 2009			    zlarzt(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