clabrd man page on Scientific

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

CLABRD(1)	    LAPACK auxiliary routine (version 3.2)	     CLABRD(1)

NAME
       CLABRD  -  reduces the first NB rows and columns of a complex general m
       by n matrix A to upper or lower	real  bidiagonal  form	by  a  unitary
       transformation  Q'  * A * P, and returns the matrices X and Y which are
       needed to apply the transformation to the unreduced part of A

SYNOPSIS
       SUBROUTINE CLABRD( M, N, NB, A, LDA, D, E, TAUQ, TAUP, X, LDX, Y, LDY )

	   INTEGER	  LDA, LDX, LDY, M, N, NB

	   REAL		  D( * ), E( * )

	   COMPLEX	  A( LDA, * ), TAUP( * ), TAUQ( * ), X( LDX, *	),  Y(
			  LDY, * )

PURPOSE
       CLABRD  reduces the first NB rows and columns of a complex general m by
       n matrix A to upper or lower real bidiagonal form by a  unitary	trans‐
       formation Q' * A * P, and returns the matrices X and Y which are needed
       to apply the transformation to the unreduced part of A.	If m >=	 n,  A
       is  reduced  to	upper  bidiagonal  form; if m < n, to lower bidiagonal
       form.
       This is an auxiliary routine called by CGEBRD

ARGUMENTS
       M       (input) INTEGER
	       The number of rows in the matrix A.

       N       (input) INTEGER
	       The number of columns in the matrix A.

       NB      (input) INTEGER
	       The number of leading rows and columns of A to be reduced.

       A       (input/output) COMPLEX array, dimension (LDA,N)
	       On entry, the m by n general matrix to be  reduced.   On	 exit,
	       the  first  NB  rows and columns of the matrix are overwritten;
	       the rest of the array is unchanged.  If m >= n, elements on and
	       below  the  diagonal  in	 the  first NB columns, with the array
	       TAUQ, represent the unitary matrix Q as a product of elementary
	       reflectors;  and	 elements  above  the diagonal in the first NB
	       rows, with the array TAUP, represent the unitary matrix P as  a
	       product of elementary reflectors.  If m < n, elements below the
	       diagonal in the first NB columns, with the array	 TAUQ,	repre‐
	       sent  the  unitary  matrix Q as a product of elementary reflec‐
	       tors, and elements on and above the diagonal in	the  first  NB
	       rows,  with the array TAUP, represent the unitary matrix P as a
	       product of elementary reflectors.  See  Further	Details.   LDA
	       (input)	INTEGER	 The leading dimension of the array A.	LDA >=
	       max(1,M).

       D       (output) REAL array, dimension (NB)
	       The diagonal elements of the first NB rows and columns  of  the
	       reduced matrix.	D(i) = A(i,i).

       E       (output) REAL array, dimension (NB)
	       The  off-diagonal  elements of the first NB rows and columns of
	       the reduced matrix.

       TAUQ    (output) COMPLEX array dimension (NB)
	       The scalar factors of the elementary reflectors which represent
	       the  unitary  matrix  Q. See Further Details.  TAUP    (output)
	       COMPLEX array, dimension (NB) The scalar factors of the elemen‐
	       tary  reflectors which represent the unitary matrix P. See Fur‐
	       ther  Details.	X	 (output)  COMPLEX  array,   dimension
	       (LDX,NB)	 The m-by-nb matrix X required to update the unreduced
	       part of A.

       LDX     (input) INTEGER
	       The leading dimension of the array X. LDX >= max(1,M).

       Y       (output) COMPLEX array, dimension (LDY,NB)
	       The n-by-nb matrix Y required to update the unreduced  part  of
	       A.

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

FURTHER DETAILS
       The  matrices Q and P are represented as products of elementary reflec‐
       tors:
	  Q = H(1) H(2) . . . H(nb)  and  P = G(1) G(2) . . . G(nb) Each  H(i)
       and G(i) has the form:
	  H(i)	=  I  - tauq * v * v'  and G(i) = I - taup * u * u' where tauq
       and taup are complex scalars, and v and u are complex vectors.
       If m >= n, v(1:i-1) = 0, v(i) = 1, and v(i:m)  is  stored  on  exit  in
       A(i:m,i);  u(1:i)  =  0,	 u(i+1) = 1, and u(i+1:n) is stored on exit in
       A(i,i+1:n); tauq is stored in TAUQ(i) and taup in TAUP(i).  If m	 <  n,
       v(1:i)  =  0, v(i+1) = 1, and v(i+1:m) is stored on exit in A(i+2:m,i);
       u(1:i-1) = 0, u(i) = 1, and u(i:n) is stored  on	 exit  in  A(i,i+1:n);
       tauq  is	 stored	 in  TAUQ(i) and taup in TAUP(i).  The elements of the
       vectors v and u together form the m-by-nb  matrix  V  and  the  nb-by-n
       matrix  U'  which are needed, with X and Y, to apply the transformation
       to the unreduced part of the matrix, using a block update of the	 form:
       A := A - V*Y' - X*U'.
       The  contents  of  A  on exit are illustrated by the following examples
       with nb = 2:
       m = 6 and n = 5 (m > n):		 m = 5 and n = 6 (m < n):
	 (  1	1   u1	u1  u1 )	   (  1	  u1  u1  u1  u1  u1 )
	 (  v1	1   1	u2  u2 )	   (  1	  1   u2  u2  u2  u2 )
	 (  v1	v2  a	a   a  )	   (  v1  1   a	  a   a	  a  )
	 (  v1	v2  a	a   a  )	   (  v1  v2  a	  a   a	  a  )
	 (  v1	v2  a	a   a  )	   (  v1  v2  a	  a   a	  a  )
	 (  v1	v2  a	a   a  )
       where a denotes an element of the original matrix which	is  unchanged,
       vi denotes an element of the vector defining H(i), and ui an element of
       the vector defining G(i).

 LAPACK auxiliary routine (versioNovember 2008			     CLABRD(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