The OpenNET Project / Index page

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

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

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

dsbevx (3)
  • >> dsbevx (3) ( Solaris man: Библиотечные вызовы )
  • 
    NAME
         dsbevx  -  compute  selected  eigenvalues  and,  optionally,
         eigenvectors of a real symmetric band matrix A
    
    SYNOPSIS
         SUBROUTINE DSBEVX( JOBZ, RANGE, UPLO, N, KD,  AB,  LDAB,  Q,
                   LDQ,  VL,  VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK,
                   IWORK, IFAIL, INFO )
    
         CHARACTER JOBZ, RANGE, UPLO
    
         INTEGER IL, INFO, IU, KD, LDAB, LDQ, LDZ, M, N
    
         DOUBLE PRECISION ABSTOL, VL, VU
    
         INTEGER IFAIL( * ), IWORK( * )
    
         DOUBLE PRECISION AB( LDAB, * ), Q( LDQ, * ), W( * ), WORK( *
                   ), Z( LDZ, * )
    
    
    
         #include <sunperf.h>
    
         void dsbevx(char jobz, char range, char uplo, int n, int kd,
                   double  *dab, int ldab, double *q, int ldq, double
                   vl,
                    double vu, int il, int iu, double abstol, int *m,
                   double  *w,  double  *dz, int ldz, int *ifail, int
                   *info) ;
    
    PURPOSE
         DSBEVX computes selected eigenvalues and, optionally, eigen-
         vectors  of a real symmetric band matrix A.  Eigenvalues and
         eigenvectors can be selected by specifying either a range of
         values or a range of indices for the desired eigenvalues.
    
    
    ARGUMENTS
         JOBZ      (input) CHARACTER*1
                   = 'N':  Compute eigenvalues only;
                   = 'V':  Compute eigenvalues and eigenvectors.
    
         RANGE     (input) CHARACTER*1
                   = 'A': all eigenvalues will be found;
                   = 'V': all eigenvalues in the  half-open  interval
                   (VL,VU]  will  be  found; = 'I': the IL-th through
                   IU-th eigenvalues will be found.
    
         UPLO      (input) CHARACTER*1
                   = 'U':  Upper triangle of A is stored;
                   = 'L':  Lower triangle of A is stored.
    
         N         (input) INTEGER
                   The order of the matrix A.  N >= 0.
    
         KD        (input) INTEGER
                   The number of superdiagonals of the  matrix  A  if
                   UPLO  = 'U', or the number of subdiagonals if UPLO
                   = 'L'.  KD >= 0.
    
         AB        (input/output) DOUBLE PRECISION  array,  dimension
                   (LDAB, N)
                   On entry, the upper or lower triangle of the  sym-
                   metric  band  matrix  A,  stored in the first KD+1
                   rows of the array.  The j-th column of A is stored
                   in the j-th column of the array AB as follows:  if
                   UPLO = 'U', AB(kd+1+i-j,j) = A(i,j)  for  max(1,j-
                   kd)<=i<=j;  if UPLO = 'L', AB(1+i-j,j)    = A(i,j)
                   for j<=i<=min(n,j+kd).
    
                   On exit, AB is  overwritten  by  values  generated
                   during the reduction to tridiagonal form.  If UPLO
                   = 'U', the first superdiagonal and the diagonal of
                   the  tridiagonal  matrix T are returned in rows KD
                   and KD+1 of AB, and if UPLO =  'L',  the  diagonal
                   and  first  subdiagonal  of  T are returned in the
                   first two rows of AB.
    
         LDAB      (input) INTEGER
                   The leading dimension of the array AB.  LDAB >= KD
                   + 1.
    
         Q         (output) DOUBLE PRECISION array,  dimension  (LDQ,
                   N)
                   If JOBZ = 'V', the N-by-N orthogonal  matrix  used
                   in  the  reduction to tridiagonal form.  If JOBZ =
                   'N', the array Q is not referenced.
    
         LDQ       (input) INTEGER
                   The leading dimension of the array Q.  If  JOBZ  =
                   'V', then LDQ >= max(1,N).
    
         VL        (input) DOUBLE PRECISION
                   VU      (input) DOUBLE PRECISION If RANGE='V', the
                   lower  and  upper  bounds  of  the  interval to be
                   searched for eigenvalues. VL < VU.  Not referenced
                   if RANGE = 'A' or 'I'.
    
         IL        (input) INTEGER
                   IU      (input) INTEGER If RANGE='I', the  indices
                   (in  ascending  order) of the smallest and largest
                   eigenvalues to be returned.  1 <= IL <= IU  <=  N,
                   if  N > 0; IL = 1 and IU = 0 if N = 0.  Not refer-
                   enced if RANGE = 'A' or 'V'.
    
         ABSTOL    (input) DOUBLE PRECISION
                   The absolute error tolerance for the  eigenvalues.
                   An approximate eigenvalue is accepted as converged
                   when it is determined to lie in an interval  [a,b]
                   of width less than or equal to
    
                   ABSTOL + EPS *   max( |a|,|b| ) ,
    
                   where EPS is the machine precision.  If ABSTOL  is
                   less than or equal to zero, then  EPS*|T|  will be
                   used in its place, where |T| is the 1-norm of  the
                   tridiagonal matrix obtained by reducing AB to tri-
                   diagonal form.
    
                   Eigenvalues will be computed most accurately  when
                   ABSTOL  is  set  to  twice the underflow threshold
                   2*DLAMCH('S'), not zero.  If this routine  returns
                   with INFO>0, indicating that some eigenvectors did
                   not converge, try setting ABSTOL to 2*DLAMCH('S').
    
                   See "Computing Small Singular Values of Bidiagonal
                   Matrices  with Guaranteed High Relative Accuracy,"
                   by Demmel and Kahan, LAPACK Working Note #3.
    
         M         (output) INTEGER
                   The total number of eigenvalues found.  0 <= M  <=
                   N.  If RANGE = 'A', M = N, and if RANGE = 'I', M =
                   IU-IL+1.
    
         W         (output) DOUBLE PRECISION array, dimension (N)
                   The first M elements contain the  selected  eigen-
                   values in ascending order.
    
         Z         (output) DOUBLE PRECISION array,  dimension  (LDZ,
                   max(1,M))
                   If JOBZ = 'V', then if  INFO  =  0,  the  first  M
                   columns  of Z contain the orthonormal eigenvectors
                   of the matrix  A  corresponding  to  the  selected
                   eigenvalues, with the i-th column of Z holding the
                   eigenvector associated with W(i).  If an eigenvec-
                   tor  fails to converge, then that column of Z con-
                   tains the latest approximation to the eigenvector,
                   and  the  index  of the eigenvector is returned in
                   IFAIL.  If JOBZ = 'N', then Z is  not  referenced.
                   Note:  the user must ensure that at least max(1,M)
                   columns are supplied in the array Z;  if  RANGE  =
                   'V',  the exact value of M is not known in advance
                   and an upper bound must be used.
    
         LDZ       (input) INTEGER
                   The leading dimension of the array Z.  LDZ  >=  1,
                   and if JOBZ = 'V', LDZ >= max(1,N).
    
         WORK      (workspace)  DOUBLE  PRECISION  array,   dimension
                   (7*N)
    
         IWORK     (workspace) INTEGER array, dimension (5*N)
    
         IFAIL     (output) INTEGER array, dimension (N)
                   If JOBZ = 'V', then if INFO = 0, the first M  ele-
                   ments  of IFAIL are zero.  If INFO > 0, then IFAIL
                   contains the  indices  of  the  eigenvectors  that
                   failed  to converge.  If JOBZ = 'N', then IFAIL is
                   not referenced.
    
         INFO      (output) INTEGER
                   = 0:  successful exit.
                   < 0:  if INFO = -i, the i-th argument had an ille-
                   gal value.
                   > 0:  if INFO = i, then i eigenvectors  failed  to
                   converge.   Their  indices  are  stored  in  array
                   IFAIL.
    
    
    
    


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




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

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