sgsvj1 man page on Scientific

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

SGSVJ1(1LAPACK routine (version 3.2)				     SGSVJ1(1)

NAME
       SGSVJ1  - is called from SGESVJ as a pre-processor and that is its main
       purpose

SYNOPSIS
       SUBROUTINE SGSVJ1( JOBV, M, N, N1, A, LDA, D, SVA, MV, V, LDV,

	   +		  EPS, SFMIN, TOL, NSWEEP, WORK, LWORK, INFO )

	   IMPLICIT	  NONE

	   REAL		  EPS, SFMIN, TOL

	   INTEGER	  INFO, LDA, LDV, LWORK, M, MV, N, N1, NSWEEP

	   CHARACTER*1	  JOBV

	   REAL		  A( LDA, * ), D( N ), SVA( N ), V( LDV, * ),

	   +		  WORK( LWORK )

PURPOSE
       SGSVJ1 is called from SGESVJ as a pre-processor and that	 is  its  main
       purpose.	 It  applies  Jacobi rotations in the same way as SGESVJ does,
       but it targets only particular pivots and it does not check convergence
       (stopping  criterion).  Few  tunning  parameters	 (marked  by [TP]) are
       available for the implementer.
       Further Details
       SGSVJ1 applies few sweeps of Jacobi rotations in the  column  space  of
       the  input  M-by-N  matrix  A. The pivot pairs are taken from the (1,2)
       off-diagonal block in the corresponding N-by-N Gram matrix A^T * A. The
       block-entries (tiles) of the (1,2) off-diagonal block are marked by the
       [x]'s in the following scheme:
	  | *	*   * [x] [x] [x]|
	  | *	*   * [x] [x] [x]|     Row-cycling  in	the  nblr-by-nblc  [x]
       blocks.
	  |  *	  *    *  [x]  [x] [x]|	   Row-cyclic pivoting inside each [x]
       block.
	  |[x] [x] [x] *   *   * |
	  |[x] [x] [x] *   *   * |
	  |[x] [x] [x] *   *   * |
       In terms of the	columns	 of  A,	 the  first  N1	 columns  are  rotated
       'against'  the  remaining  N-N1	columns,  trying to increase the angle
       between the corresponding subspaces. The off-diagonal block is N1-by(N-
       N1)  and	 it is tiled using quadratic tiles of side KBL. Here, KBL is a
       tunning parmeter.  The number of sweeps is  given  in  NSWEEP  and  the
       orthogonality threshold is given in TOL.
       Contributors
       ~~~~~~~~~~~~
       Zlatko Drmac (Zagreb, Croatia) and Kresimir Veselic (Hagen, Germany)

ARGUMENTS
       JOBV    (input) CHARACTER*1
	       Specifies  whether  the	output	from this procedure is used to
	       compute the matrix V:
	       = 'V': the product of the Jacobi rotations  is  accumulated  by
	       postmulyiplying	the  N-by-N  array V.  (See the description of
	       V.)  = 'A': the product of the Jacobi rotations is  accumulated
	       by  postmulyiplying the MV-by-N array V.	 (See the descriptions
	       of MV and V.)  = 'N': the Jacobi rotations are not accumulated.

       M       (input) INTEGER
	       The number of rows of the input matrix A.  M >= 0.

       N       (input) INTEGER
	       The number of columns of the input matrix A.  M >= N >= 0.

       N1      (input) INTEGER
	       N1 specifies the 2 x 2 block partition, the  first  N1  columns
	       are rotated 'against' the remaining N-N1 columns of A.

       A       (input/output) REAL array, dimension (LDA,N)
	       On  entry,  M-by-N matrix A, such that A*diag(D) represents the
	       input matrix.  On exit,	A_onexit  *  D_onexit  represents  the
	       input  matrix A*diag(D) post-multiplied by a sequence of Jacobi
	       rotations, where the rotation threshold and the total number of
	       sweeps  are  given  in  TOL and NSWEEP, respectively.  (See the
	       descriptions of N1, D, TOL and NSWEEP.)

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

       D       (input/workspace/output) REAL array, dimension (N)
	       The array D accumulates	the  scaling  factors  from  the  fast
	       scaled  Jacobi  rotations.   On entry, A*diag(D) represents the
	       input matrix.  On exit, A_onexit*diag(D_onexit) represents  the
	       input matrix post-multiplied by a sequence of Jacobi rotations,
	       where the rotation threshold and the total number of sweeps are
	       given  in  TOL and NSWEEP, respectively.	 (See the descriptions
	       of N1, A, TOL and NSWEEP.)

       SVA     (input/workspace/output) REAL array, dimension (N)
	       On entry, SVA contains the Euclidean norms of  the  columns  of
	       the  matrix  A*diag(D).	 On  exit,  SVA contains the Euclidean
	       norms of the columns of the matrix onexit*diag(D_onexit).

       MV      (input) INTEGER
	       If JOBV .EQ. 'A', then MV rows of V  are	 post-multipled	 by  a
	       sequence	 of Jacobi rotations.  If JOBV = 'N',	then MV is not
	       referenced.

       V       (input/output) REAL array, dimension (LDV,N)
	       If JOBV .EQ. 'V' then N rows  of	 V  are	 post-multipled	 by  a
	       sequence of Jacobi rotations.  If JOBV .EQ. 'A' then MV rows of
	       V are post-multipled by a sequence  of  Jacobi  rotations.   If
	       JOBV = 'N',   then V is not referenced.

       LDV     (input) INTEGER
	       The  leading  dimension	of  the array V,  LDV >= 1.  If JOBV =
	       'V', LDV .GE. N.	 If JOBV = 'A', LDV .GE. MV.

       EPS     (input) INTEGER
	       EPS = SLAMCH('Epsilon')

       SFMIN   (input) INTEGER
	       SFMIN = SLAMCH('Safe Minimum')

       TOL     (input) REAL
	       TOL is the threshold for Jacobi rotations. For a	 pair  A(:,p),
	       A(:,q) of pivot columns, the Jacobi rotation is
	       applied only if ABS(COS(angle(A(:,p),A(:,q)))) .GT. TOL.

       NSWEEP  (input) INTEGER
	       NSWEEP  is  the number of sweeps of Jacobi rotations to be per‐
	       formed.

       WORK    (workspace) REAL array, dimension LWORK.

       LWORK   (input) INTEGER
	       LWORK is the dimension of WORK. LWORK .GE. M.

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

 LAPACK routine (version 3.2)	 November 2008			     SGSVJ1(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