The OpenNET Project / Index page

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

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

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

zstedc (3)
  • >> zstedc (3) ( Solaris man: Библиотечные вызовы )
  • 
    NAME
         zstedc - compute all eigenvalues and, optionally,  eigenvec-
         tors  of a symmetric tridiagonal matrix using the divide and
         conquer method
    
    SYNOPSIS
         SUBROUTINE ZSTEDC( COMPZ, N, D,  E,  Z,  LDZ,  WORK,  LWORK,
                   RWORK, LRWORK, IWORK, LIWORK, INFO )
    
         CHARACTER COMPZ
    
         INTEGER INFO, LDZ, LIWORK, LRWORK, LWORK, N
    
         INTEGER IWORK( * )
    
         DOUBLE PRECISION D( * ), E( * ), RWORK( * )
    
         COMPLEX*16 WORK( * ), Z( LDZ, * )
    
    
    
         #include <sunperf.h>
    
         void zstedc(char compz, int n, double *d, double  *e,  doub-
                   lecomplex *zz, int ldz, int *info) ;
    
    PURPOSE
         ZSTEDC computes all eigenvalues and,  optionally,  eigenvec-
         tors  of a symmetric tridiagonal matrix using the divide and
         conquer method.  The eigenvectors of a full or band  complex
         Hermitian  matrix  can  also be found if ZHETRD or ZHPTRD or
         ZHBTRD has been used to reduce this  matrix  to  tridiagonal
         form.
    
         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 X-MP, Cray Y-MP, Cray
         C-90, or Cray-2.  It could conceivably fail  on  hexadecimal
         or  decimal  machines  without  guard digits, but we know of
         none.  See DLAED3 for details.
    
    
    ARGUMENTS
         COMPZ     (input) CHARACTER*1
                   = 'N':  Compute eigenvalues only.
                   = 'I':  Compute eigenvectors of tridiagonal matrix
                   also.
                   = 'V':  Compute eigenvectors of original Hermitian
                   matrix  also.   On  entry,  Z contains the unitary
                   matrix used to reduce the original matrix to  tri-
                   diagonal form.
    
         N         (input) INTEGER
                   The dimension of the symmetric tridiagonal matrix.
                   N >= 0.
    
         D         (input/output) DOUBLE PRECISION  array,  dimension
                   (N)
                   On entry, the diagonal elements of the tridiagonal
                   matrix.   On exit, if INFO = 0, the eigenvalues in
                   ascending order.
    
         E         (input/output) DOUBLE PRECISION  array,  dimension
                   (N-1)
                   On entry, the subdiagonal elements of the tridiag-
                   onal matrix.  On exit, E has been destroyed.
    
         Z         (input/output) COMPLEX*16 array, dimension (LDZ,N)
                   On entry, if COMPZ = 'V', then Z contains the uni-
                   tary  matrix  used in the reduction to tridiagonal
                   form.  On exit, if INFO = 0, then if COMPZ =  'V',
                   Z  contains  the  orthonormal  eigenvectors of the
                   original Hermitian matrix, and if COMPZ =  'I',  Z
                   contains  the orthonormal eigenvectors of the sym-
                   metric tridiagonal matrix.  If  COMPZ = 'N',  then
                   Z is not referenced.
    
         LDZ       (input) INTEGER
                   The leading dimension of the array Z.  LDZ  >=  1.
                   If eigenvectors are desired, then LDZ >= max(1,N).
    
         WORK      (workspace/output)  COMPLEX*16  array,   dimension
                   (LWORK)
                   On exit, if LWORK > 0, WORK(1) returns the optimal
                   LWORK.
    
         LWORK     (input) INTEGER
                   The dimension of the array WORK.  If COMPZ  =  'N'
                   or  'I',  or N <= 1, LWORK must be at least 1.  If
                   COMPZ = 'V' and N > 1, LWORK must be at least N*N.
    
         RWORK     (workspace/output) DOUBLE PRECISION array,
                   dimension  (LRWORK)  On  exit,  if  LRWORK  >   0,
                   RWORK(1) returns the optimal LRWORK.
    
         LRWORK    (input) INTEGER
                   The dimension of the array RWORK.  If COMPZ =  'N'
                   or  N <= 1, LRWORK must be at least 1.  If COMPZ =
                   'V' and N > 1, LRWORK must be at least 1 +  3*N  +
                   2*N*lg  N  +  3*N**2  ,  where  lg( N ) = smallest
                   integer k such that 2**k >= N.  If COMPZ = 'I' and
                   N  > 1, LRWORK must be at least 1 + 3*N + 2*N*lg N
                   + 3*N**2 .
    
         IWORK     (workspace/output)   INTEGER   array,    dimension
                   (LIWORK)
                   On exit, if  LIWORK  >  0,  IWORK(1)  returns  the
                   optimal LIWORK.
    
         LIWORK    (input) INTEGER
                   The dimension of the array IWORK.  If COMPZ =  'N'
                   or  N <= 1, LIWORK must be at least 1.  If COMPZ =
                   'V' or N > 1,  LIWORK must be at least 6 +  6*N  +
                   5*N*lg  N.   If COMPZ = 'I' or N > 1,  LIWORK must
                   be at least 2 + 5*N .
    
         INFO      (output) INTEGER
                   = 0:  successful exit.
                   < 0:  if INFO = -i, the i-th argument had an ille-
                   gal value.
                   > 0:  The algorithm failed to  compute  an  eigen-
                   value while working on the submatrix lying in rows
                   and columns INFO/(N+1) through mod(INFO,N+1).
    
    
    
    


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




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

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