The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

dbdsqr (3)
  • >> dbdsqr (3) ( Solaris man: Библиотечные вызовы )
  • 
    NAME
         dbdsqr - compute the singular value decomposition (SVD) of a
         real N-by-N (upper or lower) bidiagonal matrix B
    
    SYNOPSIS
         SUBROUTINE DBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT,  LDVT,
                   U, LDU, C, LDC, WORK, INFO )
    
         CHARACTER UPLO
    
         INTEGER INFO, LDC, LDU, LDVT, N, NCC, NCVT, NRU
    
         DOUBLE PRECISION C( LDC, * ), D( * ), E( * ), U( LDU,  *  ),
                   VT( LDVT, * ), WORK( * )
    
    
    
         #include <sunperf.h>
    
         void dbdsqr(char uplo, int n, int ncvt, int  nru,  int  ncc,
                   double  *d, double *e, double *dvt, int ldvt, dou-
                   ble *du, int ldu, double *dc, int ldc, int  *info)
                   ;
    
    PURPOSE
         DBDSQR computes the singular value decomposition (SVD) of  a
         real N-by-N (upper or lower) bidiagonal matrix B:  B = Q * S
         * P' (P' denotes the transpose of P), where S is a  diagonal
         matrix  with  non-negative  diagonal  elements (the singular
         values of B), and Q and P are orthogonal matrices.
    
         The routine computes S, and optionally computes U * Q, P'  *
         VT, or Q' * C, for given real input matrices U, VT, and C.
    
         See "Computing  Small Singular Values of Bidiagonal Matrices
         With Guaranteed High Relative Accuracy," by J. Demmel and W.
         Kahan, LAPACK Working Note #3 (or SIAM J. Sci. Statist. Com-
         put. vol. 11, no. 5, pp. 873-912, Sept 1990) and
         "Accurate singular values and differential  qd  algorithms,"
         by  B.  Parlett  and V. Fernando, Technical Report CPAM-554,
         Mathematics Department, University of California  at  Berke-
         ley, July 1992 for a detailed description of the algorithm.
    
    
    ARGUMENTS
         UPLO      (input) CHARACTER*1
                   = 'U':  B is upper bidiagonal;
                   = 'L':  B is lower bidiagonal.
    
         N         (input) INTEGER
                   The order of the matrix B.  N >= 0.
    
         NCVT      (input) INTEGER
                   The number of columns of the matrix VT. NCVT >= 0.
    
         NRU       (input) INTEGER
                   The number of rows of the matrix U. NRU >= 0.
    
         NCC       (input) INTEGER
                   The number of columns of the matrix C. NCC >= 0.
    
         D         (input/output) DOUBLE PRECISION  array,  dimension
                   (N)
                   On entry, the n diagonal elements of the  bidiago-
                   nal  matrix  B.   On exit, if INFO=0, the singular
                   values of B in decreasing order.
    
         E         (input/output) DOUBLE PRECISION  array,  dimension
                   (N)
                   On entry, the elements of E contain the  offdiago-
                   nal elements of the bidiagonal matrix whose SVD is
                   desired. On normal exit (INFO  =  0),  E  is  des-
                   troyed.   If the algorithm does not converge (INFO
                   > 0), D and E will contain the diagonal and super-
                   diagonal  elements of a bidiagonal matrix orthogo-
                   nally equivalent to the one given as  input.  E(N)
                   is used for workspace.
    
         VT        (input/output) DOUBLE PRECISION  array,  dimension
                   (LDVT, NCVT)
                   On entry, an N-by-NCVT matrix VT.  On exit, VT  is
                   overwritten  by  P' * VT.  VT is not referenced if
                   NCVT = 0.
    
         LDVT      (input) INTEGER
                   The leading dimension of the array  VT.   LDVT  >=
                   max(1,N) if NCVT > 0; LDVT >= 1 if NCVT = 0.
    
         U         (input/output) DOUBLE PRECISION  array,  dimension
                   (LDU, N)
                   On entry, an NRU-by-N matrix U.   On  exit,  U  is
                   overwritten  by U * Q.  U is not referenced if NRU
                   = 0.
    
         LDU       (input) INTEGER
                   The leading dimension of  the  array  U.   LDU  >=
                   max(1,NRU).
    
         C         (input/output) DOUBLE PRECISION  array,  dimension
                   (LDC, NCC)
                   On entry, an N-by-NCC matrix C.   On  exit,  C  is
                   overwritten by Q' * C.  C is not referenced if NCC
                   = 0.
    
         LDC       (input) INTEGER
                   The leading dimension of  the  array  C.   LDC  >=
                   max(1,N) if NCC > 0; LDC >=1 if NCC = 0.
    
         WORK      (workspace) DOUBLE PRECISION array, dimension
                   2*N  if only singular values wanted (NCVT = NRU  =
                   NCC = 0) max( 1, 4*N-4 ) otherwise
    
         INFO      (output) INTEGER
                   = 0:  successful exit
                   < 0:  If INFO = -i, the i-th argument had an ille-
                   gal value
                   > 0:  the algorithm did not converge; D and E con-
                   tain  the elements of a bidiagonal matrix which is
                   orthogonally similar to the input  matrix  B;   if
                   INFO  =  i,  i elements of E have not converged to
                   zero.
    
    PARAMETERS
         TOLMUL  DOUBLE PRECISION, default  =  max(10,min(100,EPS**(-
                   1/8)))  TOLMUL  controls the convergence criterion
                   of the QR loop.  If it is positive, TOLMUL*EPS  is
                   the  desired  relative  precision  in the computed
                   singular   values.     If    it    is    negative,
                   abs(TOLMUL*EPS*sigma_max)  is the desired absolute
                   accuracy   in   the   computed   singular   values
                   (corresponds  to relative accuracy abs(TOLMUL*EPS)
                   in the largest singular value.  abs(TOLMUL) should
                   be  between 1 and 1/EPS, and preferably between 10
                   (for fast convergence) and .1/EPS (for there to be
                   some accuracy in the results).  Default is to lose
                   at either one eighth or 2 of the available decimal
                   digits  in each computed singular value (whichever
                   is smaller).
    
         MAXITR  INTEGER, default = 6  MAXITR  controls  the  maximum
                   number  of  passes  of  the  algorithm through its
                   inner loop. The algorithms stops (and so fails  to
                   converge)  if  the  number  of  passes through the
                   inner loop exceeds MAXITR*N**2.
    
    
    
    


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру