NAME dstev - compute all eigenvalues and, optionally, eigenvec- tors of a real symmetric tridiagonal matrix A SYNOPSIS SUBROUTINE DSTEV( JOBZ, N, D, E, Z, LDZ, WORK, INFO ) CHARACTER JOBZ INTEGER INFO, LDZ, N DOUBLE PRECISION D( * ), E( * ), WORK( * ), Z( LDZ, * ) #include <sunperf.h> void dstev(char jobz, int n, double *d, double *e, double *dz, int ldz, int *info) ; PURPOSE DSTEV computes all eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix A. ARGUMENTS JOBZ (input) CHARACTER*1 = 'N': Compute eigenvalues only; = 'V': Compute eigenvalues and eigenvectors. N (input) INTEGER The order of the matrix. N >= 0. D (input/output) DOUBLE PRECISION array, dimension (N) On entry, the n diagonal elements of the tridiago- nal matrix A. On exit, if INFO = 0, the eigen- values in ascending order. E (input/output) DOUBLE PRECISION array, dimension (N) On entry, the (n-1) subdiagonal elements of the tridiagonal matrix A, stored in elements 1 to N-1 of E; E(N) need not be set, but is used by the routine. On exit, the contents of E are des- troyed. Z (output) DOUBLE PRECISION array, dimension (LDZ, N) If JOBZ = 'V', then if INFO = 0, Z contains the orthonormal eigenvectors of the matrix A, with the i-th column of Z holding the eigenvector associated with D(i). If JOBZ = 'N', then Z is not referenced. 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 (max(1,2*N-2)) If JOBZ = 'N', WORK 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, the algorithm failed to con- verge; i off-diagonal elements of E did not con- verge to zero.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |