The OpenNET Project / Index page

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

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

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

chpevx (3)
  • >> chpevx (3) ( Solaris man: Библиотечные вызовы )
  • 
    NAME
         chpevx  -  compute  selected  eigenvalues  and,  optionally,
         eigenvectors  of  a  complex  Hermitian  matrix  A in packed
         storage
    
    SYNOPSIS
         SUBROUTINE CHPEVX( JOBZ, RANGE, UPLO, N, AP, VL, VU, IL, IU,
                   ABSTOL,  M,  W, Z, LDZ, WORK, RWORK, IWORK, IFAIL,
                   INFO )
    
         CHARACTER JOBZ, RANGE, UPLO
    
         INTEGER IL, INFO, IU, LDZ, M, N
    
         REAL ABSTOL, VL, VU
    
         INTEGER IFAIL( * ), IWORK( * )
    
         REAL RWORK( * ), W( * )
    
         COMPLEX AP( * ), WORK( * ), Z( LDZ, * )
    
    
    
         #include <sunperf.h>
    
         void chpevx(char jobz, char range, char uplo, int n, complex
                   *cap,  float  vl,  float vu, int il, int iu, float
                   abstol, int *m, float *w, complex  *cz,  int  ldz,
                   int *ifail, int *info) ;
    
    PURPOSE
         CHPEVX computes selected eigenvalues and, optionally, eigen-
         vectors  of  a complex Hermitian matrix A in packed storage.
         Eigenvalues/vectors can be selected by specifying  either  a
         range of values or a range of indices for the desired eigen-
         values.
    
    
    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.
    
         AP        (input/output)    COMPLEX     array,     dimension
                   (N*(N+1)/2)
                   On entry, the upper or lower triangle of the  Her-
                   mitian  matrix  A,  packed  columnwise in a linear
                   array.  The j-th column of  A  is  stored  in  the
                   array  AP  as  follows:  if UPLO = 'U', AP(i + (j-
                   1)*j/2) = A(i,j) for 1<=i<=j; if UPLO = 'L',  AP(i
                   + (j-1)*(2*n-j)/2) = A(i,j) for j<=i<=n.
    
                   On exit, AP is  overwritten  by  values  generated
                   during the reduction to tridiagonal form.  If UPLO
                   = 'U', the diagonal and first superdiagonal of the
                   tridiagonal  matrix  T overwrite the corresponding
                   elements of A, and if UPLO = 'L', the diagonal and
                   first subdiagonal of T overwrite the corresponding
                   elements of A.
    
         VL        (input) REAL
                   VU      (input) REAL 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) REAL
                   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 AP to tri-
                   diagonal form.
    
                   Eigenvalues will be computed most accurately  when
                   ABSTOL  is  set  to  twice the underflow threshold
                   2*SLAMCH('S'), not zero.  If this routine  returns
                   with INFO>0, indicating that some eigenvectors did
                   not converge, try setting ABSTOL to 2*SLAMCH('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) REAL array, dimension (N)
                   If INFO = 0, the selected eigenvalues in ascending
                   order.
    
         Z         (output) COMPLEX 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) COMPLEX array, dimension (2*N)
    
         RWORK     (workspace) REAL 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
    Добавить, Поддержать, Вебмастеру