dlalsd man page on YellowDog

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

DLALSD(l)			       )			     DLALSD(l)

NAME
       DLALSD  -  use the singular value decomposition of A to solve the least
       squares problem of finding X to minimize the  Euclidean	norm  of  each
       column of A*X-B, where A is N-by-N upper bidiagonal, and X and B are N-
       by-NRHS

SYNOPSIS
       SUBROUTINE DLALSD( UPLO, SMLSIZ, N, NRHS, D, E, B,  LDB,	 RCOND,	 RANK,
			  WORK, IWORK, INFO )

	   CHARACTER	  UPLO

	   INTEGER	  INFO, LDB, N, NRHS, RANK, SMLSIZ

	   DOUBLE	  PRECISION RCOND

	   INTEGER	  IWORK( * )

	   DOUBLE	  PRECISION B( LDB, * ), D( * ), E( * ), WORK( * )

PURPOSE
       DLALSD  uses  the  singular value decomposition of A to solve the least
       squares problem of finding X to minimize the  Euclidean	norm  of  each
       column of A*X-B, where A is N-by-N upper bidiagonal, and X and B are N-
       by-NRHS. The solution X overwrites B.  The singular values of A smaller
       than  RCOND  times  the	largest	 singular value are treated as zero in
       solving the least squares problem; in this case a minimum norm solution
       is returned.  The actual singular values are returned in D in ascending
       order.

       This code makes very mild assumptions about floating point  arithmetic.
       It  will	 work  on  machines  with a guard digit in add/subtract, or on
       those binary machines without guard digits which subtract like the Cray
       XMP,  Cray  YMP,	 Cray  C  90, or Cray 2.  It could conceivably fail on
       hexadecimal or decimal machines without guard digits, but  we  know  of
       none.

ARGUMENTS
       UPLO   (input) CHARACTER*1
	      = 'U': D and E define an upper bidiagonal matrix.
	      = 'L': D and E define a  lower bidiagonal matrix.

	      SMLSIZ  (input)  INTEGER	The maximum size of the subproblems at
	      the bottom of the computation tree.

       N      (input) INTEGER
	      The dimension of the  bidiagonal matrix.	N >= 0.

       NRHS   (input) INTEGER
	      The number of columns of B. NRHS must be at least 1.

       D      (input/output) DOUBLE PRECISION array, dimension (N)
	      On entry D contains the main diagonal of the bidiagonal  matrix.
	      On exit, if INFO = 0, D contains its singular values.

       E      (input) DOUBLE PRECISION array, dimension (N-1)
	      Contains	the  super-diagonal  entries of the bidiagonal matrix.
	      On exit, E has been destroyed.

       B      (input/output) DOUBLE PRECISION array, dimension (LDB,NRHS)
	      On input, B contains the right hand sides of the	least  squares
	      problem. On output, B contains the solution X.

       LDB    (input) INTEGER
	      The  leading dimension of B in the calling subprogram.  LDB must
	      be at least max(1,N).

       RCOND  (input) DOUBLE PRECISION
	      The singular values of A less than or equal to RCOND  times  the
	      largest  singular value are treated as zero in solving the least
	      squares problem. If RCOND is negative, machine precision is used
	      instead.	 For  example,	if  diag(S)*X=B were the least squares
	      problem, where diag(S) is a diagonal matrix of singular  values,
	      the solution would be X(i) = B(i) / S(i) if S(i) is greater than
	      RCOND*max(S), and X(i) = 0 if S(i) is  less  than	 or  equal  to
	      RCOND*max(S).

       RANK   (output) INTEGER
	      The  number of singular values of A greater than RCOND times the
	      largest singular value.

       WORK   (workspace) DOUBLE PRECISION array, dimension at least
	      (9*N + 2*N*SMLSIZ + 8*N*NLVL + N*NRHS  +	(SMLSIZ+1)**2),	 where
	      NLVL = max(0, INT(log_2 (N/(SMLSIZ+1))) + 1).

       IWORK  (workspace) INTEGER array, dimension at least
	      (3*N*NLVL + 11*N)

       INFO   (output) INTEGER
	      = 0:  successful exit.
	      < 0:  if INFO = -i, the i-th argument had an illegal value.
	      >	 0:   The  algorithm failed to compute an singular value while
	      working on the submatrix lying in rows  and  columns  INFO/(N+1)
	      through MOD(INFO,N+1).

FURTHER DETAILS
       Based on contributions by
	  Ming Gu and Ren-Cang Li, Computer Science Division, University of
	    California at Berkeley, USA
	  Osni Marques, LBNL/NERSC, USA

LAPACK version 3.0		 15 June 2000			     DLALSD(l)
[top]

List of man pages available for YellowDog

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